
(object Petal
    version    	47
    _written   	"Rose 8.0.0303.1400"
    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"
	    quid       	"3A0DBB49018C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A0DC29003E4"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"))
	    language   	"Java")
	(object Class "EARFile"
	    quid       	"3A0DBB79007D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A36452000DE"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"))
	    language   	"Java")
	(object Class "ApplicationClientFile"
	    quid       	"3A0DBB810128"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3A0DC2790214"
		    supplier   	"Logical View::commonArchiveCore::ModuleFile"
		    quidu      	"3A0DC1230136"))
	    language   	"Java")
	(object Class "ModuleFile"
	    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 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$14"
		    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$15"
			    quid       	"3C56FDE702DF"
			    supplier   	"Logical View::commonArchiveCore::looseconfig::LooseConfiguration"
			    quidu      	"3C56E92C00BF"
			    is_aggregate 	TRUE)))
		(object Association "$UNNAMED$16"
		    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$17"
		    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$14" @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
				    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$15" @8
				    Parent_View 	@4
				    location   	(-103, 375)
				    stereotype 	TRUE
				    line_color 	3342489
				    quidu      	"3C56FDE702DF"
				    client     	@4
				    supplier   	@1
				    line_style 	3
				    origin_attachment 	(281, 503)
				    terminal_attachment 	(281, 221))))
			(object AssociationViewNew "$UNNAMED$16" @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
				    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 InheritTreeView "" @17
			    location   	(1312, 703)
			    line_color 	3342489
			    fill_color 	13434879
			    supplier   	@2
			    vertices   	(list Points
				(1312, 703)
				(1312, 286)))
			(object InheritView "" @18
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C5AC03900EE"
			    client     	@16
			    supplier   	@2
			    line_style 	3
			    origin_attachment 	(1650, 834)
			    terminal_attachment 	(1650, 703)
			    drawSupplier 	@17)
			(object ClassView "Class" "Logical View::commonArchiveCore::looseconfig::LooseLibrary" @19
			    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 	@19
				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" @20
			    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 	@20
				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$17" @21
			    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" @22
				    Parent_View 	@21
				    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 @23
					Parent_View 	@22
					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     	@21
				    supplier   	@19
				    vertices   	(list Points
					(1006, 1312)
					(897, 1312)
					(897, 974))
				    line_style 	3
				    origin_attachment 	(1006, 1312)
				    terminal_attachment 	(897, 974)
				    label      	(object SegLabel @24
					Parent_View 	@22
					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" @25
				    Parent_View 	@21
				    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 @26
					Parent_View 	@25
					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     	@21
				    supplier   	@20
				    line_style 	3
				    origin_attachment 	(1006, 1312)
				    terminal_attachment 	(1453, 1312))))
			(object InheritView "" @27
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C5AF7C2037C"
			    client     	@19
			    supplier   	@2
			    line_style 	3
			    origin_attachment 	(913, 850)
			    terminal_attachment 	(913, 703)
			    drawSupplier 	@17)
			(object NoteView @28
			    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 	@28
				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 "" @29
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C5AF7F5028F"
			    client     	@20
			    supplier   	@16
			    line_style 	3
			    origin_attachment 	(1606, 1266)
			    terminal_attachment 	(1606, 958))
			(object InheritView "" @30
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C753DEE00EA"
			    client     	@3
			    supplier   	@2
			    line_style 	3
			    origin_attachment 	(513, 786)
			    terminal_attachment 	(513, 703)
			    drawSupplier 	@17))))))
    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   	918
	    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   	(1300, 1741)
			fill_color 	13434879
			nlines     	1
			max_width  	280
			justify    	0
			label      	"EJBJarFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB250022"
		    width      	298
		    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   	(1584, 1741)
			fill_color 	13434879
			nlines     	1
			max_width  	480
			justify    	0
			label      	"ApplicationClientFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB810128"
		    width      	498
		    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   	(670, 1085)
			fill_color 	13434879
			nlines     	1
			max_width  	452
			justify    	0
			label      	"ReadOnlyDirectory")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A54BEB0004D"
		    width      	470
		    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 InheritTreeView "" @36
		    location   	(480, 1013)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@35
		    vertices   	(list Points
			(480, 1013)
			(480, 922)))
		(object InheritView "" @37
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54BF750295"
		    client     	@34
		    supplier   	@35
		    line_style 	3
		    origin_attachment 	(851, 1073)
		    terminal_attachment 	(851, 1013)
		    drawSupplier 	@36)
		(object ClassView "Class" "Logical View::commonArchiveCore::File" @38
		    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 	@38
			location   	(212, 203)
			fill_color 	13434879
			nlines     	1
			max_width  	568
			justify    	0
			label      	"File")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DB75B00E5"
		    width      	586
		    height     	386
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$3" @39
		    location   	(113, 623)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54BF4E0022"
		    roleview_list 	(list RoleViews
			(object RoleView "files" @40
			    Parent_View 	@39
			    location   	(-591, -81)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @41
				Parent_View 	@40
				location   	(137, 274)
				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     	@39
			    supplier   	@38
			    vertices   	(list Points
				(113, 623)
				(113, 323)
				(203, 323))
			    line_style 	3
			    origin_attachment 	(113, 623)
			    terminal_attachment 	(203, 323)
			    label      	(object SegLabel @42
				Parent_View 	@40
				location   	(163, 377)
				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" @43
			    Parent_View 	@39
			    location   	(-591, -81)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @44
				Parent_View 	@43
				location   	(199, 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     	@39
			    supplier   	@35
			    vertices   	(list Points
				(113, 623)
				(113, 819)
				(306, 819))
			    line_style 	3
			    origin_attachment 	(113, 623)
			    terminal_attachment 	(306, 819)
			    label      	(object SegLabel @45
				Parent_View 	@43
				location   	(249, 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" @46
		    location   	(828, 699)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A3A953E00A9"
		    roleview_list 	(list RoleViews
			(object RoleView "loadingContainer" @47
			    Parent_View 	@46
			    location   	(332, 315)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @48
				Parent_View 	@47
				location   	(1003, 772)
				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     	@46
			    supplier   	@35
			    vertices   	(list Points
				(828, 699)
				(828, 821)
				(654, 821))
			    line_style 	3
			    origin_attachment 	(828, 699)
			    terminal_attachment 	(654, 821)
			    label      	(object SegLabel @49
				Parent_View 	@47
				location   	(684, 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" @50
			    Parent_View 	@46
			    location   	(332, 315)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A3A953F00AA"
			    client     	@46
			    supplier   	@38
			    vertices   	(list Points
				(828, 699)
				(828, 442)
				(789, 442))
			    line_style 	3
			    origin_attachment 	(828, 699)
			    terminal_attachment 	(789, 442))))
		(object AttachView "" @51
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@33
		    supplier   	@46
		    line_style 	0)
		(object InheritView "" @52
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54C16801FC"
		    client     	@35
		    supplier   	@38
		    line_style 	0)
		(object ClassView "Class" "Logical View::commonArchiveCore::Archive" @53
		    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 	@53
			location   	(51, 1135)
			fill_color 	13434879
			nlines     	1
			max_width  	570
			justify    	0
			label      	"Archive")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DB75F0177"
		    width      	588
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @54
		    location   	(336, 1510)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@53
		    vertices   	(list Points
			(336, 1510)
			(336, 1309)))
		(object InheritView "" @55
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A54BF5D018C"
		    client     	@53
		    supplier   	@35
		    line_style 	3
		    origin_attachment 	(266, 1123)
		    terminal_attachment 	(266, 1013)
		    drawSupplier 	@36)
		(object ClassView "Class" "Logical View::commonArchiveCore::WARFile" @56
		    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 	@56
			location   	(1045, 1741)
			fill_color 	13434879
			nlines     	1
			max_width  	246
			justify    	0
			label      	"WARFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB49018C"
		    width      	264
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::commonArchiveCore::RARFile" @57
		    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 	@57
			location   	(819, 1741)
			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::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   	(797, 1485)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"ModuleFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DC1230136"
		    width      	280
		    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
		    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
		    line_style 	3
		    origin_attachment 	(1611, 1728)
		    terminal_attachment 	(1611, 1706)
		    drawSupplier 	@59)
		(object InheritView "" @62
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC2CE00AE"
		    client     	@58
		    supplier   	@53
		    line_style 	3
		    origin_attachment 	(803, 1485)
		    terminal_attachment 	(803, 1510)
		    drawSupplier 	@54)
		(object InheritView "" @63
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC29003E4"
		    client     	@56
		    supplier   	@58
		    line_style 	3
		    origin_attachment 	(1168, 1729)
		    terminal_attachment 	(1168, 1706)
		    drawSupplier 	@59)
		(object InheritView "" @64
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A6DEBE701CB"
		    client     	@57
		    supplier   	@58
		    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   	(627, 1933)
			fill_color 	13434879
			nlines     	1
			max_width  	218
			justify    	0
			label      	"EARFile")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0DBB79007D"
		    width      	236
		    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
			    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
		    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   	(1984, 2016)
		    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   	(1828, 1937)
			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   	(1336, 1986)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F297F6E0245"
		    roleview_list 	(list RoleViews
			(object RoleView "deploymentDescriptor" @75
			    Parent_View 	@74
			    location   	(600, 2)
			    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   	(1722, 1945)
				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
			    line_style 	3
			    origin_attachment 	(1336, 1986)
			    terminal_attachment 	(1819, 1986)
			    label      	(object SegLabel @77
				Parent_View 	@75
				location   	(1770, 2040)
				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   	(600, 2)
			    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   	(950, 1945)
				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
			    line_style 	3
			    origin_attachment 	(1336, 1986)
			    terminal_attachment 	(854, 1986))))
		(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   	(494, 2333)
			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 AssociationViewNew "$UNNAMED$4" @81
		    location   	(441, 1836)
		    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, -532)
			    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   	(597, 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, 1836)
				(441, 1585)
				(788, 1585))
			    line_style 	3
			    origin_attachment 	(441, 1836)
			    terminal_attachment 	(788, 1585)
			    label      	(object SegLabel @84
				Parent_View 	@82
				location   	(714, 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, -532)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C711EFA024E"
			    client     	@81
			    supplier   	@80
			    vertices   	(list Points
				(441, 1836)
				(441, 2390)
				(485, 2390))
			    line_style 	3
			    origin_attachment 	(441, 1836)
			    terminal_attachment 	(485, 2390))))
		(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
			    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
			    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   	(1984, 2352)
		    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   	(1829, 2302)
			nlines     	1
			max_width  	310
			justify    	0
			label      	"Module")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C0322C0006"
		    width      	328
		    height     	124
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "" @94
		    location   	(1988, 2198)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C0340003C1"
		    roleview_list 	(list RoleViews
			(object RoleView "modules" @95
			    Parent_View 	@94
			    location   	(164, 1462)
			    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   	(1885, 2243)
				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
			    line_style 	3
			    origin_attachment 	(1988, 2198)
			    terminal_attachment 	(1988, 2290)
			    label      	(object SegLabel @97
				Parent_View 	@95
				location   	(2043, 2260)
				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   	(164, 1462)
			    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
			    line_style 	3
			    origin_attachment 	(1988, 2198)
			    terminal_attachment 	(1988, 2107)
			    label      	(object SegLabel @99
				Parent_View 	@98
				location   	(2042, 2116)
				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 "" @100
		    location   	(1291, 2367)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C711E680350"
		    roleview_list 	(list RoleViews
			(object RoleView "" @101
			    Parent_View 	@100
			    location   	(-693, 15)
			    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      	"3C711E6A023C"
			    client     	@100
			    supplier   	@80
			    line_style 	3
			    origin_attachment 	(1291, 2367)
			    terminal_attachment 	(763, 2367))
			(object RoleView "module" @102
			    Parent_View 	@100
			    location   	(-693, 15)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @103
				Parent_View 	@102
				location   	(1714, 2326)
				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      	"3C711E6A023A"
			    client     	@100
			    supplier   	@93
			    line_style 	3
			    origin_attachment 	(1291, 2367)
			    terminal_attachment 	(1820, 2367)
			    label      	(object SegLabel @104
				Parent_View 	@102
				location   	(1767, 2421)
				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 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
			    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
			    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
			    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
			    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
			    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
			    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
			    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
			    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
			    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
			    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
			    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
			    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
			    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
			    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"
		    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
		    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
		    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
		    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
		    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 InheritTreeView "" @179
		    location   	(928, 297)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@178
		    vertices   	(list Points
			(928, 297)
			(928, 175)))
		(object InheritView "" @180
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A1D0165"
		    client     	@160
		    supplier   	@178
		    line_style 	3
		    origin_attachment 	(809, 353)
		    terminal_attachment 	(809, 297)
		    drawSupplier 	@179)
		(object InheritView "" @181
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A2001EB"
		    client     	@161
		    supplier   	@178
		    line_style 	3
		    origin_attachment 	(975, 528)
		    terminal_attachment 	(975, 297)
		    drawSupplier 	@179)
		(object InheritView "" @182
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A2B025F"
		    client     	@163
		    supplier   	@178
		    line_style 	3
		    origin_attachment 	(1350, 944)
		    terminal_attachment 	(1350, 297)
		    drawSupplier 	@179)
		(object ClassView "Class" "Logical View::commonArchiveCore::ModuleFile" @183
		    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 	@183
			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 "" @184
		    location   	(272, 266)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@183
		    vertices   	(list Points
			(272, 266)
			(272, 175)))
		(object InheritView "" @185
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC29003E4"
		    client     	@168
		    supplier   	@183
		    line_style 	3
		    origin_attachment 	(319, 481)
		    terminal_attachment 	(319, 266)
		    drawSupplier 	@184)
		(object InheritView "" @186
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC2790214"
		    client     	@169
		    supplier   	@183
		    line_style 	3
		    origin_attachment 	(384, 673)
		    terminal_attachment 	(384, 266)
		    drawSupplier 	@184)
		(object InheritView "" @187
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A0DC27D03BE"
		    client     	@171
		    supplier   	@183
		    line_style 	3
		    origin_attachment 	(225, 288)
		    terminal_attachment 	(225, 266)
		    drawSupplier 	@184)
		(object InheritView "" @188
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A6DEBE701CB"
		    client     	@170
		    supplier   	@183
		    line_style 	3
		    origin_attachment 	(600, 881)
		    terminal_attachment 	(600, 266)
		    drawSupplier 	@184)
		(object AssociationViewNew "$UNNAMED$4" @189
		    location   	(600, 112)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C711EF902F4"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$5" @190
			    Parent_View 	@189
			    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 @191
				Parent_View 	@190
				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     	@189
			    supplier   	@178
			    line_style 	0)
			(object RoleView "moduleFile" @192
			    Parent_View 	@189
			    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 @193
				Parent_View 	@192
				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     	@189
			    supplier   	@183
			    line_style 	0
			    label      	(object SegLabel @194
				Parent_View 	@192
				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 InheritView "" @195
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C712A23031C"
		    client     	@162
		    supplier   	@178
		    line_style 	3
		    origin_attachment 	(1200, 720)
		    terminal_attachment 	(1200, 297)
		    drawSupplier 	@179)))))
