
(object Petal
    version    	50
    _written   	"Rose 8.3.0407.2800"
    charSet    	0)

(object Class_Category "commonArchiveCore"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	(value Text "org.eclipse.jst.j2ee"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	(value Text "Commonarchive"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	(value Text "commonarchive.xmi")))
    quid       	"3A0DB68B0046"
    visible_categories 	(list visibility_relationship_list
	(object Visibility_Relationship
	    quid       	"3F2E8236025A"
	    supplier   	"Logical View::ejbext"
	    quidu      	"39AA86660190")
	(object Visibility_Relationship
	    quid       	"3F2E8236025B"
	    supplier   	"Logical View::webappext"
	    quidu      	"39B534FD024C")
	(object Visibility_Relationship
	    quid       	"3F2E8236025C"
	    supplier   	"Logical View::ejbbnd"
	    quidu      	"39B960FC03CA")
	(object Visibility_Relationship
	    quid       	"3F2E82360264"
	    supplier   	"Logical View::webappbnd"
	    quidu      	"39B961060107")
	(object Visibility_Relationship
	    quid       	"3F2E82360265"
	    supplier   	"Logical View::clientbnd"
	    quidu      	"39B9614F031F")
	(object Visibility_Relationship
	    quid       	"3F2E82360266"
	    supplier   	"Logical View::applicationext"
	    quidu      	"3A22E6080303")
	(object Visibility_Relationship
	    quid       	"3F2E82360267"
	    supplier   	"Logical View::applicationbnd"
	    quidu      	"39B9611502A4")
	(object Visibility_Relationship
	    quid       	"3F2E82360268"
	    supplier   	"Logical View::j2cbnd"
	    quidu      	"39B9632E038C"))
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "File"
	    quid       	"3A0DB75B00E5"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "URI"
		    quid       	"3A1012D900AA"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "lastModified"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3A1013300163"
		    type       	"long"
		    exportControl 	"Public")
		(object ClassAttribute "size"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3A101339008A"
		    type       	"long"
		    exportControl 	"Public")
		(object ClassAttribute "directoryEntry"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3A3150640092"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "originalURI"
		    attributes 	(list Attribute_Set)
		    quid       	"3A423640032C"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "Archive"
	    quid       	"3A0DB75F0177"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A54BF5D018C"
		    supplier   	"Logical View::commonArchiveCore::Container"
		    quidu      	"3A54BE55016E"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "types"
		    quid       	"3FA17B530039"
		    stereotype 	"0...*"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "EJBJarFile"
	    quid       	"3A0DBB250022"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A0DC27D03BE"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"))
	    language   	"Java")
	(object Class "WARFile"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"3A0DBB49018C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A0DC29003E4"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"))
	    language   	"Java")
	(object Class "EARFile"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"3A0DBB79007D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A36452000DE"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"))
	    language   	"Java")
	(object Class "ApplicationClientFile"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"3A0DBB810128"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A0DC2790214"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"))
	    language   	"Java")
	(object Class "ModuleFile"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"3A0DC1230136"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A0DC2CE00AE"
		    supplier   	"Logical View::commonArchiveCore::Archive"
		    quidu      	"3A0DB75F0177"))
	    language   	"Java"
	    abstract   	TRUE)
	(object Class "Container"
	    quid       	"3A54BE55016E"
	    stereotype 	"abstract"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A54C16801FC"
		    supplier   	"Logical View::commonArchiveCore::File"
		    quidu      	"3A0DB75B00E5"))
	    abstract   	TRUE)
	(object Class "ReadOnlyDirectory"
	    quid       	"3A54BEB0004D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A54BF750295"
		    supplier   	"Logical View::commonArchiveCore::Container"
		    quidu      	"3A54BE55016E")))
	(object Class "RARFile"
	    quid       	"3A6DEBCF03C5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A6DEBE701CB"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136")))
	(object Class "ModuleRef"
	    quid       	"3C711E300115"
	    abstract   	TRUE)
	(object Class "EJBModuleRef"
	    quid       	"3C7125A802A5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C712A1D0165"
		    supplier   	"Logical View::commonArchiveCore::ModuleRef"
		    quidu      	"3C711E300115")))
	(object Class "WebModuleRef"
	    quid       	"3C7125B10293"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C712A2001EB"
		    supplier   	"Logical View::commonArchiveCore::ModuleRef"
		    quidu      	"3C711E300115")))
	(object Class "ClientModuleRef"
	    quid       	"3C7125B90259"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C712A23031C"
		    supplier   	"Logical View::commonArchiveCore::ModuleRef"
		    quidu      	"3C711E300115")))
	(object Class "ConnectorModuleRef"
	    quid       	"3C7125C600E5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C712A2B025F"
		    supplier   	"Logical View::commonArchiveCore::ModuleRef"
		    quidu      	"3C711E300115")))
	(object Association "$UNNAMED$0"
	    quid       	"3A0DC23C0270"
	    roles      	(list role_list
		(object Role "/moduleFiles"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3A0DC23D014F"
		    label      	"/moduleFiles"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "earFile"
		    quid       	"3A0DC23D02FE"
		    label      	"earFile"
		    supplier   	"Logical View::commonArchiveCore::EARFile"
		    quidu      	"3A0DBB79007D"
		    client_cardinality 	(value cardinality "0..1"))))
	(object Association "$UNNAMED$1"
	    quid       	"3A3A953E00A9"
	    roles      	(list role_list
		(object Role "loadingContainer"
		    quid       	"3A3A953F0082"
		    label      	"loadingContainer"
		    supplier   	"Logical View::commonArchiveCore::Container"
		    quidu      	"3A54BE55016E"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$2"
		    quid       	"3A3A953F00AA"
		    supplier   	"Logical View::commonArchiveCore::File"
		    quidu      	"3A0DB75B00E5")))
	(object Association "$UNNAMED$3"
	    quid       	"3A54BF4E0022"
	    roles      	(list role_list
		(object Role "container"
		    quid       	"3A54BF4E0023"
		    label      	"container"
		    supplier   	"Logical View::commonArchiveCore::Container"
		    quidu      	"3A54BE55016E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "files"
		    quid       	"3A54BF4E0024"
		    label      	"files"
		    supplier   	"Logical View::commonArchiveCore::File"
		    quidu      	"3A0DB75B00E5"
		    client_cardinality 	(value cardinality "0..*")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$4"
	    quid       	"3C711EF902F4"
	    roles      	(list role_list
		(object Role "moduleFile"
		    quid       	"3C711EFA024C"
		    label      	"moduleFile"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$5"
		    quid       	"3C711EFA024E"
		    supplier   	"Logical View::commonArchiveCore::ModuleRef"
		    quidu      	"3C711E300115"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$6"
	    quid       	"3C712223019B"
	    roles      	(list role_list
		(object Role "moduleRefs"
		    quid       	"3C7122240246"
		    label      	"moduleRefs"
		    supplier   	"Logical View::commonArchiveCore::ModuleRef"
		    quidu      	"3C711E300115"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "earFile"
		    quid       	"3C7122240248"
		    label      	"earFile"
		    supplier   	"Logical View::commonArchiveCore::EARFile"
		    quidu      	"3A0DBB79007D"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$7"
	    quid       	"3F297D500278"
	    roles      	(list role_list
		(object Role "warFile"
		    quid       	"3F297D500279"
		    label      	"warFile"
		    supplier   	"Logical View::commonArchiveCore::WARFile"
		    quidu      	"3A0DBB49018C")
		(object Role "deploymentDescriptor"
		    quid       	"3F297D50027A"
		    label      	"deploymentDescriptor"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$8"
	    quid       	"3F297E2800B5"
	    roles      	(list role_list
		(object Role "ejbJarFile"
		    quid       	"3F297E2800B6"
		    label      	"ejbJarFile"
		    supplier   	"Logical View::commonArchiveCore::EJBJarFile"
		    quidu      	"3A0DBB250022")
		(object Role "deploymentDescriptor"
		    quid       	"3F297E2800B7"
		    label      	"deploymentDescriptor"
		    supplier   	"Logical View::ejb::EJBJar"
		    quidu      	"371BC55D01E1"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$9"
	    quid       	"3F297F6E0245"
	    roles      	(list role_list
		(object Role "earFile"
		    quid       	"3F297F6E0246"
		    label      	"earFile"
		    supplier   	"Logical View::commonArchiveCore::EARFile"
		    quidu      	"3A0DBB79007D")
		(object Role "deploymentDescriptor"
		    quid       	"3F297F6E0247"
		    label      	"deploymentDescriptor"
		    supplier   	"Logical View::application::Application"
		    quidu      	"38C030A803B1"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$10"
	    quid       	"3F298321035F"
	    roles      	(list role_list
		(object Role "deploymentDescriptor"
		    quid       	"3F2983220284"
		    label      	"deploymentDescriptor"
		    supplier   	"Logical View::jca::Connector"
		    quidu      	"3C609091010F"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$11"
		    quid       	"3F2983220298"
		    supplier   	"Logical View::commonArchiveCore::RARFile"
		    quidu      	"3A6DEBCF03C5")))
	(object Association "$UNNAMED$12"
	    quid       	"3F298462039D"
	    roles      	(list role_list
		(object Role "$UNNAMED$13"
		    quid       	"3F298462039E"
		    supplier   	"Logical View::commonArchiveCore::ApplicationClientFile"
		    quidu      	"3A0DBB810128")
		(object Role "deploymentDescriptor"
		    quid       	"3F298462039F"
		    label      	"deploymentDescriptor"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$14"
	    quid       	"430A92520127"
	    roles      	(list role_list
		(object Role "module"
		    quid       	"430A92530147"
		    label      	"module"
		    supplier   	"Logical View::application::Module"
		    quidu      	"38C0322C0006"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$15"
		    quid       	"430A92530149"
		    supplier   	"Logical View::commonArchiveCore::ModuleRef"
		    quidu      	"3C711E300115")))
	(object Class_Category "looseconfig"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Ecore"
		    name       	"prefix"
		    value      	(value Text "Looseconfig"))
		(object Attribute
		    tool       	"Ecore"
		    name       	"basePackage"
		    value      	(value Text "org.eclipse.jst.j2ee.commonarchivecore"))
		(object Attribute
		    tool       	"Ecore"
		    name       	"nsURI"
		    value      	(value Text "commonarchive.looseconfig.xmi")))
	    quid       	"3C71147E033D"
	    exportControl 	"Public"
	    logical_models 	(list unit_reference_list
		(object Class "LooseApplication"
		    quid       	"3C56EB4E006A"
		    superclasses 	(list inheritance_relationship_list
			(object Inheritance_Relationship
			    quid       	"3C753DEE00EA"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseArchive"
			    quidu      	"3C56EAAF006C")))
		(object Class "LooseArchive"
		    quid       	"3C56EAAF006C"
		    operations 	(list Operations
			(object Operation "isModule"
			    quid       	"3C5ABFC303DE"
			    result     	"boolean"
			    concurrency 	"Sequential"
			    opExportControl 	"Public"
			    uid        	0))
		    class_attributes 	(list class_attribute_list
			(object ClassAttribute "uri"
			    quid       	"3C56EB9C01A3"
			    type       	"String"
			    exportControl 	"Public")
			(object ClassAttribute "binariesPath"
			    quid       	"3C56EBA900BB"
			    type       	"String"
			    exportControl 	"Public")
			(object ClassAttribute "resourcesPath"
			    quid       	"3C711DD3020B"
			    type       	"String"
			    exportControl 	"Public"))
		    abstract   	TRUE)
		(object Class "LooseLibrary"
		    quid       	"3C5AF7AC0028"
		    superclasses 	(list inheritance_relationship_list
			(object Inheritance_Relationship
			    quid       	"3C5AF7C2037C"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseArchive"
			    quidu      	"3C56EAAF006C")))
		(object Class "LooseModule"
		    quid       	"3C5ABEFE0290"
		    superclasses 	(list inheritance_relationship_list
			(object Inheritance_Relationship
			    quid       	"3C5AC03900EE"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseArchive"
			    quidu      	"3C56EAAF006C"))
		    class_attributes 	(list class_attribute_list
			(object ClassAttribute "altDD"
			    quid       	"3C5ABFFA021A"
			    type       	"String"
			    exportControl 	"Public")))
		(object Class "LooseConfiguration"
		    quid       	"3C56E92C00BF")
		(object Class "LooseWARFile"
		    quid       	"3C5AF7DB018E"
		    superclasses 	(list inheritance_relationship_list
			(object Inheritance_Relationship
			    quid       	"3C5AF7F5028F"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseModule"
			    quidu      	"3C5ABEFE0290")))
		(object Association "$UNNAMED$16"
		    quid       	"3C56FDE60173"
		    roles      	(list role_list
			(object Role "applications"
			    quid       	"3C56FDE702DD"
			    label      	"applications"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseApplication"
			    quidu      	"3C56EB4E006A"
			    client_cardinality 	(value cardinality "0..n")
			    Containment 	"By Value"
			    is_navigable 	TRUE)
			(object Role "$UNNAMED$17"
			    quid       	"3C56FDE702DF"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseConfiguration"
			    quidu      	"3C56E92C00BF"
			    is_aggregate 	TRUE)))
		(object Association "$UNNAMED$18"
		    quid       	"3C56FDEF0018"
		    roles      	(list role_list
			(object Role "looseArchives"
			    quid       	"3C56FDF00023"
			    label      	"looseArchives"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseArchive"
			    quidu      	"3C56EAAF006C"
			    client_cardinality 	(value cardinality "0..n")
			    Containment 	"By Value"
			    is_navigable 	TRUE)
			(object Role "looseApp"
			    quid       	"3C56FDF00025"
			    label      	"looseApp"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseApplication"
			    quidu      	"3C56EB4E006A"
			    is_navigable 	TRUE
			    is_aggregate 	TRUE)))
		(object Association "$UNNAMED$19"
		    quid       	"3C5AF80200DF"
		    roles      	(list role_list
			(object Role "looseLibs"
			    quid       	"3C5AF8030087"
			    label      	"looseLibs"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseLibrary"
			    quidu      	"3C5AF7AC0028"
			    client_cardinality 	(value cardinality "0..n")
			    Containment 	"By Value"
			    is_navigable 	TRUE)
			(object Role "looseWAR"
			    quid       	"3C5AF8030089"
			    label      	"looseWAR"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseWARFile"
			    quidu      	"3C5AF7DB018E"
			    is_navigable 	TRUE
			    is_aggregate 	TRUE))))
	    logical_presentations 	(list unit_reference_list
		(object ClassDiagram "Main"
		    quid       	"3C56E9120173"
		    title      	"Main"
		    zoom       	100
		    max_height 	28350
		    max_width  	21600
		    origin_x   	0
		    origin_y   	0
		    items      	(list diagram_item_list
			(object ClassView "Class" "Logical View::commonArchiveCore::looseconfig::LooseConfiguration" @1
			    ShowCompartmentStereotypes 	TRUE
			    IncludeAttribute 	TRUE
			    IncludeOperation 	TRUE
			    location   	(384, 160)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@1
				location   	(162, 110)
				fill_color 	13434879
				nlines     	1
				max_width  	444
				justify    	0
				label      	"LooseConfiguration")
			    icon_style 	"Icon"
			    line_color 	3342489
			    fill_color 	13434879
			    quidu      	"3C56E92C00BF"
			    width      	462
			    height     	124
			    annotation 	8
			    autoResize 	TRUE)
			(object ClassView "Class" "Logical View::commonArchiveCore::looseconfig::LooseArchive" @2
			    ShowCompartmentStereotypes 	TRUE
			    IncludeAttribute 	TRUE
			    IncludeOperation 	TRUE
			    location   	(1312, 224)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	TRUE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@2
				location   	(1141, 174)
				fill_color 	13434879
				nlines     	1
				max_width  	342
				justify    	0
				label      	"LooseArchive")
			    icon_style 	"Icon"
			    line_color 	3342489
			    fill_color 	13434879
			    quidu      	"3C56EAAF006C"
			    width      	360
			    height     	124
			    annotation 	8
			    autoResize 	TRUE)
			(object ClassView "Class" "Logical View::commonArchiveCore::looseconfig::LooseApplication" @3
			    ShowCompartmentStereotypes 	TRUE
			    IncludeAttribute 	TRUE
			    IncludeOperation 	TRUE
			    location   	(368, 848)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@3
				location   	(161, 798)
				fill_color 	13434879
				nlines     	1
				max_width  	414
				justify    	0
				label      	"LooseApplication")
			    icon_style 	"Icon"
			    line_color 	3342489
			    fill_color 	13434879
			    quidu      	"3C56EB4E006A"
			    width      	432
			    height     	124
			    annotation 	8
			    autoResize 	TRUE)
			(object AssociationViewNew "$UNNAMED$16" @4
			    location   	(281, 503)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C56FDE60173"
			    roleview_list 	(list RoleViews
				(object RoleView "applications" @5
				    Parent_View 	@4
				    location   	(-103, 375)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    label      	(object SegLabel @6
					Parent_View 	@5
					location   	(143, 694)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	1
					anchor_loc 	1
					nlines     	1
					max_width  	247
					justify    	0
					label      	"+applications"
					pctDist    	0.679688
					height     	139
					orientation 	1)
				    stereotype 	TRUE
				    line_color 	3342489
				    quidu      	"3C56FDE702DD"
				    client     	@4
				    supplier   	@3
				    vertices   	(list Points
					(281, 503)
					(281, 786))
				    line_style 	3
				    origin_attachment 	(281, 503)
				    terminal_attachment 	(281, 786)
				    label      	(object SegLabel @7
					Parent_View 	@5
					location   	(334, 649)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	2
					anchor_loc 	1
					nlines     	1
					max_width  	15
					justify    	0
					label      	"0..n"
					pctDist    	0.516854
					height     	53
					orientation 	0))
				(object RoleView "$UNNAMED$17" @8
				    Parent_View 	@4
				    location   	(-103, 375)
				    stereotype 	TRUE
				    line_color 	3342489
				    quidu      	"3C56FDE702DF"
				    client     	@4
				    supplier   	@1
				    vertices   	(list Points
					(281, 503)
					(281, 221))
				    line_style 	3
				    origin_attachment 	(281, 503)
				    terminal_attachment 	(281, 221))))
			(object AssociationViewNew "$UNNAMED$18" @9
			    location   	(546, 284)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C56FDEF0018"
			    roleview_list 	(list RoleViews
				(object RoleView "looseArchives" @10
				    Parent_View 	@9
				    location   	(162, -324)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    label      	(object SegLabel @11
					Parent_View 	@10
					location   	(941, 245)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	1
					anchor_loc 	1
					nlines     	1
					max_width  	285
					justify    	0
					label      	"+looseArchives"
					pctDist    	0.676245
					height     	40
					orientation 	0)
				    stereotype 	TRUE
				    line_color 	3342489
				    quidu      	"3C56FDF00023"
				    client     	@9
				    supplier   	@2
				    vertices   	(list Points
					(546, 284)
					(1132, 284))
				    line_style 	3
				    origin_attachment 	(546, 284)
				    terminal_attachment 	(1132, 284)
				    label      	(object SegLabel @12
					Parent_View 	@10
					location   	(995, 324)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	2
					anchor_loc 	1
					nlines     	1
					max_width  	15
					justify    	0
					label      	"0..n"
					pctDist    	0.766284
					height     	40
					orientation 	1))
				(object RoleView "looseApp" @13
				    Parent_View 	@9
				    location   	(162, -324)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    label      	(object SegLabel @14
					Parent_View 	@13
					location   	(566, 612)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	1
					anchor_loc 	1
					nlines     	1
					max_width  	208
					justify    	0
					label      	"+looseApp"
					pctDist    	0.702495
					height     	103
					orientation 	0)
				    stereotype 	TRUE
				    line_color 	3342489
				    quidu      	"3C56FDF00025"
				    client     	@9
				    supplier   	@3
				    vertices   	(list Points
					(546, 284)
					(463, 284)
					(463, 786))
				    line_style 	3
				    origin_attachment 	(546, 284)
				    terminal_attachment 	(463, 786))))
			(object NoteView @15
			    location   	(448, 1680)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@15
				location   	(44, 1543)
				fill_color 	13434879
				nlines     	5
				max_width  	772
				label      	"Assumption:  For a given running server, there exists only one config with a set of applications")
			    line_color 	3342489
			    fill_color 	13434879
			    width      	832
			    height     	287)
			(object ClassView "Class" "Logical View::commonArchiveCore::looseconfig::LooseModule" @16
			    ShowCompartmentStereotypes 	TRUE
			    IncludeAttribute 	TRUE
			    IncludeOperation 	TRUE
			    location   	(1632, 896)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@16
				location   	(1466, 846)
				fill_color 	13434879
				nlines     	1
				max_width  	332
				justify    	0
				label      	"LooseModule")
			    icon_style 	"Icon"
			    line_color 	3342489
			    fill_color 	13434879
			    quidu      	"3C5ABEFE0290"
			    width      	350
			    height     	124
			    annotation 	8
			    autoResize 	TRUE)
			(object ClassView "Class" "Logical View::commonArchiveCore::looseconfig::LooseLibrary" @17
			    ShowCompartmentStereotypes 	TRUE
			    IncludeAttribute 	TRUE
			    IncludeOperation 	TRUE
			    location   	(928, 912)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@17
				location   	(775, 862)
				fill_color 	13434879
				nlines     	1
				max_width  	306
				justify    	0
				label      	"LooseLibrary")
			    icon_style 	"Icon"
			    line_color 	3342489
			    fill_color 	13434879
			    quidu      	"3C5AF7AC0028"
			    width      	324
			    height     	124
			    annotation 	8
			    autoResize 	TRUE)
			(object ClassView "Class" "Logical View::commonArchiveCore::looseconfig::LooseWARFile" @18
			    ShowCompartmentStereotypes 	TRUE
			    IncludeAttribute 	TRUE
			    IncludeOperation 	TRUE
			    location   	(1648, 1328)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@18
				location   	(1462, 1278)
				fill_color 	13434879
				nlines     	1
				max_width  	372
				justify    	0
				label      	"LooseWARFile")
			    icon_style 	"Icon"
			    line_color 	3342489
			    fill_color 	13434879
			    quidu      	"3C5AF7DB018E"
			    width      	390
			    height     	124
			    annotation 	8
			    autoResize 	TRUE)
			(object AssociationViewNew "$UNNAMED$19" @19
			    location   	(1006, 1312)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C5AF80200DF"
			    roleview_list 	(list RoleViews
				(object RoleView "looseLibs" @20
				    Parent_View 	@19
				    location   	(-642, -128)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    label      	(object SegLabel @21
					Parent_View 	@20
					location   	(791, 1017)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	1
					anchor_loc 	1
					nlines     	1
					max_width  	196
					justify    	0
					label      	"+looseLibs"
					pctDist    	0.905963
					height     	107
					orientation 	0)
				    stereotype 	TRUE
				    line_color 	3342489
				    quidu      	"3C5AF8030087"
				    client     	@19
				    supplier   	@17
				    vertices   	(list Points
					(1006, 1312)
					(897, 1312)
					(897, 974))
				    line_style 	3
				    origin_attachment 	(1006, 1312)
				    terminal_attachment 	(897, 974)
				    label      	(object SegLabel @22
					Parent_View 	@20
					location   	(951, 1019)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	2
					anchor_loc 	1
					nlines     	1
					max_width  	15
					justify    	0
					label      	"0..n"
					pctDist    	0.900000
					height     	54
					orientation 	1))
				(object RoleView "looseWAR" @23
				    Parent_View 	@19
				    location   	(-642, -128)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    label      	(object SegLabel @24
					Parent_View 	@23
					location   	(1311, 1272)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					anchor     	1
					anchor_loc 	1
					nlines     	1
					max_width  	226
					justify    	0
					label      	"+looseWAR"
					pctDist    	0.683973
					height     	41
					orientation 	0)
				    stereotype 	TRUE
				    line_color 	3342489
				    quidu      	"3C5AF8030089"
				    client     	@19
				    supplier   	@18
				    vertices   	(list Points
					(1006, 1312)
					(1453, 1312))
				    line_style 	3
				    origin_attachment 	(1006, 1312)
				    terminal_attachment 	(1453, 1312))))
			(object NoteView @25
			    location   	(1952, 320)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object ItemLabel
				Parent_View 	@25
				location   	(1755, 133)
				fill_color 	13434879
				nlines     	7
				max_width  	359
				label      	
|uri is either relative to the EAR root or WEB-INF/lib.
|binariesPath and resourcesPath are absolute
				)
			    line_color 	3342489
			    fill_color 	13434879
			    width      	419
			    height     	387)
			(object InheritView "" @26
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C5AF7F5028F"
			    client     	@18
			    supplier   	@16
			    vertices   	(list Points
				(1606, 1266)
				(1606, 958))
			    line_style 	3
			    origin_attachment 	(1606, 1266)
			    terminal_attachment 	(1606, 958))
			(object InheritTreeView "" @27
			    location   	(1312, 703)
			    line_color 	3342489
			    fill_color 	13434879
			    supplier   	@2
			    vertices   	(list Points
				(1312, 703)
				(1312, 286)))
			(object InheritView "" @28
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C5AC03900EE"
			    client     	@16
			    supplier   	@2
			    vertices   	(list Points
				(1650, 834)
				(1650, 703))
			    line_style 	3
			    origin_attachment 	(1650, 834)
			    terminal_attachment 	(1650, 703)
			    drawSupplier 	@27)
			(object InheritView "" @29
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C5AF7C2037C"
			    client     	@17
			    supplier   	@2
			    vertices   	(list Points
				(913, 850)
				(913, 703))
			    line_style 	3
			    origin_attachment 	(913, 850)
			    terminal_attachment 	(913, 703)
			    drawSupplier 	@27)
			(object InheritView "" @30
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C753DEE00EA"
			    client     	@3
			    supplier   	@2
			    vertices   	(list Points
				(513, 786)
				(513, 703))
			    line_style 	3
			    origin_attachment 	(513, 786)
			    terminal_attachment 	(513, 703)
			    drawSupplier 	@27))))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "common archive"
	    quid       	"3A0DB75100E1"
	    title      	"common archive"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	919
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::commonArchiveCore::EJBJarFile" @31
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1440, 1792)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@31
			location   	(1321, 1741)
			fill_color 	13434879
			nlines     	1
			max_width  	238
			justify    	0
			label      	"EJBJarFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB250022"
		    width      	256
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::ApplicationClientFile" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1824, 1792)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@32
			location   	(1620, 1741)
			fill_color 	13434879
			nlines     	1
			max_width  	408
			justify    	0
			label      	"ApplicationClientFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB810128"
		    width      	426
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object NoteView @33
		    location   	(1328, 272)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@33
			location   	(906, 119)
			fill_color 	13434879
			nlines     	6
			max_width  	808
			label      	"The loading container is the original container from which the file was opened.  If the file is copied and the copy added to a new archive, the new file can still get an input stream on itself from the loading container.")
		    line_color 	3342489
		    fill_color 	13434879
		    width      	868
		    height     	319)
		(object ClassView "Class" "Logical View::commonArchiveCore::ReadOnlyDirectory" @34
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(896, 1136)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@34
			location   	(704, 1085)
			fill_color 	13434879
			nlines     	1
			max_width  	384
			justify    	0
			label      	"ReadOnlyDirectory")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A54BEB0004D"
		    width      	402
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::Container" @35
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(480, 832)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@35
			location   	(315, 804)
			fill_color 	13434879
			nlines     	1
			max_width  	330
			justify    	0
			label      	"Container")
		    stereotype 	(object ItemLabel
			Parent_View 	@35
			location   	(315, 754)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	330
			justify    	0
			label      	"<<abstract>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A54BE55016E"
		    width      	348
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::File" @36
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 384)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@36
			location   	(254, 203)
			fill_color 	13434879
			nlines     	1
			max_width  	484
			justify    	0
			label      	"File")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DB75B00E5"
		    compartment 	(object Compartment
			Parent_View 	@36
			location   	(254, 264)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	6
			max_width  	481)
		    width      	502
		    height     	386
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$3" @37
		    location   	(113, 601)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54BF4E0022"
		    roleview_list 	(list RoleViews
			(object RoleView "files" @38
			    Parent_View 	@37
			    location   	(-591, -103)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @39
				Parent_View 	@38
				location   	(174, 272)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	108
				justify    	0
				label      	"+files"
				pctDist    	0.830532
				height     	50
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A54BF4E0024"
			    client     	@37
			    supplier   	@36
			    vertices   	(list Points
				(113, 601)
				(113, 321)
				(245, 321))
			    line_style 	3
			    origin_attachment 	(113, 601)
			    terminal_attachment 	(245, 321)
			    label      	(object SegLabel @40
				Parent_View 	@38
				location   	(203, 375)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "container" @41
			    Parent_View 	@37
			    location   	(-591, -103)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @42
				Parent_View 	@41
				location   	(193, 861)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	194
				justify    	0
				label      	"+container"
				pctDist    	0.725352
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A54BF4E0023"
			    client     	@37
			    supplier   	@35
			    vertices   	(list Points
				(113, 601)
				(113, 819)
				(306, 819))
			    line_style 	3
			    origin_attachment 	(113, 601)
			    terminal_attachment 	(306, 819)
			    label      	(object SegLabel @43
				Parent_View 	@41
				location   	(245, 771)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.854460
				height     	49
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$1" @44
		    location   	(828, 678)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A3A953E00A9"
		    roleview_list 	(list RoleViews
			(object RoleView "loadingContainer" @45
			    Parent_View 	@44
			    location   	(332, 294)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @46
				Parent_View 	@45
				location   	(1003, 757)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	324
				justify    	0
				label      	"+loadingContainer"
				pctDist    	0.249344
				height     	175
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A3A953F0082"
			    client     	@44
			    supplier   	@35
			    vertices   	(list Points
				(828, 678)
				(828, 821)
				(654, 821))
			    line_style 	3
			    origin_attachment 	(828, 678)
			    terminal_attachment 	(654, 821)
			    label      	(object SegLabel @47
				Parent_View 	@45
				location   	(686, 875)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$2" @48
			    Parent_View 	@44
			    location   	(332, 294)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A3A953F00AA"
			    client     	@44
			    supplier   	@36
			    vertices   	(list Points
				(828, 678)
				(828, 441)
				(747, 441))
			    line_style 	3
			    origin_attachment 	(828, 678)
			    terminal_attachment 	(747, 441))))
		(object AttachView "" @49
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@33
		    supplier   	@44
		    vertices   	(list Points
			(1130, 431)
			(828, 678))
		    line_style 	0)
		(object InheritView "" @50
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54C16801FC"
		    client     	@35
		    supplier   	@36
		    vertices   	(list Points
			(483, 741)
			(489, 577))
		    line_style 	0)
		(object ClassView "Class" "Logical View::commonArchiveCore::Archive" @51
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(336, 1216)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@51
			location   	(94, 1135)
			fill_color 	13434879
			nlines     	1
			max_width  	484
			justify    	0
			label      	"Archive")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DB75F0177"
		    compartment 	(object Compartment
			Parent_View 	@51
			location   	(94, 1196)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	482)
		    width      	502
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @52
		    location   	(480, 1013)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@35
		    vertices   	(list Points
			(480, 1013)
			(480, 922)))
		(object InheritView "" @53
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54BF750295"
		    client     	@34
		    supplier   	@35
		    vertices   	(list Points
			(851, 1073)
			(851, 1013))
		    line_style 	3
		    origin_attachment 	(851, 1073)
		    terminal_attachment 	(851, 1013)
		    drawSupplier 	@52)
		(object InheritView "" @54
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54BF5D018C"
		    client     	@51
		    supplier   	@35
		    vertices   	(list Points
			(266, 1123)
			(266, 1013))
		    line_style 	3
		    origin_attachment 	(266, 1123)
		    terminal_attachment 	(266, 1013)
		    drawSupplier 	@52)
		(object ClassView "Class" "Logical View::commonArchiveCore::WARFile" @55
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1168, 1792)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@55
			location   	(1064, 1741)
			fill_color 	13434879
			nlines     	1
			max_width  	208
			justify    	0
			label      	"WARFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB49018C"
		    width      	226
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::RARFile" @56
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(928, 1792)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@56
			location   	(836, 1741)
			fill_color 	13434879
			nlines     	1
			max_width  	184
			justify    	0
			label      	"RARFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A6DEBCF03C5"
		    width      	202
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @57
		    location   	(336, 1510)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@51
		    vertices   	(list Points
			(336, 1510)
			(336, 1309)))
		(object ClassView "Class" "Logical View::commonArchiveCore::ModuleFile" @58
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(928, 1536)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@58
			location   	(817, 1485)
			fill_color 	13434879
			nlines     	1
			max_width  	222
			justify    	0
			label      	"ModuleFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DC1230136"
		    width      	240
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @59
		    location   	(928, 1706)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@58
		    vertices   	(list Points
			(928, 1706)
			(928, 1599)))
		(object InheritView "" @60
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC27D03BE"
		    client     	@31
		    supplier   	@58
		    vertices   	(list Points
			(1425, 1729)
			(1425, 1706))
		    line_style 	3
		    origin_attachment 	(1425, 1729)
		    terminal_attachment 	(1425, 1706)
		    drawSupplier 	@59)
		(object InheritView "" @61
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC2790214"
		    client     	@32
		    supplier   	@58
		    vertices   	(list Points
			(1611, 1729)
			(1611, 1706))
		    line_style 	3
		    origin_attachment 	(1611, 1729)
		    terminal_attachment 	(1611, 1706)
		    drawSupplier 	@59)
		(object InheritView "" @62
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC2CE00AE"
		    client     	@58
		    supplier   	@51
		    vertices   	(list Points
			(817, 1536)
			(817, 1510))
		    line_style 	3
		    origin_attachment 	(817, 1536)
		    terminal_attachment 	(817, 1510)
		    drawSupplier 	@57)
		(object InheritView "" @63
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC29003E4"
		    client     	@55
		    supplier   	@58
		    vertices   	(list Points
			(1168, 1729)
			(1168, 1706))
		    line_style 	3
		    origin_attachment 	(1168, 1729)
		    terminal_attachment 	(1168, 1706)
		    drawSupplier 	@59)
		(object InheritView "" @64
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A6DEBE701CB"
		    client     	@56
		    supplier   	@58
		    vertices   	(list Points
			(929, 1729)
			(929, 1706))
		    line_style 	3
		    origin_attachment 	(929, 1729)
		    terminal_attachment 	(929, 1706)
		    drawSupplier 	@59)
		(object ClassView "Class" "Logical View::commonArchiveCore::EARFile" @65
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(736, 1984)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@65
			location   	(644, 1933)
			fill_color 	13434879
			nlines     	1
			max_width  	184
			justify    	0
			label      	"EARFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB79007D"
		    width      	202
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$0" @66
		    location   	(647, 1720)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC23C0270"
		    roleview_list 	(list RoleViews
			(object RoleView "/moduleFiles" @67
			    Parent_View 	@66
			    location   	(-169, 760)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @68
				Parent_View 	@67
				location   	(621, 1832)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	272
				justify    	0
				label      	"+/moduleFiles"
				pctDist    	-0.383333
				height     	27
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A0DC23D014F"
			    client     	@66
			    supplier   	@58
			    vertices   	(list Points
				(647, 1720)
				(647, 1660)
				(821, 1660)
				(821, 1599))
			    line_style 	3
			    origin_attachment 	(647, 1720)
			    terminal_attachment 	(821, 1599)
			    label      	(object SegLabel @69
				Parent_View 	@67
				location   	(714, 1691)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.432515
				height     	31
				orientation 	1))
			(object RoleView "earFile" @70
			    Parent_View 	@66
			    location   	(-169, 760)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A0DC23D02FE"
			    client     	@66
			    supplier   	@65
			    vertices   	(list Points
				(647, 1720)
				(647, 1921))
			    line_style 	3
			    origin_attachment 	(647, 1720)
			    terminal_attachment 	(647, 1921)
			    label      	(object SegLabel @71
				Parent_View 	@70
				location   	(613, 1897)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.884161
				height     	35
				orientation 	1))))
		(object InheritView "" @72
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A36452000DE"
		    client     	@65
		    supplier   	@58
		    vertices   	(list Points
			(769, 1921)
			(769, 1706))
		    line_style 	3
		    origin_attachment 	(769, 1921)
		    terminal_attachment 	(769, 1706)
		    drawSupplier 	@59)
		(object ClassView "Class" "Logical View::application::Application" @73
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2064, 2032)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@73
			location   	(1908, 1953)
			nlines     	1
			max_width  	312
			justify    	0
			label      	"Application")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C030A803B1"
		    width      	330
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$9" @74
		    location   	(1368, 2015)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F297F6E0245"
		    roleview_list 	(list RoleViews
			(object RoleView "deploymentDescriptor" @75
			    Parent_View 	@74
			    location   	(632, 31)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @76
				Parent_View 	@75
				location   	(1793, 1974)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	423
				justify    	0
				label      	"+deploymentDescriptor"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297F6E0247"
			    client     	@74
			    supplier   	@73
			    vertices   	(list Points
				(1368, 2015)
				(1899, 2015))
			    line_style 	3
			    origin_attachment 	(1368, 2015)
			    terminal_attachment 	(1899, 2015)
			    label      	(object SegLabel @77
				Parent_View 	@75
				location   	(1846, 2069)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "earFile" @78
			    Parent_View 	@74
			    location   	(632, 31)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @79
				Parent_View 	@78
				location   	(943, 1974)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	149
				justify    	0
				label      	"+earFile"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297F6E0246"
			    client     	@74
			    supplier   	@65
			    vertices   	(list Points
				(1368, 2015)
				(837, 2015))
			    line_style 	3
			    origin_attachment 	(1368, 2015)
			    terminal_attachment 	(837, 2015))))
		(object ClassView "Class" "Logical View::commonArchiveCore::ModuleRef" @80
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 2384)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@80
			location   	(514, 2333)
			fill_color 	13434879
			nlines     	1
			max_width  	220
			justify    	0
			label      	"ModuleRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3C711E300115"
		    width      	238
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$4" @81
		    location   	(441, 1835)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C711EF902F4"
		    roleview_list 	(list RoleViews
			(object RoleView "moduleFile" @82
			    Parent_View 	@81
			    location   	(121, -533)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @83
				Parent_View 	@82
				location   	(612, 1561)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	232
				justify    	0
				label      	"+moduleFile"
				pctDist    	0.681922
				height     	25
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C711EFA024C"
			    client     	@81
			    supplier   	@58
			    vertices   	(list Points
				(441, 1835)
				(441, 1585)
				(808, 1585))
			    line_style 	3
			    origin_attachment 	(441, 1835)
			    terminal_attachment 	(808, 1585)
			    label      	(object SegLabel @84
				Parent_View 	@82
				location   	(731, 1623)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.876481
				height     	38
				orientation 	1))
			(object RoleView "$UNNAMED$5" @85
			    Parent_View 	@81
			    location   	(121, -533)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C711EFA024E"
			    client     	@81
			    supplier   	@80
			    vertices   	(list Points
				(441, 1835)
				(441, 2388)
				(505, 2388))
			    line_style 	3
			    origin_attachment 	(441, 1835)
			    terminal_attachment 	(505, 2388))))
		(object AssociationViewNew "$UNNAMED$6" @86
		    location   	(716, 2184)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712223019B"
		    roleview_list 	(list RoleViews
			(object RoleView "moduleRefs" @87
			    Parent_View 	@86
			    location   	(252, 40)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @88
				Parent_View 	@87
				location   	(857, 2270)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+moduleRefs"
				pctDist    	0.635036
				height     	141
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C7122240246"
			    client     	@86
			    supplier   	@80
			    vertices   	(list Points
				(716, 2184)
				(716, 2321))
			    line_style 	3
			    origin_attachment 	(716, 2184)
			    terminal_attachment 	(716, 2321)
			    label      	(object SegLabel @89
				Parent_View 	@87
				location   	(670, 2281)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.715736
				height     	47
				orientation 	1))
			(object RoleView "earFile" @90
			    Parent_View 	@86
			    location   	(252, 40)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @91
				Parent_View 	@90
				location   	(803, 2144)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	149
				justify    	0
				label      	"+earFile"
				pctDist    	0.301471
				height     	87
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C7122240248"
			    client     	@86
			    supplier   	@65
			    vertices   	(list Points
				(716, 2184)
				(716, 2047))
			    line_style 	3
			    origin_attachment 	(716, 2184)
			    terminal_attachment 	(716, 2047)
			    label      	(object SegLabel @92
				Parent_View 	@90
				location   	(755, 2068)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.854626
				height     	39
				orientation 	1))))
		(object ClassView "Class" "Logical View::application::Module" @93
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2048, 2384)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@93
			location   	(1917, 2334)
			nlines     	1
			max_width  	262
			justify    	0
			label      	"Module")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C0322C0006"
		    width      	280
		    height     	124
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "" @94
		    location   	(2102, 2222)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C0340003C1"
		    roleview_list 	(list RoleViews
			(object RoleView "modules" @95
			    Parent_View 	@94
			    location   	(278, 1486)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @96
				Parent_View 	@95
				location   	(1999, 2270)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+modules"
				pctDist    	0.484848
				height     	104
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C0340102E7"
			    client     	@94
			    supplier   	@93
			    vertices   	(list Points
				(2102, 2222)
				(2102, 2321))
			    line_style 	3
			    origin_attachment 	(2102, 2222)
			    terminal_attachment 	(2102, 2321)
			    label      	(object SegLabel @97
				Parent_View 	@95
				location   	(2157, 2288)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.678010
				height     	55
				orientation 	0))
			(object RoleView "application" @98
			    Parent_View 	@94
			    location   	(278, 1486)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C0340102E6"
			    client     	@94
			    supplier   	@73
			    vertices   	(list Points
				(2102, 2222)
				(2102, 2123))
			    line_style 	3
			    origin_attachment 	(2102, 2222)
			    terminal_attachment 	(2102, 2123)
			    label      	(object SegLabel @99
				Parent_View 	@98
				location   	(2156, 2133)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$14" @100
		    location   	(1325, 2384)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"430A92520127"
		    roleview_list 	(list RoleViews
			(object RoleView "module" @101
			    Parent_View 	@100
			    location   	(701, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @102
				Parent_View 	@101
				location   	(1791, 2343)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	172
				justify    	0
				label      	"+module"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"430A92530147"
			    client     	@100
			    supplier   	@93
			    vertices   	(list Points
				(1325, 2384)
				(1907, 2384))
			    line_style 	0
			    label      	(object SegLabel @103
				Parent_View 	@101
				location   	(1849, 2438)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$15" @104
			    Parent_View 	@100
			    location   	(701, 0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"430A92530149"
			    client     	@100
			    supplier   	@80
			    vertices   	(list Points
				(1325, 2384)
				(743, 2384))
			    line_style 	0)))))
	(object ClassDiagram "descriptors"
	    quid       	"3A1015D70250"
	    title      	"descriptors"
	    zoom       	89
	    max_height 	28350
	    max_width  	21600
	    origin_x   	137
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::commonArchiveCore::WARFile" @105
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 1616)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@105
			location   	(139, 1563)
			nlines     	1
			max_width  	234
			justify    	0
			label      	"WARFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"3A0DBB49018C"
		    width      	252
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::Servlet" @106
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1408, 1840)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@106
			location   	(1223, 1763)
			nlines     	1
			max_width  	370
			justify    	0
			label      	"Servlet")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C079140251"
		    width      	388
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::WebApp" @107
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1408, 1392)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@107
			location   	(1247, 1339)
			nlines     	1
			max_width  	322
			justify    	0
			label      	"WebApp")
		    stereotype 	(object ItemLabel
			Parent_View 	@107
			location   	(1247, 1289)
			anchor     	10
			nlines     	1
			max_width  	322
			justify    	0
			label      	"<<component>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C077FB0352"
		    width      	340
		    height     	230
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$7" @108
		    location   	(809, 1508)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F297D500278"
		    roleview_list 	(list RoleViews
			(object RoleView "deploymentDescriptor" @109
			    Parent_View 	@108
			    location   	(73, -316)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @110
				Parent_View 	@109
				location   	(1078, 1411)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	542
				justify    	0
				label      	"+deploymentDescriptor"
				pctDist    	0.649222
				height     	45
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297D50027A"
			    client     	@108
			    supplier   	@107
			    vertices   	(list Points
				(809, 1508)
				(1237, 1424))
			    line_style 	0
			    label      	(object SegLabel @111
				Parent_View 	@109
				location   	(1203, 1487)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "warFile" @112
			    Parent_View 	@108
			    location   	(73, -316)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297D500279"
			    client     	@108
			    supplier   	@105
			    vertices   	(list Points
				(809, 1508)
				(382, 1590))
			    line_style 	0)))
		(object AssociationViewNew "" @113
		    location   	(1408, 1628)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D230120"
		    roleview_list 	(list RoleViews
			(object RoleView "servlets" @114
			    Parent_View 	@113
			    location   	(-1056, -1028)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @115
				Parent_View 	@114
				location   	(1367, 1725)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	226
				justify    	0
				label      	"+servlets"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D2402E4"
			    client     	@113
			    supplier   	@106
			    vertices   	(list Points
				(1408, 1628)
				(1408, 1750))
			    line_style 	0
			    label      	(object SegLabel @116
				Parent_View 	@114
				location   	(1462, 1737)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "webApp" @117
			    Parent_View 	@113
			    location   	(-1056, -1028)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @118
				Parent_View 	@117
				location   	(1367, 1531)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D2402DA"
			    client     	@113
			    supplier   	@107
			    vertices   	(list Points
				(1408, 1628)
				(1408, 1507))
			    line_style 	0
			    label      	(object SegLabel @119
				Parent_View 	@117
				location   	(1462, 1519)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::ejb::EnterpriseBean" @120
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2288, 1088)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@120
			location   	(2103, 1011)
			nlines     	1
			max_width  	370
			justify    	0
			label      	"EnterpriseBean")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"3780E71A010A"
		    width      	388
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::ejb::EJBJar" @121
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(816, 1072)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@121
			location   	(628, 1016)
			nlines     	1
			max_width  	376
			justify    	0
			label      	"EJBJar")
		    stereotype 	(object ItemLabel
			Parent_View 	@121
			location   	(628, 966)
			anchor     	10
			nlines     	1
			max_width  	376
			justify    	0
			label      	"<<component>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"371BC55D01E1"
		    width      	394
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "ejbJarToEnterpriseBeans" @122
		    location   	(1553, 1079)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object SegLabel @123
			Parent_View 	@122
			location   	(1553, 1020)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	TRUE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			anchor     	1
			anchor_loc 	1
			nlines     	1
			max_width  	600
			justify    	0
			label      	"ejbJarToEnterpriseBeans"
			pctDist    	0.500000
			height     	60
			orientation 	0)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38FF3D1F003B"
		    roleview_list 	(list RoleViews
			(object RoleView "ejbJar" @124
			    Parent_View 	@122
			    location   	(-1087, -505)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @125
				Parent_View 	@124
				location   	(1121, 1117)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	181
				justify    	0
				label      	"+ejbJar"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38FF3D1F03CB"
			    client     	@122
			    supplier   	@121
			    vertices   	(list Points
				(1553, 1079)
				(1013, 1073))
			    line_style 	0
			    label      	(object SegLabel @126
				Parent_View 	@124
				location   	(1068, 1022)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "enterpriseBeans" @127
			    Parent_View 	@122
			    location   	(-1087, -505)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @128
				Parent_View 	@127
				location   	(1985, 1126)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	419
				justify    	0
				label      	"+enterpriseBeans"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38FF3D1F037A"
			    client     	@122
			    supplier   	@120
			    vertices   	(list Points
				(1553, 1079)
				(2093, 1084))
			    line_style 	0
			    label      	(object SegLabel @129
				Parent_View 	@127
				location   	(2039, 1031)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object ClassView "Class" "Logical View::commonArchiveCore::EJBJarFile" @130
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(336, 704)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@130
			location   	(201, 651)
			nlines     	1
			max_width  	270
			justify    	0
			label      	"EJBJarFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"3A0DBB250022"
		    width      	288
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$8" @131
		    location   	(541, 861)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F297E2800B5"
		    roleview_list 	(list RoleViews
			(object RoleView "deploymentDescriptor" @132
			    Parent_View 	@131
			    location   	(-339, -771)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @133
				Parent_View 	@132
				location   	(647, 875)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	542
				justify    	0
				label      	"+deploymentDescriptor"
				pctDist    	0.617915
				height     	54
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297E2800B7"
			    client     	@131
			    supplier   	@121
			    vertices   	(list Points
				(541, 861)
				(662, 953))
			    line_style 	0
			    label      	(object SegLabel @134
				Parent_View 	@132
				location   	(690, 902)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.953052
				height     	59
				orientation 	0))
			(object RoleView "ejbJarFile" @135
			    Parent_View 	@131
			    location   	(-339, -771)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @136
				Parent_View 	@135
				location   	(421, 821)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	265
				justify    	0
				label      	"+ejbJarFile"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297E2800B6"
			    client     	@131
			    supplier   	@130
			    vertices   	(list Points
				(541, 861)
				(421, 769))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::commonArchiveCore::ApplicationClientFile" @137
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(976, 640)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@137
			location   	(735, 587)
			nlines     	1
			max_width  	482
			justify    	0
			label      	"ApplicationClientFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"3A0DBB810128"
		    width      	500
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::client::ApplicationClient" @138
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2320, 704)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@138
			location   	(2121, 627)
			nlines     	1
			max_width  	398
			justify    	0
			label      	"ApplicationClient")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C028AB009E"
		    width      	416
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$12" @139
		    location   	(1669, 660)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F298462039D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$13" @140
			    Parent_View 	@139
			    location   	(-795, 100)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @141
				Parent_View 	@140
				location   	(1407, 655)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.591809
				height     	6
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F298462039E"
			    client     	@139
			    supplier   	@137
			    vertices   	(list Points
				(1669, 660)
				(1226, 660))
			    line_style 	3
			    origin_attachment 	(1669, 660)
			    terminal_attachment 	(1226, 660))
			(object RoleView "deploymentDescriptor" @142
			    Parent_View 	@139
			    location   	(-795, 100)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @143
				Parent_View 	@142
				location   	(2022, 619)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	542
				justify    	0
				label      	"+deploymentDescriptor"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F298462039F"
			    client     	@139
			    supplier   	@138
			    vertices   	(list Points
				(1669, 660)
				(2112, 660))
			    line_style 	3
			    origin_attachment 	(1669, 660)
			    terminal_attachment 	(2112, 660)
			    label      	(object SegLabel @144
				Parent_View 	@142
				location   	(2068, 714)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::commonArchiveCore::RARFile" @145
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 1600)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@145
			location   	(1776, 1547)
			nlines     	1
			max_width  	224
			justify    	0
			label      	"RARFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"3A6DEBCF03C5"
		    width      	242
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::jca::Connector" @146
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2544, 1648)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@146
			location   	(2413, 1571)
			nlines     	1
			max_width  	262
			justify    	0
			label      	"Connector")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"3C609091010F"
		    width      	280
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$10" @147
		    location   	(2206, 1612)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F298321035F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$11" @148
			    Parent_View 	@147
			    location   	(-338, -36)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @149
				Parent_View 	@148
				location   	(2049, 1571)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	148
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F2983220298"
			    client     	@147
			    supplier   	@145
			    vertices   	(list Points
				(2206, 1612)
				(2009, 1612))
			    line_style 	3
			    origin_attachment 	(2206, 1612)
			    terminal_attachment 	(2009, 1612))
			(object RoleView "deploymentDescriptor" @150
			    Parent_View 	@147
			    location   	(-338, -36)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @151
				Parent_View 	@150
				location   	(2363, 1571)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	"+deploymentDescriptor"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F2983220284"
			    client     	@147
			    supplier   	@146
			    vertices   	(list Points
				(2206, 1612)
				(2404, 1612))
			    line_style 	3
			    origin_attachment 	(2206, 1612)
			    terminal_attachment 	(2404, 1612)
			    label      	(object SegLabel @152
				Parent_View 	@150
				location   	(2384, 1666)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::application::Application" @153
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2608, 352)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@153
			location   	(2456, 275)
			nlines     	1
			max_width  	304
			justify    	0
			label      	"Application")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C030A803B1"
		    width      	322
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::EARFile" @154
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 400)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@154
			location   	(272, 348)
			nlines     	1
			max_width  	224
			justify    	0
			label      	"EARFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"3A0DBB79007D"
		    width      	242
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$9" @155
		    location   	(1476, 348)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F297F6E0245"
		    roleview_list 	(list RoleViews
			(object RoleView "deploymentDescriptor" @156
			    Parent_View 	@155
			    location   	(660, -612)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @157
				Parent_View 	@156
				location   	(2098, 312)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	542
				justify    	0
				label      	"+deploymentDescriptor"
				pctDist    	0.641571
				height     	37
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297F6E0247"
			    client     	@155
			    supplier   	@153
			    vertices   	(list Points
				(1476, 348)
				(2447, 348))
			    line_style 	3
			    origin_attachment 	(1476, 348)
			    terminal_attachment 	(2447, 348)
			    label      	(object SegLabel @158
				Parent_View 	@156
				location   	(2313, 388)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.862061
				height     	40
				orientation 	1))
			(object RoleView "earFile" @159
			    Parent_View 	@155
			    location   	(660, -612)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F297F6E0246"
			    client     	@155
			    supplier   	@154
			    vertices   	(list Points
				(1476, 348)
				(505, 348))
			    line_style 	3
			    origin_attachment 	(1476, 348)
			    terminal_attachment 	(505, 348))))))
	(object ClassDiagram "ModuleRefs"
	    quid       	"3C7125820051"
	    title      	"ModuleRefs"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::commonArchiveCore::EJBModuleRef" @160
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(768, 416)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@160
			location   	(593, 365)
			fill_color 	13434879
			nlines     	1
			max_width  	350
			justify    	0
			label      	"EJBModuleRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3C7125A802A5"
		    width      	368
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::WebModuleRef" @161
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(960, 592)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@161
			location   	(779, 541)
			fill_color 	13434879
			nlines     	1
			max_width  	362
			justify    	0
			label      	"WebModuleRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3C7125B10293"
		    width      	380
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::ClientModuleRef" @162
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1120, 784)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@162
			location   	(931, 733)
			fill_color 	13434879
			nlines     	1
			max_width  	378
			justify    	0
			label      	"ClientModuleRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3C7125B90259"
		    width      	396
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::ConnectorModuleRef" @163
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1216, 1008)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@163
			location   	(972, 957)
			fill_color 	13434879
			nlines     	1
			max_width  	488
			justify    	0
			label      	"ConnectorModuleRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3C7125C600E5"
		    width      	506
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::application::WebModule" @164
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1760, 752)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@164
			location   	(1516, 648)
			fill_color 	13434879
			nlines     	1
			max_width  	488
			justify    	0
			label      	"WebModule")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3904860D027B"
		    width      	506
		    height     	232
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::application::JavaClientModule" @165
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2000, 1024)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@165
			location   	(1823, 945)
			fill_color 	13434879
			nlines     	1
			max_width  	354
			justify    	0
			label      	"JavaClientModule")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"390486730015"
		    width      	372
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::application::EjbModule" @166
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1616, 512)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@166
			location   	(1460, 433)
			fill_color 	13434879
			nlines     	1
			max_width  	312
			justify    	0
			label      	"EjbModule")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"390486830253"
		    width      	330
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::application::ConnectorModule" @167
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2224, 1296)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@167
			location   	(2044, 1217)
			fill_color 	13434879
			nlines     	1
			max_width  	360
			justify    	0
			label      	"ConnectorModule")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"39895BC00227"
		    width      	378
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::WARFile" @168
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 544)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@168
			location   	(133, 493)
			fill_color 	13434879
			nlines     	1
			max_width  	246
			justify    	0
			label      	"WARFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB49018C"
		    width      	264
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::ApplicationClientFile" @169
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 736)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@169
			location   	(128, 685)
			fill_color 	13434879
			nlines     	1
			max_width  	480
			justify    	0
			label      	"ApplicationClientFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB810128"
		    width      	498
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::RARFile" @170
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(608, 944)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@170
			location   	(499, 893)
			fill_color 	13434879
			nlines     	1
			max_width  	218
			justify    	0
			label      	"RARFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A6DEBCF03C5"
		    width      	236
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::EJBJarFile" @171
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(176, 352)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@171
			location   	(36, 301)
			fill_color 	13434879
			nlines     	1
			max_width  	280
			justify    	0
			label      	"EJBJarFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB250022"
		    width      	298
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::application::Module" @172
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1968, 160)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@172
			location   	(1793, 31)
			fill_color 	13434879
			nlines     	1
			max_width  	350
			justify    	0
			label      	"Module")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0322C0006"
		    compartment 	(object Compartment
			Parent_View 	@172
			location   	(1887, 203)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	0)
		    width      	368
		    height     	282
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @173
		    location   	(1968, 396)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@172
		    vertices   	(list Points
			(1968, 396)
			(1968, 301)))
		(object InheritView "" @174
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"390486B60379"
		    client     	@166
		    supplier   	@172
		    vertices   	(list Points
			(1675, 421)
			(1675, 396))
		    line_style 	3
		    origin_attachment 	(1675, 421)
		    terminal_attachment 	(1675, 396)
		    drawSupplier 	@173)
		(object InheritView "" @175
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"390486AE01C9"
		    client     	@164
		    supplier   	@172
		    vertices   	(list Points
			(1766, 636)
			(1766, 396))
		    line_style 	3
		    origin_attachment 	(1766, 636)
		    terminal_attachment 	(1766, 396)
		    drawSupplier 	@173)
		(object InheritView "" @176
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"390486B201F6"
		    client     	@165
		    supplier   	@172
		    vertices   	(list Points
			(2000, 933)
			(2000, 396))
		    line_style 	3
		    origin_attachment 	(2000, 933)
		    terminal_attachment 	(2000, 396)
		    drawSupplier 	@173)
		(object InheritView "" @177
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"39895BCA0218"
		    client     	@167
		    supplier   	@172
		    vertices   	(list Points
			(2350, 1204)
			(2350, 396))
		    line_style 	3
		    origin_attachment 	(2350, 1204)
		    terminal_attachment 	(2350, 396)
		    drawSupplier 	@173)
		(object ClassView "Class" "Logical View::commonArchiveCore::ModuleRef" @178
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(928, 112)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@178
			location   	(798, 61)
			fill_color 	13434879
			nlines     	1
			max_width  	260
			justify    	0
			label      	"ModuleRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3C711E300115"
		    width      	278
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::ModuleFile" @179
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 112)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@179
			location   	(141, 61)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"ModuleFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DC1230136"
		    width      	280
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @180
		    location   	(272, 266)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@179
		    vertices   	(list Points
			(272, 266)
			(272, 175)))
		(object InheritView "" @181
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC29003E4"
		    client     	@168
		    supplier   	@179
		    vertices   	(list Points
			(319, 481)
			(319, 266))
		    line_style 	3
		    origin_attachment 	(319, 481)
		    terminal_attachment 	(319, 266)
		    drawSupplier 	@180)
		(object InheritView "" @182
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC2790214"
		    client     	@169
		    supplier   	@179
		    vertices   	(list Points
			(384, 673)
			(384, 266))
		    line_style 	3
		    origin_attachment 	(384, 673)
		    terminal_attachment 	(384, 266)
		    drawSupplier 	@180)
		(object InheritView "" @183
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC27D03BE"
		    client     	@171
		    supplier   	@179
		    vertices   	(list Points
			(225, 288)
			(225, 266))
		    line_style 	3
		    origin_attachment 	(225, 288)
		    terminal_attachment 	(225, 266)
		    drawSupplier 	@180)
		(object InheritView "" @184
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A6DEBE701CB"
		    client     	@170
		    supplier   	@179
		    vertices   	(list Points
			(600, 881)
			(600, 266))
		    line_style 	3
		    origin_attachment 	(600, 881)
		    terminal_attachment 	(600, 266)
		    drawSupplier 	@180)
		(object AssociationViewNew "$UNNAMED$4" @185
		    location   	(600, 112)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C711EF902F4"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$5" @186
			    Parent_View 	@185
			    location   	(360, -112)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @187
				Parent_View 	@186
				location   	(750, 71)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C711EFA024E"
			    client     	@185
			    supplier   	@178
			    vertices   	(list Points
				(600, 112)
				(788, 112))
			    line_style 	0)
			(object RoleView "moduleFile" @188
			    Parent_View 	@185
			    location   	(360, -112)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @189
				Parent_View 	@188
				location   	(489, 73)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	232
				justify    	0
				label      	"+moduleFile"
				pctDist    	0.594557
				height     	40
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C711EFA024C"
			    client     	@185
			    supplier   	@179
			    vertices   	(list Points
				(600, 112)
				(412, 112))
			    line_style 	0
			    label      	(object SegLabel @190
				Parent_View 	@188
				location   	(432, 166)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object InheritTreeView "" @191
		    location   	(928, 297)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@178
		    vertices   	(list Points
			(928, 297)
			(928, 175)))
		(object InheritView "" @192
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A1D0165"
		    client     	@160
		    supplier   	@178
		    vertices   	(list Points
			(809, 353)
			(809, 297))
		    line_style 	3
		    origin_attachment 	(809, 353)
		    terminal_attachment 	(809, 297)
		    drawSupplier 	@191)
		(object InheritView "" @193
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A2001EB"
		    client     	@161
		    supplier   	@178
		    vertices   	(list Points
			(975, 528)
			(975, 297))
		    line_style 	3
		    origin_attachment 	(975, 528)
		    terminal_attachment 	(975, 297)
		    drawSupplier 	@191)
		(object InheritView "" @194
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A2B025F"
		    client     	@163
		    supplier   	@178
		    vertices   	(list Points
			(1350, 944)
			(1350, 297))
		    line_style 	3
		    origin_attachment 	(1350, 944)
		    terminal_attachment 	(1350, 297)
		    drawSupplier 	@191)
		(object InheritView "" @195
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A23031C"
		    client     	@162
		    supplier   	@178
		    vertices   	(list Points
			(1200, 720)
			(1200, 297))
		    line_style 	3
		    origin_attachment 	(1200, 720)
		    terminal_attachment 	(1200, 297)
		    drawSupplier 	@191)))))
