
(object Petal
    version    	50
    _written   	"Rose 8.3.0407.2800"
    charSet    	0)

(object Class_Category "webapplication"
    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       	"nsURI"
	    value      	(value Text "webapplication.xmi"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	(value Text "Webapplication")))
    quid       	"38C076D603DD"
    visible_categories 	(list visibility_relationship_list
	(object Visibility_Relationship
	    quid       	"38FF3C150151"
	    supplier   	"Logical View::common"
	    quidu      	"38C08F0F038D"))
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "WebApp"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C077FB0352"
	    documentation 	
|The web-app element is the root of the deployment descriptor for
|a web application.
	    
	    stereotype 	"component"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3E4D55CA03E2"
		    supplier   	"Logical View::common::JNDIEnvRefsGroup"
		    quidu      	"3E4D53950349"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "distributable"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"38C0782D0231"
		    documentation 	"The distributable element, by its presence in a web application deployment descriptor, indicates that this web application is programmed appropriately to be deployed into a distributed servlet container"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "version"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Java"
			    name       	"Final"
			    value      	FALSE)
			(object Attribute
			    tool       	"Java"
			    name       	"Volatile"
			    value      	FALSE)
			(object Attribute
			    tool       	"Java"
			    name       	"Transient"
			    value      	FALSE)
			(object Attribute
			    tool       	"Java"
			    name       	"IndividualChangeMgt"
			    value      	FALSE)
			(object Attribute
			    tool       	"Java"
			    name       	"GenerateFullyQualifiedTypes"
			    value      	FALSE)
			(object Attribute
			    tool       	"Java"
			    name       	"PropertyType"
			    value      	("BeanProperty_Set" 71))
			(object Attribute
			    tool       	"Java"
			    name       	"Read/Write"
			    value      	("Read/Write_Set" 81)))
		    quid       	"3E4D57C20179"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "ContextParam"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C078B602A6"
	    documentation 	
|@since J2EE1.4 deprecated
|The context-param element contains the declaration of a web application's servlet context initialization parameters.
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "paramName"
		    quid       	"38C078C602F0"
		    documentation 	
|@deprecated
|The param-name element contains the name of a parameter.
		    
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "paramValue"
		    quid       	"38C078DB039A"
		    documentation 	
|@deprecated
|The param-value element contains the value of a parameter.
		    
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "description"
		    quid       	"38C078EA0319"
		    documentation 	"@deprecated"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "Servlet"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C079140251"
	    documentation 	"The servlet element contains the declarative data of a servlet. If a jsp-file is specified and the load-on-startup element is present, then the JSP should be precompiled and loaded."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4023B1040300"
		    supplier   	"Logical View::common::CompatibilityDescriptionGroup"
		    quidu      	"4023ADF20197"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "servletName"
		    quid       	"38C079300067"
		    documentation 	"The servlet-name element contains the canonical name of the servlet."
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "loadOnStartup"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"38C079550147"
		    documentation 	
|The load-on-startup element indicates that this servlet should be loaded on the startup of the web application. The optional contents of these element must be a positive integer indicating the order in which the servlet should be loaded. Lower integers are loaded before higher integers. If no value is specified, or if the value specified is not a positive integer, the container is free to load it at any time in the startup sequence.
|
		    
		    stereotype 	"0..1"
		    type       	"Integer"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "ServletMapping"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C079BD02B9"
	    documentation 	"The servlet-mapping element defines a mapping between a servlet and a url pattern"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "urlPattern"
		    quid       	"38C079DD0391"
		    documentation 	"The url-pattern element contains the url pattern of the mapping. Must follow the rules specified in Section 10 of the Servlet API Specification."
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "name"
		    quid       	"3E67C27A00D7"
		    documentation 	
|@since J2EE1.4
|The servlet-name element contains the canonical name of the
|servlet. Each servlet name is unique within the web
|application.
		    
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "SessionConfig"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07A5301BD"
	    documentation 	"The session-config element defines the session parameters for this web application."
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "sessionTimeout"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"38C07A5B0205"
		    documentation 	
|The session-timeout element defines the default
|        session timeout interval for all sessions created
|        in this web application. The specified timeout
|        must be expressed in a whole number of minutes.
|        If the timeout is 0 or less, the container ensures
|        the default behaviour of sessions is never to time
|        out. If this element is not specified, the container
|        must set its default timeout period.
		    
		    type       	"int"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "MimeMapping"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07A7500FE"
	    documentation 	
|The mime-mapping element defines a mapping between an extension and a mime type.
|
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "extension"
		    quid       	"38C07A830017"
		    documentation 	
|The extension element contains a string describing an extension. example: "txt"
		    
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "mimeType"
		    quid       	"38C07A8C01BF"
		    documentation 	
|The mime-type element contains a defined mime type. example: "text/plain"
		    
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "WelcomeFileList"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07AAD01A8"
	    documentation 	"The welcome-file-list contains an ordered list of welcome files elements."
	    language   	"Java")
	(object Class "ErrorPage"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07ACF03E2"
	    documentation 	"The error-page element contains a mapping between an error code or exception type to the path of a resource in the web application"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "location"
		    quid       	"38C07AEB02AC"
		    documentation 	"The location element contains the location of the resource in the web application"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "TagLibRef"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07B3002E7"
	    documentation 	
|@since J2EE1.4 deprecated, becomes jsp::TagLibRef
|The taglib element is used to describe a JSP tag library.
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "taglibURI"
		    quid       	"38C07B3700A2"
		    documentation 	
|@deprecated See jsp::TagLibRef
|
|The taglib-uri element describes a URI, relative to the location of the web.xml document, identifying a Tag Library used in the Web Application.
		    
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "taglibLocation"
		    quid       	"38C07B4B0318"
		    documentation 	
|@deprecated See jsp::TagLibRef
|
|The taglib-location element contains the location (as a resource relative to the root of the web application) where to find the Tag Libary Description file for the tag library.
		    
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "SecurityConstraint"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07B6A02AE"
	    documentation 	"The security-constraint element is used to associate security constraints with one or more web resource collections"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "displayName"
		    quid       	"3E89D7E8012D"
		    documentation 	"@since J2EE1.4 deprecated, becomes displayNames"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "WebResourceCollection"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07B8703AB"
	    documentation 	
|The web-resource-collection element is used to identify a subset of the resources and HTTP methods on those resources within a web application to which a security constraint applies. If no HTTP methods are specified, then the security constraint applies to all HTTP methods.
|
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "webResourceName"
		    quid       	"38C07BA303D3"
		    documentation 	"The web-resource-name contains the name of this web resource collection"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "description"
		    quid       	"38C07BB80152"
		    documentation 	"@since J2EE1.4 deprecated, becomes descriptions"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "urlPattern"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnique"
			    value      	FALSE))
		    quid       	"3E4D51EA0345"
		    documentation 	"@since J2EE1.4"
		    stereotype 	"1..*"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "httpMethod"
		    quid       	"3E4D52020123"
		    documentation 	"@since J2EE1.4"
		    stereotype 	"0..*"
		    type       	"HTTPMethodTypeEnum"
		    quidu      	"38C0A2E200C6"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "AuthConstraint"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07C8001A0"
	    documentation 	
|The auth-constraintType indicates the user roles that
|should be permitted access to this resource
|collection. The role-name used here must either correspond
|to the role-name of one of the security-role elements
|defined for this web application, or be the specially
|reserved role-name "*" that is a compact syntax for
|indicating all roles in the web application. If both "*"
|and rolenames appear, the container interprets this as all
|roles.  If no roles are defined, no user is allowed access
|to the portion of the web application described by the
|containing security-constraint.  The container matches
|role names case sensitively when determining access.
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "description"
		    quid       	"38C07C9703B6"
		    documentation 	
|@since J2EE1.4 deprecated, becomes descriptions
|A description of the auth constraint.
		    
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "roles"
		    quid       	"39C7AA9403D9"
		    documentation 	
|A list of role names for the auth constraint.  Each element specifies the name of a security role (a String).
|
		    
		    stereotype 	"0..*"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "UserDataConstraint"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07CB800B0"
	    documentation 	"The user-data-constraint element is used to indicate how data communicated between the client and container should be protected"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "description"
		    quid       	"38C07CC6002E"
		    documentation 	
|@since J2EE1.4 deprecated, becomes descriptions
|A description for the user data constraint.
		    
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "transportGuarantee"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"38C07CD8035F"
		    documentation 	
|The transport-guarantee element specifies that the communication between client and server should be NONE, INTEGRAL, or CONFIDENTIAL. NONE means that the application does not require any
|transport guarantees. A value of INTEGRAL means that the application requires that the data sent between the client and server be sent in such a way that it can't be changed in transit. CONFIDENTIAL means that the application requires that the data be transmitted in a fashion that prevents other entities from observing the contents of the transmission. In most cases, the presence of the INTEGRAL or CONFIDENTIAL flag will indicate that the use of SSL is required.
		    
		    type       	"TransportGuaranteeType"
		    quidu      	"390461A9018F"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "LoginConfig"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07D0F006F"
	    documentation 	
|The login-config element is used to configure the authentication method that should be used, the realm name that should be used for this application, and the attributes that are needed by the form login
|mechanism.
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "authMethod"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"38C07D170066"
		    documentation 	
|@since J2EE1.4  deprecated, becomes initParamValues
|
|
|The auth-method element is used to configure the authentication mechanism for the web application. As a prerequisite to gaining access to any web resources which are protected by an authorization constraint, a user must have authenticated using the configured mechanism. Legal values for this element are "BASIC", "DIGEST", "FORM", or "CLIENT-CERT".
		    
		    type       	"AuthMethodKind"
		    quidu      	"3EE0A2D8029A"
		    exportControl 	"Public")
		(object ClassAttribute "realmName"
		    quid       	"38C07D26034D"
		    documentation 	"The realm name element specifies the realm name to use in HTTP Basic authorization"
		    stereotype 	"0..1"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "authorizationMethod"
		    quid       	"3EE0A4300014"
		    documentation 	"@since J2EE1.4"
		    stereotype 	"0..1"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "FormLoginConfig"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C07D390296"
	    documentation 	"The form-login-config element specifies the login and error pages that should be used in form based login. If form based authentication is not used, these elements are ignored."
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "formLoginPage"
		    quid       	"38C07D44017A"
		    documentation 	"The form-login-page element defines the location in the web app where the page that can be used for login can be found"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "formErrorPage"
		    quid       	"38C07D570235"
		    documentation 	"The form-error-page element defines the location in the web app where the error page that is displayed when login is not successful can be found"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "InitParam"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C08E9D0325"
	    documentation 	
|@since J2EE1.4 deprecated
|The init-param element contains a name/value pair as an initialization param of the servlet
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "paramName"
		    quid       	"38C08EB30330"
		    documentation 	
|@deprecated
|
		    
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "paramValue"
		    quid       	"38C08EC70221"
		    documentation 	"@deprecated"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "description"
		    quid       	"38C08ED901D7"
		    documentation 	"@deprecated"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "ResAuthServletType"
	    quid       	"38C09EEA0265"
	    documentation 	
|CONTAINER=0
|SERVLET=1
|
	    
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "CONTAINER"
		    quid       	"399301960226"
		    exportControl 	"Public")
		(object ClassAttribute "SERVLET"
		    quid       	"39930198000C"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "WebType"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C0A1F70294"
	    language   	"Java"
	    abstract   	TRUE)
	(object Class "ServletType"
	    quid       	"38C0A2320311"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"38C0A28C02AD"
		    supplier   	"Logical View::webapplication::WebType"
		    quidu      	"38C0A1F70294"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "className"
		    quid       	"3904604200D5"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "JSPType"
	    quid       	"38C0A2640273"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"38C0A2900258"
		    supplier   	"Logical View::webapplication::WebType"
		    quidu      	"38C0A1F70294"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "jspFile"
		    quid       	"38C0A2760355"
		    documentation 	
|The jsp-file element contains the full path to a JSP file within the web application.
|
		    
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "URLPatternType"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C0A2C50042"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "urlPattern"
		    quid       	"38C0A2CF0136"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "HTTPMethodTypeEnum"
	    quid       	"38C0A2E200C6"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "GET"
		    quid       	"38C0A2FC004B"
		    documentation 	"The http-method contains an HTTP method (GET | POST |...)"
		    exportControl 	"Public")
		(object ClassAttribute "POST"
		    quid       	"3E4D52380134"
		    exportControl 	"Public")
		(object ClassAttribute "PUT"
		    quid       	"3E4D52390352"
		    exportControl 	"Public")
		(object ClassAttribute "DELETE"
		    quid       	"3E4D523B00DE"
		    exportControl 	"Public")
		(object ClassAttribute "HEAD"
		    quid       	"3E4D523C0393"
		    exportControl 	"Public")
		(object ClassAttribute "OPTIONS"
		    quid       	"3E4D523F0012"
		    exportControl 	"Public")
		(object ClassAttribute "TRACE"
		    quid       	"3E4D524001CC"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "RoleNameType"
	    quid       	"38C0A3400139"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "roleName"
		    quid       	"38C0A347003F"
		    type       	"String"))
	    language   	"Java")
	(object Class "WelcomeFile"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C0A5A800E9"
	    documentation 	
|The welcome-file element contains file name to use as a default welcome file, such as index.html
|
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "welcomeFile"
		    quid       	"38C0A5B1016E"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "TransportGuaranteeType"
	    quid       	"390461A9018F"
	    documentation 	
|NONE=1
|INTEGRAL=2
|CONFIDENTIAL=3
	    
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "NONE"
		    quid       	"399301820214"
		    exportControl 	"Public")
		(object ClassAttribute "INTEGRAL"
		    quid       	"39930183032D"
		    exportControl 	"Public")
		(object ClassAttribute "CONFIDENTIAL"
		    quid       	"3993018E00E4"
		    exportControl 	"Public")))
	(object Class "ExceptionTypeErrorPage"
	    quid       	"39883E110154"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"39883E3A0058"
		    supplier   	"Logical View::webapplication::ErrorPage"
		    quidu      	"38C07ACF03E2")))
	(object Class "ErrorCodeErrorPage"
	    quid       	"39883E6C0209"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"39883E9400A8"
		    supplier   	"Logical View::webapplication::ErrorPage"
		    quidu      	"38C07ACF03E2"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "errorCode"
		    quid       	"39883E8202AB"
		    documentation 	
|The error-code contains an HTTP error code, ex: 404
|
		    
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "FilterMapping"
	    quid       	"39BFB14C03DD"
	    documentation 	
|Declaration of the filter mappings in this web application. The container uses the filter-mapping declarations to decide which filters to apply to a request, and in what order. The container matches the request URI to a Servlet in the normal way. To determine which filters to apply it matches filter-mapping declarations either on servlet-name, or on url-pattern for each filter-mapping element, depending on which style is used. The order in which filters are invoked is the order in which filter-mapping declarations that match a request URI for a servlet appear in the list of filter-mapping elements.The filter-name value must be the value of the <filtername> sub-elements of one of the <filter> declarations in the deployment descriptor.
|
|@invariant The filter-name value must be the value of the Filter::name of one of the Filter declarations in the deployment descriptor.
|
	    
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "urlPattern"
		    quid       	"39BFB1890236"
		    documentation 	"The url-pattern element contains the url pattern of the mapping. Must follow the rules specified in Section 10 of the Servlet API Specification."
		    stereotype 	"0..1"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "dispatcherType"
		    quid       	"3E4D447E0376"
		    stereotype 	"0..4"
		    type       	"DispatcherType"
		    quidu      	"3E4D445B0376"
		    exportControl 	"Public")))
	(object Class "Filter"
	    quid       	"39BFB15503CC"
	    documentation 	
|Declares a filter in the web application application. The filter is mapped to either a servlet or a URL pattern in the filter-mapping element, using the filter-name value to reference. Filters can access the initialization parameters declared in the deployment descriptor at runtime via the FilterConfig interface.
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4023B08E0379"
		    supplier   	"Logical View::common::CompatibilityDescriptionGroup"
		    quidu      	"4023ADF20197"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"39BFB1BC032A"
		    documentation 	"The logical name of the filter. This name is used to map the filter."
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "DispatcherType"
	    quid       	"3E4D445B0376"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "FORWARD"
		    quid       	"3E4D446400BC"
		    exportControl 	"Public")
		(object ClassAttribute "INCLUDE"
		    quid       	"3E4D446703A5"
		    exportControl 	"Public")
		(object ClassAttribute "REQUEST"
		    quid       	"3E4D446902AE"
		    exportControl 	"Public")
		(object ClassAttribute "ERROR"
		    quid       	"3E4D446B0152"
		    exportControl 	"Public")))
	(object Class "LocalEncodingMappingList"
	    quid       	"3E4D56DA023E")
	(object Class "LocalEncodingMapping"
	    quid       	"3E4D56F20170"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "locale"
		    quid       	"3E4D570501F0"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "encoding"
		    quid       	"3E4D57080276"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "HTTPMethodType"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"3E930B050065"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "httpMethod"
		    quid       	"3E930B050066"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "AuthMethodKind"
	    quid       	"3EE0A2D8029A"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "UNSPECIFIED"
		    quid       	"3EE0A2FE037B"
		    exportControl 	"Public")
		(object ClassAttribute "BASIC"
		    quid       	"3EE0A30F033A"
		    exportControl 	"Public")
		(object ClassAttribute "DIGEST"
		    quid       	"3EE0A313023B"
		    exportControl 	"Public")
		(object ClassAttribute "FORM"
		    quid       	"3EE0A31801F2"
		    exportControl 	"Public")
		(object ClassAttribute "CLIENT_CERT"
		    quid       	"3EE0A31A0390"
		    exportControl 	"Public")))
	(object Association "$UNNAMED$0"
	    quid       	"38C11CE60213"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11CE8000D"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "contexts"
		    quid       	"38C11CE8000E"
		    documentation 	"@deprecated see contextParams"
		    label      	"contexts"
		    supplier   	"Logical View::webapplication::ContextParam"
		    quidu      	"38C078B602A6"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$1"
	    quid       	"38C11CF301A3"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11CF4026D"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "errorPages"
		    quid       	"38C11CF40277"
		    label      	"errorPages"
		    supplier   	"Logical View::webapplication::ErrorPage"
		    quidu      	"38C07ACF03E2"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$2"
	    quid       	"38C11CF7034E"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11CF803B3"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "fileList"
		    quid       	"38C11CF803B4"
		    label      	"fileList"
		    supplier   	"Logical View::webapplication::WelcomeFileList"
		    quidu      	"38C07AAD01A8"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$3"
	    quid       	"38C11CFB0281"
	    documentation 	"@since J2EE14 deprecated, replaced by tagLibRefs"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11CFD00A3"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "tagLibs"
		    quid       	"38C11CFD00A4"
		    documentation 	
|@deprecated See jsp::TagLibRef
|
		    
		    label      	"tagLibs"
		    supplier   	"Logical View::webapplication::TagLibRef"
		    quidu      	"38C07B3002E7"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$4"
	    quid       	"38C11D000134"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11D01018F"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "constraints"
		    quid       	"38C11D010199"
		    label      	"constraints"
		    supplier   	"Logical View::webapplication::SecurityConstraint"
		    quidu      	"38C07B6A02AE"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$5"
	    quid       	"38C11D110188"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11D120067"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "loginConfig"
		    quid       	"38C11D120071"
		    label      	"loginConfig"
		    supplier   	"Logical View::webapplication::LoginConfig"
		    quidu      	"38C07D0F006F"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$6"
	    quid       	"38C11D1501C0"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11D17023B"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "mimeMappings"
		    quid       	"38C11D170245"
		    label      	"mimeMappings"
		    supplier   	"Logical View::webapplication::MimeMapping"
		    quidu      	"38C07A7500FE"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$7"
	    quid       	"38C11D1B0327"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11D1C01F2"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "sessionConfig"
		    quid       	"38C11D1C01F3"
		    label      	"sessionConfig"
		    supplier   	"Logical View::webapplication::SessionConfig"
		    quidu      	"38C07A5301BD"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$8"
	    quid       	"38C11D1F02AB"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11D200298"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "servletMappings"
		    quid       	"38C11D2002A2"
		    label      	"servletMappings"
		    supplier   	"Logical View::webapplication::ServletMapping"
		    quidu      	"38C079BD02B9"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$9"
	    quid       	"38C11D230120"
	    roles      	(list role_list
		(object Role "webApp"
		    quid       	"38C11D2402DA"
		    label      	"webApp"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "servlets"
		    quid       	"38C11D2402E4"
		    label      	"servlets"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$10"
	    quid       	"38C11D2701DA"
	    roles      	(list role_list
		(object Role "$UNNAMED$11"
		    quid       	"38C11D2802C2"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    client_cardinality 	(value cardinality "0..1")
		    is_aggregate 	TRUE)
		(object Role "securityRoles"
		    quid       	"38C11D2802CC"
		    label      	"securityRoles"
		    supplier   	"Logical View::common::SecurityRole"
		    quidu      	"38C031FE012D"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$12"
	    quid       	"38C121ED02D6"
	    roles      	(list role_list
		(object Role "secConstraint"
		    quid       	"38C121EE01E7"
		    label      	"secConstraint"
		    supplier   	"Logical View::webapplication::SecurityConstraint"
		    quidu      	"38C07B6A02AE"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "webResourceCollections"
		    quid       	"38C121EE01F1"
		    label      	"webResourceCollections"
		    supplier   	"Logical View::webapplication::WebResourceCollection"
		    quidu      	"38C07B8703AB"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$13"
	    quid       	"38C121F200E9"
	    roles      	(list role_list
		(object Role "secConstraint"
		    quid       	"38C121F3039D"
		    label      	"secConstraint"
		    supplier   	"Logical View::webapplication::SecurityConstraint"
		    quidu      	"38C07B6A02AE"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "authConstraint"
		    quid       	"38C121F303A7"
		    label      	"authConstraint"
		    supplier   	"Logical View::webapplication::AuthConstraint"
		    quidu      	"38C07C8001A0"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$14"
	    quid       	"38C121F70208"
	    roles      	(list role_list
		(object Role "secConstraint"
		    quid       	"38C121F801EC"
		    label      	"secConstraint"
		    supplier   	"Logical View::webapplication::SecurityConstraint"
		    quidu      	"38C07B6A02AE"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "userDataConstraint"
		    quid       	"38C121F801ED"
		    label      	"userDataConstraint"
		    supplier   	"Logical View::webapplication::UserDataConstraint"
		    quidu      	"38C07CB800B0"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$15"
	    quid       	"38C122AC014A"
	    roles      	(list role_list
		(object Role "servlet"
		    quid       	"38C122AD0001"
		    label      	"servlet"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_aggregate 	TRUE)
		(object Role "webType"
		    quid       	"38C122AD0015"
		    label      	"webType"
		    supplier   	"Logical View::webapplication::WebType"
		    quidu      	"38C0A1F70294"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$16"
	    quid       	"38C122B501BB"
	    roles      	(list role_list
		(object Role "$UNNAMED$17"
		    quid       	"38C122B60145"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    client_cardinality 	(value cardinality "0..1")
		    is_aggregate 	TRUE)
		(object Role "params"
		    quid       	"38C122B60159"
		    documentation 	"@since J2EE1.4 deprecated, becomes initParams"
		    label      	"params"
		    supplier   	"Logical View::webapplication::InitParam"
		    quidu      	"38C08E9D0325"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$18"
	    quid       	"38C122C00199"
	    roles      	(list role_list
		(object Role "$UNNAMED$19"
		    quid       	"38C122C1028B"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    is_aggregate 	TRUE)
		(object Role "securityRoleRefs"
		    quid       	"38C122C1029F"
		    label      	"securityRoleRefs"
		    supplier   	"Logical View::common::SecurityRoleRef"
		    quidu      	"371BC7A0025C"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$20"
	    quid       	"38C123AF02C4"
	    roles      	(list role_list
		(object Role "fileList"
		    quid       	"38C123B30111"
		    label      	"fileList"
		    supplier   	"Logical View::webapplication::WelcomeFileList"
		    quidu      	"38C07AAD01A8"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "file"
		    quid       	"38C123B3011B"
		    label      	"file"
		    supplier   	"Logical View::webapplication::WelcomeFile"
		    quidu      	"38C0A5A800E9"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$21"
	    quid       	"38C124090179"
	    roles      	(list role_list
		(object Role "resCollection"
		    quid       	"38C1240A0256"
		    label      	"resCollection"
		    supplier   	"Logical View::webapplication::WebResourceCollection"
		    quidu      	"38C07B8703AB"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "URLs"
		    quid       	"38C1240A0260"
		    documentation 	"@since J2EE1.4 deprecated, becomes urlPattern"
		    label      	"URLs"
		    supplier   	"Logical View::webapplication::URLPatternType"
		    quidu      	"38C0A2C50042"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$22"
	    quid       	"38C1248900BE"
	    roles      	(list role_list
		(object Role "loginConfig"
		    quid       	"38C124890303"
		    label      	"loginConfig"
		    supplier   	"Logical View::webapplication::LoginConfig"
		    quidu      	"38C07D0F006F"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "formLoginConfig"
		    quid       	"38C12489030D"
		    label      	"formLoginConfig"
		    supplier   	"Logical View::webapplication::FormLoginConfig"
		    quidu      	"38C07D390296"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$23"
	    quid       	"39045E720204"
	    roles      	(list role_list
		(object Role "exceptionType"
		    quid       	"39045E730364"
		    documentation 	"The exception type contains a fully qualified class name of a Java exception type."
		    label      	"exceptionType"
		    supplier   	"Logical View::java::JavaClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "errorPage"
		    quid       	"39045E7401C1"
		    label      	"errorPage"
		    supplier   	"Logical View::webapplication::ExceptionTypeErrorPage"
		    quidu      	"39883E110154"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$24"
	    quid       	"390460AA0189"
	    roles      	(list role_list
		(object Role "servlet"
		    quid       	"390460AB0234"
		    label      	"servlet"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$25"
		    quid       	"390460AB02B6"
		    supplier   	"Logical View::webapplication::ServletMapping"
		    quidu      	"38C079BD02B9")))
	(object Association "$UNNAMED$26"
	    quid       	"39BFB3B101CC"
	    roles      	(list role_list
		(object Role "filters"
		    quid       	"39BFB3B20123"
		    label      	"filters"
		    supplier   	"Logical View::webapplication::Filter"
		    quidu      	"39BFB15503CC"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$27"
		    quid       	"39BFB3B2012D"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$28"
	    quid       	"39BFB4150298"
	    roles      	(list role_list
		(object Role "filterMappings"
		    quid       	"39BFB4160127"
		    documentation 	"Filter mappings defined for the web app"
		    label      	"filterMappings"
		    supplier   	"Logical View::webapplication::FilterMapping"
		    quidu      	"39BFB14C03DD"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$29"
		    quid       	"39BFB4160128"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$30"
	    quid       	"39BFB54D01EC"
	    roles      	(list role_list
		(object Role "listeners"
		    quid       	"39BFB54E0215"
		    documentation 	"The listeners collection contains deployment properties for a web application listener beans in the web app."
		    label      	"listeners"
		    supplier   	"Logical View::common::Listener"
		    quidu      	"39BFB26001BD"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$31"
		    quid       	"39BFB54E0220"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$32"
	    quid       	"39C0026E02D1"
	    roles      	(list role_list
		(object Role "initParams"
		    quid       	"39C0026F0160"
		    documentation 	
|@since J2EE1.4 deprecated, becomes initParamValues
|The init-params contain a name/value pairs as initialization params for the filter
|
		    
		    label      	"initParams"
		    supplier   	"Logical View::webapplication::InitParam"
		    quidu      	"38C08E9D0325"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$33"
		    quid       	"39C0026F016A"
		    supplier   	"Logical View::webapplication::Filter"
		    quidu      	"39BFB15503CC"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$34"
	    quid       	"39C0056A0293"
	    roles      	(list role_list
		(object Role "filter"
		    quid       	"39C0056B0321"
		    documentation 	"The filter being mapped"
		    label      	"filter"
		    supplier   	"Logical View::webapplication::Filter"
		    quidu      	"39BFB15503CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$35"
		    quid       	"39C0056B032B"
		    supplier   	"Logical View::webapplication::FilterMapping"
		    quidu      	"39BFB14C03DD"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$36"
	    quid       	"39C005BB00B9"
	    roles      	(list role_list
		(object Role "servlet"
		    quid       	"39C005BC004D"
		    documentation 	"An optional servlet that is mapped by a filter mapping.  servletName is used to resolve the servlet reference."
		    label      	"servlet"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$37"
		    quid       	"39C005BC0061"
		    supplier   	"Logical View::webapplication::FilterMapping"
		    quidu      	"39BFB14C03DD"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$38"
	    quid       	"39C03C280356"
	    roles      	(list role_list
		(object Role "filterClass"
		    quid       	"39C03C290267"
		    documentation 	"The fully qualified classname of the filter."
		    label      	"filterClass"
		    supplier   	"Logical View::java::JavaClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$39"
		    quid       	"39C03C29028F"
		    supplier   	"Logical View::webapplication::Filter"
		    quidu      	"39BFB15503CC"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$40"
	    quid       	"39C03E6C035A"
	    roles      	(list role_list
		(object Role "listenerClass"
		    quid       	"39C03E6D02A7"
		    documentation 	"The listener-class element declares a class in the application must be registered as a web application listener bean."
		    label      	"listenerClass"
		    supplier   	"Logical View::java::JavaClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$41"
		    quid       	"39C03E6D02CF"
		    supplier   	"Logical View::common::Listener"
		    quidu      	"39BFB26001BD"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$42"
	    quid       	"39982A2E0255"
	    roles      	(list role_list
		(object Role "runAs"
		    quid       	"39982A2F0184"
		    documentation 	"If defined for a servlet, overrides the security identity used to call an EJB by that servlet in this web application. The role-name is one of the security roles already defined for this web application."
		    label      	"runAs"
		    supplier   	"Logical View::common::RunAsSpecifiedIdentity"
		    quidu      	"39BF2C9E02C8"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$43"
		    quid       	"39982A2F018E"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$44"
	    quid       	"3E4D42CA027F"
	    roles      	(list role_list
		(object Role "contextParams"
		    quid       	"3E4D42CB0118"
		    label      	"contextParams"
		    supplier   	"Logical View::common::ParamValue"
		    quidu      	"3E4C221202C1"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$45"
		    quid       	"3E4D42CB0122"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$46"
	    quid       	"3E4D43AA000A"
	    roles      	(list role_list
		(object Role "initParamValues"
		    quid       	"3E4D43AA0245"
		    documentation 	
|@since J2EE1.4
|The init-param element contains a name/value pair as
|        an initialization param of a servlet filter
		    
		    label      	"initParamValues"
		    supplier   	"Logical View::common::ParamValue"
		    quidu      	"3E4C221202C1"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$47"
		    quid       	"3E4D43AA024F"
		    supplier   	"Logical View::webapplication::Filter"
		    quidu      	"39BFB15503CC"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$48"
	    quid       	"3E4D46E70387"
	    roles      	(list role_list
		(object Role "initParams"
		    quid       	"3E4D46E90005"
		    label      	"initParams"
		    supplier   	"Logical View::common::ParamValue"
		    quidu      	"3E4C221202C1"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$49"
		    quid       	"3E4D46E90019"
		    supplier   	"Logical View::webapplication::Servlet"
		    quidu      	"38C079140251"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$50"
	    quid       	"3E4D4BFF01C0"
	    roles      	(list role_list
		(object Role "jspConfig"
		    quid       	"3E4D4C000225"
		    label      	"jspConfig"
		    supplier   	"Logical View::jsp::JSPConfig"
		    quidu      	"3E4D4A3A01C8"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$51"
		    quid       	"3E4D4C000227"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$52"
	    quid       	"3E4D51010264"
	    roles      	(list role_list
		(object Role "displayNames"
		    quid       	"3E4D5102025B"
		    label      	"displayNames"
		    supplier   	"Logical View::common::DisplayName"
		    quidu      	"3E4A9922000E"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$53"
		    quid       	"3E4D51020265"
		    supplier   	"Logical View::webapplication::SecurityConstraint"
		    quidu      	"38C07B6A02AE"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$54"
	    quid       	"3E4D56A50224"
	    roles      	(list role_list
		(object Role "messageDestinations"
		    quid       	"3E4D56A60257"
		    label      	"messageDestinations"
		    supplier   	"Logical View::common::MessageDestination"
		    quidu      	"3E4C211001CF"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$55"
		    quid       	"3E4D56A60261"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$56"
	    quid       	"3E4D57140378"
	    roles      	(list role_list
		(object Role "localEncodingMappings"
		    quid       	"3E4D57150135"
		    label      	"localEncodingMappings"
		    supplier   	"Logical View::webapplication::LocalEncodingMapping"
		    quidu      	"3E4D56F20170"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$57"
		    quid       	"3E4D5715013F"
		    supplier   	"Logical View::webapplication::LocalEncodingMappingList"
		    quidu      	"3E4D56DA023E"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$58"
	    quid       	"3E4D572C0083"
	    roles      	(list role_list
		(object Role "localEncodingMappingList"
		    quid       	"3E4D572C02DC"
		    label      	"localEncodingMappingList"
		    supplier   	"Logical View::webapplication::LocalEncodingMappingList"
		    quidu      	"3E4D56DA023E"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$59"
		    quid       	"3E4D572C02DE"
		    supplier   	"Logical View::webapplication::WebApp"
		    quidu      	"38C077FB0352"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$60"
	    quid       	"3E4D515001BD"
	    roles      	(list role_list
		(object Role "descriptions"
		    quid       	"3E4D515101BE"
		    documentation 	"@since J2EE1.4"
		    label      	"descriptions"
		    supplier   	"Logical View::common::Description"
		    quidu      	"3E4A98D602E0"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$61"
		    quid       	"3E4D515101DC"
		    supplier   	"Logical View::webapplication::UserDataConstraint"
		    quidu      	"38C07CB800B0"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$62"
	    quid       	"3E4D514D0317"
	    roles      	(list role_list
		(object Role "descriptions"
		    quid       	"3E4D514E0106"
		    documentation 	"@since J2EE1.4"
		    label      	"descriptions"
		    supplier   	"Logical View::common::Description"
		    quidu      	"3E4A98D602E0"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$63"
		    quid       	"3E4D514E0124"
		    supplier   	"Logical View::webapplication::AuthConstraint"
		    quidu      	"38C07C8001A0"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$64"
	    quid       	"3E4D514B0089"
	    roles      	(list role_list
		(object Role "descriptions"
		    quid       	"3E4D514B03AA"
		    documentation 	"@since J2EE1.4"
		    label      	"descriptions"
		    supplier   	"Logical View::common::Description"
		    quidu      	"3E4A98D602E0"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$65"
		    quid       	"3E4D514B03C8"
		    supplier   	"Logical View::webapplication::WebResourceCollection"
		    quidu      	"38C07B8703AB"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$66"
	    quid       	"3E930B11030B"
	    roles      	(list role_list
		(object Role "HTTPs"
		    quid       	"3E930B1200DC"
		    documentation 	"@since J2EE1.4 deprecated, becomes httpMethod"
		    label      	"HTTPs"
		    supplier   	"Logical View::webapplication::HTTPMethodType"
		    quidu      	"3E930B050065"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "resCollection"
		    quid       	"3E930B1200E6"
		    label      	"resCollection"
		    supplier   	"Logical View::webapplication::WebResourceCollection"
		    quidu      	"38C07B8703AB"
		    client_cardinality 	(value cardinality "0..1")
		    is_aggregate 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "Web Application"
	    quid       	"38C08C880292"
	    title      	"Web Application"
	    documentation 	"@since J2EE1.4 deprecated, becomes descriptions"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object NoteView @1
		    location   	(781, 3113)
		    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   	(455, 2987)
			fill_color 	13434879
			nlines     	4
			max_width  	617
			label      	
|the servlet class reference is resolved via Beans.instantiate(),
|this is probably a reference to a JavaBean object
			)
		    line_color 	3342489
		    fill_color 	13434879
		    width      	677
		    height     	264)
		(object ClassView "Class" "Logical View::webapplication::ServletType" @2
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1520, 2832)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(1320, 2751)
			fill_color 	13434879
			nlines     	1
			max_width  	400
			justify    	0
			label      	"ServletType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A2320311"
		    compartment 	(object Compartment
			Parent_View 	@2
			location   	(1320, 2812)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	397)
		    width      	418
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::JSPType" @3
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2000, 2832)
		    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   	(1843, 2751)
			fill_color 	13434879
			nlines     	1
			max_width  	314
			justify    	0
			label      	"JSPType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A2640273"
		    compartment 	(object Compartment
			Parent_View 	@3
			location   	(1843, 2812)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	313)
		    width      	332
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::ErrorCodeErrorPage" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 960)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(39, 879)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"ErrorCodeErrorPage")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"39883E6C0209"
		    compartment 	(object Compartment
			Parent_View 	@4
			location   	(39, 940)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	369)
		    width      	420
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object NoteView @5
		    location   	(1125, 1431)
		    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 	@5
			location   	(834, 1368)
			fill_color 	13434879
			nlines     	2
			max_width  	546
			label      	
|DEPRECATED:
|ContextParam
			)
		    line_color 	10949559
		    fill_color 	15778042
		    width      	606
		    height     	138)
		(object ClassView "Class" "Logical View::common::JNDIEnvRefsGroup" @6
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2987, 848)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(2790, 769)
			fill_color 	13434879
			nlines     	1
			max_width  	394
			justify    	0
			label      	"JNDIEnvRefsGroup")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4D53950349"
		    width      	412
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JavaClass" @7
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(669, 1522)
		    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 	@7
			location   	(576, 1443)
			nlines     	2
			max_width  	186
			justify    	0
			label      	"JavaClass")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"36549FCC00FA"
		    width      	204
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::ExceptionTypeErrorPage" @8
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 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 	@8
			location   	(205, 1165)
			fill_color 	13434879
			nlines     	1
			max_width  	486
			justify    	0
			label      	"ExceptionTypeErrorPage")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"39883E110154"
		    width      	504
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$23" @9
		    location   	(588, 1354)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"39045E720204"
		    roleview_list 	(list RoleViews
			(object RoleView "exceptionType" @10
			    Parent_View 	@9
			    location   	(-132, 410)
			    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   	(417, 1397)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	480
				justify    	0
				label      	"+exceptionType"
				pctDist    	0.555556
				height     	172
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39045E730364"
			    client     	@9
			    supplier   	@7
			    vertices   	(list Points
				(588, 1354)
				(588, 1431))
			    line_style 	3
			    origin_attachment 	(588, 1354)
			    terminal_attachment 	(588, 1431)
			    label      	(object SegLabel @12
				Parent_View 	@10
				location   	(642, 1423)
				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 "errorPage" @13
			    Parent_View 	@9
			    location   	(-132, 410)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39045E7401C1"
			    client     	@9
			    supplier   	@8
			    vertices   	(list Points
				(588, 1354)
				(588, 1278))
			    line_style 	3
			    origin_attachment 	(588, 1354)
			    terminal_attachment 	(588, 1278))))
		(object ClassView "Class" "Logical View::webapplication::FormLoginConfig" @14
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3936, 2448)
		    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 	@14
			location   	(3704, 2342)
			fill_color 	13434879
			nlines     	1
			max_width  	464
			justify    	0
			label      	"FormLoginConfig")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07D390296"
		    compartment 	(object Compartment
			Parent_View 	@14
			location   	(3704, 2403)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	463)
		    width      	482
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::WebType" @15
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1776, 2480)
		    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 	@15
			location   	(1674, 2429)
			fill_color 	13434879
			nlines     	1
			max_width  	204
			justify    	0
			label      	"WebType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A1F70294"
		    width      	222
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @16
		    location   	(1776, 2635)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@15
		    vertices   	(list Points
			(1776, 2635)
			(1776, 2543)))
		(object InheritView "" @17
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C0A2900258"
		    client     	@3
		    supplier   	@15
		    vertices   	(list Points
			(1949, 2739)
			(1949, 2635))
		    line_style 	3
		    origin_attachment 	(1949, 2739)
		    terminal_attachment 	(1949, 2635)
		    drawSupplier 	@16)
		(object InheritView "" @18
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C0A28C02AD"
		    client     	@2
		    supplier   	@15
		    vertices   	(list Points
			(1519, 2739)
			(1519, 2635))
		    line_style 	3
		    origin_attachment 	(1519, 2739)
		    terminal_attachment 	(1519, 2635)
		    drawSupplier 	@16)
		(object ClassView "Class" "Logical View::common::SecurityRoleRef" @19
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(241, 1782)
		    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   	(44, 1603)
			fill_color 	13434879
			nlines     	2
			max_width  	394
			justify    	0
			label      	"SecurityRoleRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"371BC7A0025C"
		    compartment 	(object Compartment
			Parent_View 	@19
			location   	(44, 1708)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	391)
		    width      	412
		    height     	382
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::LocalEncodingMapping" @20
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3248, 256)
		    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   	(3022, 150)
			fill_color 	13434879
			nlines     	1
			max_width  	452
			justify    	0
			label      	"LocalEncodingMapping")
		    icon_style 	"Icon"
		    line_color 	10949559
		    fill_color 	15778042
		    quidu      	"3E4D56F20170"
		    compartment 	(object Compartment
			Parent_View 	@20
			location   	(3022, 211)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	356)
		    width      	470
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::ContextParam" @21
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1088, 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 	@21
			location   	(943, 1255)
			nlines     	1
			max_width  	290
			justify    	0
			label      	"ContextParam")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C078B602A6"
		    width      	308
		    height     	107
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::ErrorPage" @22
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 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 	@22
			location   	(136, 511)
			fill_color 	13434879
			nlines     	1
			max_width  	336
			justify    	0
			label      	"ErrorPage")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07ACF03E2"
		    compartment 	(object Compartment
			Parent_View 	@22
			location   	(136, 572)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	335)
		    width      	354
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @23
		    location   	(304, 800)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@22
		    vertices   	(list Points
			(304, 800)
			(304, 685)))
		(object InheritView "" @24
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"39883E3A0058"
		    client     	@8
		    supplier   	@22
		    vertices   	(list Points
			(447, 1153)
			(447, 800))
		    line_style 	3
		    origin_attachment 	(447, 1153)
		    terminal_attachment 	(447, 800)
		    drawSupplier 	@23)
		(object InheritView "" @25
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"39883E9400A8"
		    client     	@4
		    supplier   	@22
		    vertices   	(list Points
			(209, 867)
			(209, 800))
		    line_style 	3
		    origin_attachment 	(209, 867)
		    terminal_attachment 	(209, 800)
		    drawSupplier 	@23)
		(object ClassView "Class" "Logical View::webapplication::WelcomeFileList" @26
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 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 	@26
			location   	(100, 279)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"WelcomeFileList")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07AAD01A8"
		    width      	362
		    height     	107
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::TagLibRef" @27
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1280, 144)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@27
			location   	(1057, 38)
			fill_color 	13434879
			nlines     	1
			max_width  	446
			justify    	0
			label      	"TagLibRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07B3002E7"
		    compartment 	(object Compartment
			Parent_View 	@27
			location   	(1057, 99)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	444)
		    width      	464
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::SecurityConstraint" @28
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1712, 128)
		    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   	(1528, 87)
			fill_color 	13434879
			nlines     	1
			max_width  	368
			justify    	0
			label      	"SecurityConstraint")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07B6A02AE"
		    width      	386
		    height     	107
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::LoginConfig" @29
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3840, 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 	@29
			location   	(3469, 1661)
			fill_color 	13434879
			nlines     	1
			max_width  	742
			justify    	0
			label      	"LoginConfig")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07D0F006F"
		    compartment 	(object Compartment
			Parent_View 	@29
			location   	(3469, 1722)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	741)
		    width      	760
		    height     	286
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$22" @30
		    location   	(3918, 2132)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C1248900BE"
		    roleview_list 	(list RoleViews
			(object RoleView "formLoginConfig" @31
			    Parent_View 	@30
			    location   	(291, 263)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @32
				Parent_View 	@31
				location   	(4103, 2263)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	327
				justify    	0
				label      	"+formLoginConfig"
				pctDist    	0.671498
				height     	185
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C12489030D"
			    client     	@30
			    supplier   	@14
			    vertices   	(list Points
				(3918, 2132)
				(3918, 2329))
			    line_style 	3
			    origin_attachment 	(3918, 2132)
			    terminal_attachment 	(3918, 2329)
			    label      	(object SegLabel @33
				Parent_View 	@31
				location   	(3972, 2308)
				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 	0))
			(object RoleView "loginConfig" @34
			    Parent_View 	@30
			    location   	(291, 263)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @35
				Parent_View 	@34
				location   	(4089, 2033)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	229
				justify    	0
				label      	"+loginConfig"
				pctDist    	0.500139
				height     	171
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C124890303"
			    client     	@30
			    supplier   	@29
			    vertices   	(list Points
				(3918, 2132)
				(3918, 1935))
			    line_style 	3
			    origin_attachment 	(3918, 2132)
			    terminal_attachment 	(3918, 1935)
			    label      	(object SegLabel @36
				Parent_View 	@34
				location   	(3992, 1971)
				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.820777
				height     	74
				orientation 	1))))
		(object ClassView "Class" "Logical View::webapplication::MimeMapping" @37
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2848, 1888)
		    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 	@37
			location   	(2656, 1782)
			fill_color 	13434879
			nlines     	1
			max_width  	384
			justify    	0
			label      	"MimeMapping")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07A7500FE"
		    compartment 	(object Compartment
			Parent_View 	@37
			location   	(2656, 1843)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	381)
		    width      	402
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::SessionConfig" @38
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2640, 2304)
		    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   	(2431, 2223)
			fill_color 	13434879
			nlines     	1
			max_width  	418
			justify    	0
			label      	"SessionConfig")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07A5301BD"
		    compartment 	(object Compartment
			Parent_View 	@38
			location   	(2431, 2284)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	416)
		    width      	436
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::ServletMapping" @39
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1968, 2192)
		    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 	@39
			location   	(1782, 2086)
			fill_color 	13434879
			nlines     	1
			max_width  	372
			justify    	0
			label      	"ServletMapping")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C079BD02B9"
		    compartment 	(object Compartment
			Parent_View 	@39
			location   	(1782, 2147)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	369)
		    width      	390
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::Servlet" @40
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(992, 2416)
		    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 	@40
			location   	(666, 2310)
			fill_color 	13434879
			nlines     	1
			max_width  	652
			justify    	0
			label      	"Servlet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C079140251"
		    compartment 	(object Compartment
			Parent_View 	@40
			location   	(666, 2371)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	650)
		    width      	670
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$15" @41
		    location   	(1496, 2475)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C122AC014A"
		    roleview_list 	(list RoleViews
			(object RoleView "webType" @42
			    Parent_View 	@41
			    location   	(760, 171)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @43
				Parent_View 	@42
				location   	(1523, 2509)
				font       	(object Font
				    size       	10
				    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      	"+webType"
				pctDist    	0.166667
				height     	34
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122AD0015"
			    client     	@41
			    supplier   	@15
			    vertices   	(list Points
				(1496, 2475)
				(1665, 2475))
			    line_style 	3
			    origin_attachment 	(1496, 2475)
			    terminal_attachment 	(1665, 2475)
			    label      	(object SegLabel @44
				Parent_View 	@42
				location   	(1647, 2529)
				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 "servlet" @45
			    Parent_View 	@41
			    location   	(760, 171)
			    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      	"38C122AD0001"
			    client     	@41
			    supplier   	@40
			    vertices   	(list Points
				(1496, 2475)
				(1327, 2475))
			    line_style 	3
			    origin_attachment 	(1496, 2475)
			    terminal_attachment 	(1327, 2475)
			    label      	(object SegLabel @46
				Parent_View 	@45
				location   	(1368, 2526)
				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.763636
				height     	51
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$24" @47
		    location   	(1609, 2352)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"390460AA0189"
		    roleview_list 	(list RoleViews
			(object RoleView "servlet" @48
			    Parent_View 	@47
			    location   	(-39, 144)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @49
				Parent_View 	@48
				location   	(1457, 2312)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	245
				justify    	0
				label      	"+servlet"
				pctDist    	0.543478
				height     	41
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"390460AB0234"
			    client     	@47
			    supplier   	@40
			    vertices   	(list Points
				(1609, 2352)
				(1327, 2352))
			    line_style 	3
			    origin_attachment 	(1609, 2352)
			    terminal_attachment 	(1327, 2352)
			    label      	(object SegLabel @50
				Parent_View 	@48
				location   	(1356, 2406)
				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$25" @51
			    Parent_View 	@47
			    location   	(-39, 144)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"390460AB02B6"
			    client     	@47
			    supplier   	@39
			    vertices   	(list Points
				(1609, 2352)
				(1848, 2352)
				(1848, 2310))
			    line_style 	3
			    origin_attachment 	(1609, 2352)
			    terminal_attachment 	(1848, 2310))))
		(object AssociationViewNew "$UNNAMED$18" @52
		    location   	(368, 2293)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C122C00199"
		    roleview_list 	(list RoleViews
			(object RoleView "securityRoleRefs" @53
			    Parent_View 	@52
			    location   	(-688, -11)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @54
				Parent_View 	@53
				location   	(551, 2046)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	540
				justify    	0
				label      	"+securityRoleRefs"
				pctDist    	0.770492
				height     	183
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122C1029F"
			    client     	@52
			    supplier   	@19
			    vertices   	(list Points
				(368, 2293)
				(368, 1973))
			    line_style 	3
			    origin_attachment 	(368, 2293)
			    terminal_attachment 	(368, 1973)
			    label      	(object SegLabel @55
				Parent_View 	@53
				location   	(439, 2172)
				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.377049
				height     	71
				orientation 	1))
			(object RoleView "$UNNAMED$19" @56
			    Parent_View 	@52
			    location   	(-688, -11)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @57
				Parent_View 	@56
				location   	(467, 2257)
				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  	245
				justify    	0
				label      	""
				pctDist    	0.455285
				height     	97
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122C1028B"
			    client     	@52
			    supplier   	@40
			    vertices   	(list Points
				(368, 2293)
				(368, 2353)
				(657, 2353))
			    line_style 	3
			    origin_attachment 	(368, 2293)
			    terminal_attachment 	(657, 2353))))
		(object ClassView "Class" "Logical View::common::SecurityRole" @58
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1238, 1770)
		    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 	@58
			location   	(1041, 1641)
			fill_color 	13434879
			nlines     	1
			max_width  	394
			justify    	0
			label      	"SecurityRole")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C031FE012D"
		    compartment 	(object Compartment
			Parent_View 	@58
			location   	(1041, 1746)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	391)
		    width      	412
		    height     	282
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "" @59
		    location   	(716, 1835)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3904632A005C"
		    roleview_list 	(list RoleViews
			(object RoleView "" @60
			    Parent_View 	@59
			    location   	(-372, 139)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @61
				Parent_View 	@60
				location   	(541, 1789)
				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  	505
				justify    	0
				label      	""
				pctDist    	0.671141
				height     	63
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3904632B01BC"
			    client     	@59
			    supplier   	@19
			    vertices   	(list Points
				(716, 1835)
				(716, 1851)
				(447, 1851))
			    line_style 	3
			    origin_attachment 	(716, 1835)
			    terminal_attachment 	(447, 1851)
			    label      	(object SegLabel @62
				Parent_View 	@60
				location   	(588, 1851)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	5
				anchor_loc 	1
				nlines     	1
				max_width  	244
				justify    	0
				label      	"name : String"
				pctDist    	0.900000
				height     	12
				orientation 	1))
			(object RoleView "/linkedSecurityRole" @63
			    Parent_View 	@59
			    location   	(-372, 139)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @64
				Parent_View 	@63
				location   	(866, 1728)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	602
				justify    	0
				label      	"+/linkedSecurityRole"
				pctDist    	0.500000
				height     	92
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3904632B016C"
			    client     	@59
			    supplier   	@58
			    vertices   	(list Points
				(716, 1835)
				(716, 1819)
				(1032, 1819))
			    line_style 	3
			    origin_attachment 	(716, 1835)
			    terminal_attachment 	(1032, 1819)
			    label      	(object SegLabel @65
				Parent_View 	@63
				location   	(999, 1873)
				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::common::ParamValue" @66
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(778, 969)
		    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 	@66
			location   	(581, 815)
			fill_color 	13434879
			nlines     	1
			max_width  	394
			justify    	0
			label      	"ParamValue")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4C221202C1"
		    compartment 	(object Compartment
			Parent_View 	@66
			location   	(581, 920)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	391)
		    width      	412
		    height     	332
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::jsp::JSPConfig" @67
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(688, 192)
		    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 	@67
			location   	(551, 114)
			fill_color 	13434879
			nlines     	1
			max_width  	274
			justify    	0
			label      	"JSPConfig")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4D4A3A01C8"
		    width      	292
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::MessageDestination" @68
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3040, 1168)
		    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 	@68
			location   	(2837, 1064)
			fill_color 	13434879
			nlines     	1
			max_width  	406
			justify    	0
			label      	"MessageDestination")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4C211001CF"
		    compartment 	(object Compartment
			Parent_View 	@68
			location   	(2837, 1169)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	294)
		    width      	424
		    height     	232
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::LocalEncodingMappingList" @69
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2032, 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 	@69
			location   	(1769, 221)
			fill_color 	13434879
			nlines     	1
			max_width  	526
			justify    	0
			label      	"LocalEncodingMappingList")
		    icon_style 	"Icon"
		    line_color 	10949559
		    fill_color 	16711935
		    quidu      	"3E4D56DA023E"
		    width      	544
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$56" @70
		    location   	(2658, 263)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D57140378"
		    roleview_list 	(list RoleViews
			(object RoleView "localEncodingMappings" @71
			    Parent_View 	@70
			    location   	(604, 13)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @72
				Parent_View 	@71
				location   	(2704, 208)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	460
				justify    	0
				label      	"+localEncodingMappings"
				pctDist    	0.130252
				height     	55
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D57150135"
			    client     	@70
			    supplier   	@20
			    vertices   	(list Points
				(2658, 263)
				(3012, 259))
			    line_style 	0
			    label      	(object SegLabel @73
				Parent_View 	@71
				location   	(2926, 313)
				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.755633
				height     	53
				orientation 	1))
			(object RoleView "$UNNAMED$57" @74
			    Parent_View 	@70
			    location   	(604, 13)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D5715013F"
			    client     	@70
			    supplier   	@69
			    vertices   	(list Points
				(2658, 263)
				(2304, 268))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::webapplication::WebApp" @75
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 1168)
		    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 	@75
			location   	(1679, 1084)
			fill_color 	13434879
			nlines     	1
			max_width  	450
			justify    	0
			label      	"WebApp")
		    stereotype 	(object ItemLabel
			Parent_View 	@75
			location   	(1679, 1034)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	450
			justify    	0
			label      	"<<component>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C077FB0352"
		    compartment 	(object Compartment
			Parent_View 	@75
			location   	(1679, 1145)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	447)
		    width      	468
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$0" @76
		    location   	(1455, 1237)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11CE60213"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @77
			    Parent_View 	@76
			    location   	(1135, -155)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @78
				Parent_View 	@77
				location   	(1622, 1169)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CE8000D"
			    client     	@76
			    supplier   	@75
			    vertices   	(list Points
				(1455, 1237)
				(1669, 1204))
			    line_style 	0
			    label      	(object SegLabel @79
				Parent_View 	@77
				location   	(1655, 1260)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "contexts" @80
			    Parent_View 	@76
			    location   	(1135, -155)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @81
				Parent_View 	@80
				location   	(1363, 1205)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	289
				justify    	0
				label      	"+contexts"
				pctDist    	0.396886
				height     	48
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CE8000E"
			    client     	@76
			    supplier   	@21
			    vertices   	(list Points
				(1455, 1237)
				(1242, 1271))
			    line_style 	0
			    label      	(object SegLabel @82
				Parent_View 	@80
				location   	(1312, 1306)
				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  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.707751
				height     	46
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$1" @83
		    location   	(1075, 869)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11CF301A3"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @84
			    Parent_View 	@83
			    location   	(707, -75)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @85
				Parent_View 	@84
				location   	(1563, 1001)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CF4026D"
			    client     	@83
			    supplier   	@75
			    vertices   	(list Points
				(1075, 869)
				(1669, 1083))
			    line_style 	0
			    label      	(object SegLabel @86
				Parent_View 	@84
				location   	(1591, 1112)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "errorPages" @87
			    Parent_View 	@83
			    location   	(707, -75)
			    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   	(615, 659)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	364
				justify    	0
				label      	"+errorPages"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CF40277"
			    client     	@83
			    supplier   	@22
			    vertices   	(list Points
				(1075, 869)
				(481, 655))
			    line_style 	0
			    label      	(object SegLabel @89
				Parent_View 	@87
				location   	(525, 728)
				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  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$2" @90
		    location   	(1021, 709)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11CF7034E"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @91
			    Parent_View 	@90
			    location   	(669, 149)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @92
				Parent_View 	@91
				location   	(1558, 942)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CF803B3"
			    client     	@90
			    supplier   	@75
			    vertices   	(list Points
				(1021, 709)
				(1669, 1045))
			    line_style 	0
			    label      	(object SegLabel @93
				Parent_View 	@91
				location   	(1579, 1059)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "fileList" @94
			    Parent_View 	@90
			    location   	(669, 149)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @95
				Parent_View 	@94
				location   	(523, 404)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	241
				justify    	0
				label      	"+fileList"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CF803B4"
			    client     	@90
			    supplier   	@26
			    vertices   	(list Points
				(1021, 709)
				(374, 373))
			    line_style 	0
			    label      	(object SegLabel @96
				Parent_View 	@94
				location   	(386, 423)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.954993
				height     	39
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$3" @97
		    location   	(1582, 641)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11CFB0281"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @98
			    Parent_View 	@97
			    location   	(1086, 401)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @99
				Parent_View 	@98
				location   	(1803, 924)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CFD00A3"
			    client     	@97
			    supplier   	@75
			    vertices   	(list Points
				(1582, 641)
				(1813, 1021))
			    line_style 	0
			    label      	(object SegLabel @100
				Parent_View 	@98
				location   	(1745, 1011)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "tagLibs" @101
			    Parent_View 	@97
			    location   	(1086, 401)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @102
				Parent_View 	@101
				location   	(1434, 318)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	258
				justify    	0
				label      	"+tagLibs"
				pctDist    	0.799648
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11CFD00A4"
			    client     	@97
			    supplier   	@27
			    vertices   	(list Points
				(1582, 641)
				(1351, 262))
			    line_style 	0
			    label      	(object SegLabel @103
				Parent_View 	@101
				location   	(1329, 328)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$4" @104
		    location   	(1799, 601)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D000134"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @105
			    Parent_View 	@104
			    location   	(647, 329)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @106
				Parent_View 	@105
				location   	(1821, 944)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D01018F"
			    client     	@104
			    supplier   	@75
			    vertices   	(list Points
				(1799, 601)
				(1877, 1021))
			    line_style 	0
			    label      	(object SegLabel @107
				Parent_View 	@105
				location   	(1922, 969)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "constraints" @108
			    Parent_View 	@104
			    location   	(647, 329)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @109
				Parent_View 	@108
				location   	(1869, 348)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	364
				justify    	0
				label      	"+constraints"
				pctDist    	0.558074
				height     	115
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D010199"
			    client     	@104
			    supplier   	@28
			    vertices   	(list Points
				(1799, 601)
				(1721, 181))
			    line_style 	0
			    label      	(object SegLabel @110
				Parent_View 	@108
				location   	(1837, 400)
				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  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.449356
				height     	74
				orientation 	1)
			    label      	(object SegLabel @111
				Parent_View 	@108
				location   	(1854, 290)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	163
				justify    	0
				label      	"{ordered}"
				pctDist    	0.697317
				height     	111
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$5" @112
		    location   	(2798, 1456)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D110188"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @113
			    Parent_View 	@112
			    location   	(30, -48)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @114
				Parent_View 	@113
				location   	(2283, 1247)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D120067"
			    client     	@112
			    supplier   	@75
			    vertices   	(list Points
				(2798, 1456)
				(2138, 1243))
			    line_style 	0
			    label      	(object SegLabel @115
				Parent_View 	@113
				location   	(2188, 1315)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "loginConfig" @116
			    Parent_View 	@112
			    location   	(30, -48)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @117
				Parent_View 	@116
				location   	(3339, 1587)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	369
				justify    	0
				label      	"+loginConfig"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D120071"
			    client     	@112
			    supplier   	@29
			    vertices   	(list Points
				(2798, 1456)
				(3459, 1669))
			    line_style 	0
			    label      	(object SegLabel @118
				Parent_View 	@116
				location   	(3376, 1698)
				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  	74
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$6" @119
		    location   	(2394, 1541)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D1501C0"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @120
			    Parent_View 	@119
			    location   	(-262, -411)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @121
				Parent_View 	@120
				location   	(2180, 1328)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D17023B"
			    client     	@119
			    supplier   	@75
			    vertices   	(list Points
				(2394, 1541)
				(2095, 1314))
			    line_style 	0
			    label      	(object SegLabel @122
				Parent_View 	@120
				location   	(2094, 1380)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "mimeMappings" @123
			    Parent_View 	@119
			    location   	(-262, -411)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @124
				Parent_View 	@123
				location   	(2869, 1728)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	502
				justify    	0
				label      	"+mimeMappings"
				pctDist    	1.308311
				height     	141
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D170245"
			    client     	@119
			    supplier   	@37
			    vertices   	(list Points
				(2394, 1541)
				(2693, 1769))
			    line_style 	0
			    label      	(object SegLabel @125
				Parent_View 	@123
				location   	(2615, 1774)
				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  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.839808
				height     	51
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$7" @126
		    location   	(2288, 1762)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D1B0327"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @127
			    Parent_View 	@126
			    location   	(192, -622)
			    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   	(2023, 1427)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D1C01F2"
			    client     	@126
			    supplier   	@75
			    vertices   	(list Points
				(2288, 1762)
				(1998, 1314))
			    line_style 	0
			    label      	(object SegLabel @129
				Parent_View 	@127
				location   	(2072, 1330)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "sessionConfig" @130
			    Parent_View 	@126
			    location   	(192, -622)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @131
				Parent_View 	@130
				location   	(2361, 2141)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	492
				justify    	0
				label      	"+sessionConfig"
				pctDist    	0.668862
				height     	146
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D1C01F3"
			    client     	@126
			    supplier   	@38
			    vertices   	(list Points
				(2288, 1762)
				(2579, 2210))
			    line_style 	0
			    label      	(object SegLabel @132
				Parent_View 	@130
				location   	(2437, 2089)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.665477
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$8" @133
		    location   	(1936, 1693)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D1F02AB"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @134
			    Parent_View 	@133
			    location   	(496, -723)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @135
				Parent_View 	@134
				location   	(1877, 1393)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	303
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D200298"
			    client     	@133
			    supplier   	@75
			    vertices   	(list Points
				(1936, 1693)
				(1913, 1314))
			    line_style 	0
			    label      	(object SegLabel @136
				Parent_View 	@134
				location   	(1969, 1351)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "servletMappings" @137
			    Parent_View 	@133
			    location   	(496, -723)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @138
				Parent_View 	@137
				location   	(1787, 2031)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	543
				justify    	0
				label      	"+servletMappings"
				pctDist    	0.859756
				height     	171
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D2002A2"
			    client     	@133
			    supplier   	@39
			    vertices   	(list Points
				(1936, 1693)
				(1960, 2073))
			    line_style 	0
			    label      	(object SegLabel @139
				Parent_View 	@137
				location   	(1916, 1977)
				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  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.745715
				height     	39
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$9" @140
		    location   	(1437, 1805)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D230120"
		    roleview_list 	(list RoleViews
			(object RoleView "webApp" @141
			    Parent_View 	@140
			    location   	(637, -643)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @142
				Parent_View 	@141
				location   	(1691, 1389)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+webApp"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D2402DA"
			    client     	@140
			    supplier   	@75
			    vertices   	(list Points
				(1437, 1805)
				(1797, 1314))
			    line_style 	0
			    label      	(object SegLabel @143
				Parent_View 	@141
				location   	(1805, 1395)
				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  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "servlets" @144
			    Parent_View 	@140
			    location   	(637, -643)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @145
				Parent_View 	@144
				location   	(1233, 2207)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	281
				justify    	0
				label      	"+servlets"
				pctDist    	0.730379
				height     	73
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D2402E4"
			    client     	@140
			    supplier   	@40
			    vertices   	(list Points
				(1437, 1805)
				(1077, 2297))
			    line_style 	0
			    label      	(object SegLabel @146
				Parent_View 	@144
				location   	(1195, 2256)
				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  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.833390
				height     	71
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$10" @147
		    location   	(1566, 1471)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C11D2701DA"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$11" @148
			    Parent_View 	@147
			    location   	(1198, -417)
			    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   	(1677, 1316)
				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  	267
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D2802C2"
			    client     	@147
			    supplier   	@75
			    vertices   	(list Points
				(1566, 1471)
				(1740, 1314))
			    line_style 	0
			    label      	(object SegLabel @150
				Parent_View 	@148
				location   	(1758, 1370)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	80
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "securityRoles" @151
			    Parent_View 	@147
			    location   	(1198, -417)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @152
				Parent_View 	@151
				location   	(1401, 1566)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	457
				justify    	0
				label      	"+securityRoles"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C11D2802CC"
			    client     	@147
			    supplier   	@58
			    vertices   	(list Points
				(1566, 1471)
				(1392, 1628))
			    line_style 	0
			    label      	(object SegLabel @153
				Parent_View 	@151
				location   	(1446, 1652)
				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  	74
				justify    	0
				label      	"0..n"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$44" @154
		    location   	(1326, 1065)
		    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      	"3E4D42CA027F"
		    roleview_list 	(list RoleViews
			(object RoleView "contextParams" @155
			    Parent_View 	@154
			    location   	(-577, -102)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @156
				Parent_View 	@155
				location   	(1186, 981)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	316
				justify    	0
				label      	"+contextParams"
				pctDist    	0.437430
				height     	59
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D42CB0118"
			    client     	@154
			    supplier   	@66
			    vertices   	(list Points
				(1326, 1065)
				(984, 1004))
			    line_style 	0
			    label      	(object SegLabel @157
				Parent_View 	@155
				location   	(1011, 1063)
				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 "$UNNAMED$45" @158
			    Parent_View 	@154
			    location   	(-577, -102)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D42CB0122"
			    client     	@154
			    supplier   	@75
			    vertices   	(list Points
				(1326, 1065)
				(1669, 1126))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$50" @159
		    location   	(1261, 651)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D4BFF01C0"
		    roleview_list 	(list RoleViews
			(object RoleView "jspConfig" @160
			    Parent_View 	@159
			    location   	(-642, -516)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @161
				Parent_View 	@160
				location   	(827, 382)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	190
				justify    	0
				label      	"+jspConfig"
				pctDist    	0.861516
				height     	62
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D4C000225"
			    client     	@159
			    supplier   	@67
			    vertices   	(list Points
				(1261, 651)
				(800, 282))
			    line_style 	0
			    label      	(object SegLabel @162
				Parent_View 	@160
				location   	(760, 323)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.012447
				height     	57
				orientation 	0))
			(object RoleView "$UNNAMED$51" @163
			    Parent_View 	@159
			    location   	(-642, -516)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D4C000227"
			    client     	@159
			    supplier   	@75
			    vertices   	(list Points
				(1261, 651)
				(1722, 1021))
			    line_style 	0)))
		(object InheritView "" @164
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D55CA03E2"
		    client     	@75
		    supplier   	@6
		    vertices   	(list Points
			(2138, 1098)
			(2780, 908))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$54" @165
		    location   	(2482, 1168)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D56A50224"
		    roleview_list 	(list RoleViews
			(object RoleView "messageDestinations" @166
			    Parent_View 	@165
			    location   	(579, 1)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @167
				Parent_View 	@166
				location   	(2562, 1122)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	424
				justify    	0
				label      	"+messageDestinations"
				pctDist    	0.231859
				height     	47
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D56A60257"
			    client     	@165
			    supplier   	@68
			    vertices   	(list Points
				(2482, 1168)
				(2827, 1168))
			    line_style 	0
			    label      	(object SegLabel @168
				Parent_View 	@166
				location   	(2768, 1219)
				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.827856
				height     	51
				orientation 	1))
			(object RoleView "$UNNAMED$55" @169
			    Parent_View 	@165
			    location   	(579, 1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D56A60261"
			    client     	@165
			    supplier   	@75
			    vertices   	(list Points
				(2482, 1168)
				(2138, 1168))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$58" @170
		    location   	(1974, 678)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D572C0083"
		    roleview_list 	(list RoleViews
			(object RoleView "localEncodingMappingList" @171
			    Parent_View 	@170
			    location   	(71, -489)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @172
				Parent_View 	@171
				location   	(2300, 370)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	496
				justify    	0
				label      	"+localEncodingMappingList"
				pctDist    	1.015374
				height     	279
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D572C02DC"
			    client     	@170
			    supplier   	@69
			    vertices   	(list Points
				(1974, 678)
				(2023, 335))
			    line_style 	0
			    label      	(object SegLabel @173
				Parent_View 	@171
				location   	(1953, 375)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.861045
				height     	65
				orientation 	0))
			(object RoleView "$UNNAMED$59" @174
			    Parent_View 	@170
			    location   	(71, -489)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D572C02DE"
			    client     	@170
			    supplier   	@75
			    vertices   	(list Points
				(1974, 678)
				(1925, 1021))
			    line_style 	0)))))
	(object ClassDiagram "Security Constraint"
	    quid       	"38C08DCB020A"
	    title      	"Security Constraint"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::webapplication::HTTPMethodTypeEnum" @175
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 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 	@175
			location   	(74, 1643)
			fill_color 	13434879
			nlines     	1
			max_width  	460
			justify    	0
			label      	"HTTPMethodTypeEnum")
		    stereotype 	(object ItemLabel
			Parent_View 	@175
			location   	(74, 1593)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	460
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	10949559
		    fill_color 	15778042
		    quidu      	"38C0A2E200C6"
		    compartment 	(object Compartment
			Parent_View 	@175
			location   	(74, 1704)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	8
			max_width  	228)
		    width      	478
		    height     	518
		    annotation 	8
		    autoResize 	TRUE)
		(object NoteView @176
		    location   	(234, 1187)
		    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 	@176
			location   	(56, 1009)
			fill_color 	13434879
			nlines     	7
			max_width  	321
			label      	
|@since J2EE1.4
|urlPattern
|httpMethod
			)
		    line_color 	10949559
		    fill_color 	15778042
		    width      	381
		    height     	369)
		(object ClassView "Class" "Logical View::webapplication::TransportGuaranteeType" @177
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2752, 688)
		    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 	@177
			location   	(2514, 585)
			fill_color 	13434879
			nlines     	1
			max_width  	476
			justify    	0
			label      	"TransportGuaranteeType")
		    stereotype 	(object ItemLabel
			Parent_View 	@177
			location   	(2514, 535)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	476
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"390461A9018F"
		    compartment 	(object Compartment
			Parent_View 	@177
			location   	(2514, 646)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	338)
		    width      	494
		    height     	330
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::DisplayName" @178
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2503, 175)
		    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 	@178
			location   	(2287, 46)
			fill_color 	13434879
			nlines     	1
			max_width  	432
			justify    	0
			label      	"DisplayName")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4A9922000E"
		    compartment 	(object Compartment
			Parent_View 	@178
			location   	(2287, 161)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	466)
		    width      	450
		    height     	282
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::UserDataConstraint" @179
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2208, 1248)
		    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 	@179
			location   	(1772, 1147)
			fill_color 	13434879
			nlines     	1
			max_width  	872
			justify    	0
			label      	"UserDataConstraint")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07CB800B0"
		    compartment 	(object Compartment
			Parent_View 	@179
			location   	(1772, 1208)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	878)
		    width      	890
		    height     	226
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::AuthConstraint" @180
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1488, 832)
		    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 	@180
			location   	(1280, 731)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"AuthConstraint")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07C8001A0"
		    compartment 	(object Compartment
			Parent_View 	@180
			location   	(1280, 792)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	456)
		    width      	434
		    height     	226
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::SecurityConstraint" @181
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1088, 128)
		    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 	@181
			location   	(890, 50)
			fill_color 	13434879
			nlines     	1
			max_width  	396
			justify    	0
			label      	"SecurityConstraint")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07B6A02AE"
		    compartment 	(object Compartment
			Parent_View 	@181
			location   	(890, 111)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	428)
		    width      	414
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$52" @182
		    location   	(1786, 88)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D51010264"
		    roleview_list 	(list RoleViews
			(object RoleView "displayNames" @183
			    Parent_View 	@182
			    location   	(698, -40)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @184
				Parent_View 	@183
				location   	(2118, 45)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	286
				justify    	0
				label      	"+displayNames"
				pctDist    	0.675510
				height     	44
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D5102025B"
			    client     	@182
			    supplier   	@178
			    vertices   	(list Points
				(1786, 88)
				(2278, 88))
			    line_style 	3
			    origin_attachment 	(1786, 88)
			    terminal_attachment 	(2278, 88)
			    label      	(object SegLabel @185
				Parent_View 	@183
				location   	(2228, 142)
				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 "$UNNAMED$53" @186
			    Parent_View 	@182
			    location   	(698, -40)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D51020265"
			    client     	@182
			    supplier   	@181
			    vertices   	(list Points
				(1786, 88)
				(1295, 88))
			    line_style 	3
			    origin_attachment 	(1786, 88)
			    terminal_attachment 	(1295, 88))))
		(object AssociationViewNew "$UNNAMED$14" @187
		    location   	(2097, 234)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C121F70208"
		    roleview_list 	(list RoleViews
			(object RoleView "secConstraint" @188
			    Parent_View 	@187
			    location   	(257, -582)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @189
				Parent_View 	@188
				location   	(1599, 208)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+secConstraint"
				pctDist    	0.662192
				height     	73
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C121F801EC"
			    client     	@187
			    supplier   	@181
			    vertices   	(list Points
				(2097, 234)
				(2097, 135)
				(1295, 135))
			    line_style 	3
			    origin_attachment 	(2097, 234)
			    terminal_attachment 	(1295, 135)
			    label      	(object SegLabel @190
				Parent_View 	@188
				location   	(1479, 121)
				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.796421
				height     	15
				orientation 	1))
			(object RoleView "userDataConstraint" @191
			    Parent_View 	@187
			    location   	(257, -582)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @192
				Parent_View 	@191
				location   	(2296, 959)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+userDataConstraint"
				pctDist    	0.805369
				height     	199
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C121F801ED"
			    client     	@187
			    supplier   	@179
			    vertices   	(list Points
				(2097, 234)
				(2097, 1135))
			    line_style 	3
			    origin_attachment 	(2097, 234)
			    terminal_attachment 	(2097, 1135)
			    label      	(object SegLabel @193
				Parent_View 	@191
				location   	(2151, 1044)
				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 	0))))
		(object AssociationViewNew "$UNNAMED$13" @194
		    location   	(1412, 422)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C121F200E9"
		    roleview_list 	(list RoleViews
			(object RoleView "secConstraint" @195
			    Parent_View 	@194
			    location   	(324, -362)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @196
				Parent_View 	@195
				location   	(1540, 216)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+secConstraint"
				pctDist    	0.648069
				height     	149
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C121F3039D"
			    client     	@194
			    supplier   	@181
			    vertices   	(list Points
				(1412, 422)
				(1391, 422)
				(1391, 188)
				(1295, 188))
			    line_style 	3
			    origin_attachment 	(1412, 422)
			    terminal_attachment 	(1295, 188)
			    label      	(object SegLabel @197
				Parent_View 	@195
				location   	(1330, 135)
				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 RoleView "authConstraint" @198
			    Parent_View 	@194
			    location   	(324, -362)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @199
				Parent_View 	@198
				location   	(1586, 610)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+authConstraint"
				pctDist    	0.662393
				height     	152
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C121F303A7"
			    client     	@194
			    supplier   	@180
			    vertices   	(list Points
				(1412, 422)
				(1434, 422)
				(1434, 719))
			    line_style 	3
			    origin_attachment 	(1412, 422)
			    terminal_attachment 	(1434, 719)
			    label      	(object SegLabel @200
				Parent_View 	@198
				location   	(1488, 687)
				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 	0))))
		(object ClassView "Class" "Logical View::common::Description" @201
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1247, 1695)
		    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 	@201
			location   	(1119, 1566)
			fill_color 	13434879
			nlines     	1
			max_width  	256
			justify    	0
			label      	"Description")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4A98D602E0"
		    compartment 	(object Compartment
			Parent_View 	@201
			location   	(1119, 1681)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	284)
		    width      	274
		    height     	282
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$60" @202
		    location   	(1860, 1625)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3E4D515001BD"
		    roleview_list 	(list RoleViews
			(object RoleView "descriptions" @203
			    Parent_View 	@202
			    location   	(-44, 889)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @204
				Parent_View 	@203
				location   	(1615, 1699)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	260
				justify    	0
				label      	"+descriptions"
				pctDist    	0.516224
				height     	74
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D515101BE"
			    client     	@202
			    supplier   	@201
			    vertices   	(list Points
				(1860, 1625)
				(1384, 1625))
			    line_style 	3
			    origin_attachment 	(1860, 1625)
			    terminal_attachment 	(1384, 1625)
			    label      	(object SegLabel @205
				Parent_View 	@203
				location   	(1432, 1679)
				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 "$UNNAMED$61" @206
			    Parent_View 	@202
			    location   	(-44, 889)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D515101DC"
			    client     	@202
			    supplier   	@179
			    vertices   	(list Points
				(1860, 1625)
				(2071, 1625)
				(2071, 1361))
			    line_style 	3
			    origin_attachment 	(1860, 1625)
			    terminal_attachment 	(2071, 1361))))
		(object AssociationViewNew "$UNNAMED$62" @207
		    location   	(1331, 1263)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3E4D514D0317"
		    roleview_list 	(list RoleViews
			(object RoleView "descriptions" @208
			    Parent_View 	@207
			    location   	(195, 495)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @209
				Parent_View 	@208
				location   	(1149, 1437)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	260
				justify    	0
				label      	"+descriptions"
				pctDist    	0.649007
				height     	143
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D514E0106"
			    client     	@207
			    supplier   	@201
			    vertices   	(list Points
				(1331, 1263)
				(1291, 1263)
				(1291, 1554))
			    line_style 	3
			    origin_attachment 	(1331, 1263)
			    terminal_attachment 	(1291, 1554)
			    label      	(object SegLabel @210
				Parent_View 	@208
				location   	(1372, 1462)
				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.721854
				height     	81
				orientation 	0))
			(object RoleView "$UNNAMED$63" @211
			    Parent_View 	@207
			    location   	(195, 495)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D514E0124"
			    client     	@207
			    supplier   	@180
			    vertices   	(list Points
				(1331, 1263)
				(1371, 1263)
				(1371, 945))
			    line_style 	3
			    origin_attachment 	(1331, 1263)
			    terminal_attachment 	(1371, 945))))
		(object ClassView "Class" "Logical View::webapplication::WebResourceCollection" @212
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(592, 720)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@212
			location   	(158, 572)
			fill_color 	13434879
			nlines     	1
			max_width  	868
			justify    	0
			label      	"WebResourceCollection")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07B8703AB"
		    compartment 	(object Compartment
			Parent_View 	@212
			location   	(158, 633)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	894)
		    width      	886
		    height     	320
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$12" @213
		    location   	(494, 110)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C121ED02D6"
		    roleview_list 	(list RoleViews
			(object RoleView "secConstraint" @214
			    Parent_View 	@213
			    location   	(174, -658)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @215
				Parent_View 	@214
				location   	(770, 71)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+secConstraint"
				pctDist    	0.715719
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C121EE01E7"
			    client     	@213
			    supplier   	@181
			    vertices   	(list Points
				(494, 110)
				(881, 110))
			    line_style 	3
			    origin_attachment 	(494, 110)
			    terminal_attachment 	(881, 110)
			    label      	(object SegLabel @216
				Parent_View 	@214
				location   	(842, 164)
				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 RoleView "webResourceCollections" @217
			    Parent_View 	@213
			    location   	(174, -658)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @218
				Parent_View 	@217
				location   	(685, 528)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	468
				justify    	0
				label      	"+webResourceCollections"
				pctDist    	0.939655
				height     	251
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C121EE01F1"
			    client     	@213
			    supplier   	@212
			    vertices   	(list Points
				(494, 110)
				(434, 110)
				(434, 560))
			    line_style 	3
			    origin_attachment 	(494, 110)
			    terminal_attachment 	(434, 560)
			    label      	(object SegLabel @219
				Parent_View 	@217
				location   	(501, 481)
				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.847769
				height     	67
				orientation 	0))))
		(object AttachView "" @220
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@176
		    supplier   	@212
		    vertices   	(list Points
			(373, 1002)
			(466, 880))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$64" @221
		    location   	(691, 1474)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3E4D514B0089"
		    roleview_list 	(list RoleViews
			(object RoleView "descriptions" @222
			    Parent_View 	@221
			    location   	(307, 722)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @223
				Parent_View 	@222
				location   	(889, 1610)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	260
				justify    	0
				label      	"+descriptions"
				pctDist    	0.627204
				height     	39
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D514B03AA"
			    client     	@221
			    supplier   	@201
			    vertices   	(list Points
				(691, 1474)
				(691, 1648)
				(1110, 1648))
			    line_style 	3
			    origin_attachment 	(691, 1474)
			    terminal_attachment 	(1110, 1648)
			    label      	(object SegLabel @224
				Parent_View 	@222
				location   	(1008, 1690)
				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.828715
				height     	42
				orientation 	1))
			(object RoleView "$UNNAMED$65" @225
			    Parent_View 	@221
			    location   	(307, 722)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D514B03C8"
			    client     	@221
			    supplier   	@212
			    vertices   	(list Points
				(691, 1474)
				(691, 880))
			    line_style 	3
			    origin_attachment 	(691, 1474)
			    terminal_attachment 	(691, 880))))))
	(object ClassDiagram "Servlet Descriptors"
	    quid       	"38C08E5C01F5"
	    title      	"Servlet Descriptors"
	    documentation 	"The servlet-class element contains the fully qualified class name of the servlet."
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	1220
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::common::DescriptionGroup" @226
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(837, 2048)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@226
			location   	(659, 1970)
			fill_color 	13434879
			nlines     	1
			max_width  	356
			justify    	0
			label      	"DescriptionGroup")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4D451F01FB"
		    width      	374
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::ServletType" @227
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2000, 96)
		    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 	@227
			location   	(1818, 18)
			fill_color 	13434879
			nlines     	1
			max_width  	364
			justify    	0
			label      	"ServletType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A2320311"
		    compartment 	(object Compartment
			Parent_View 	@227
			location   	(1818, 79)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	397)
		    width      	382
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::JSPType" @228
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1424, 112)
		    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 	@228
			location   	(1286, 34)
			fill_color 	13434879
			nlines     	1
			max_width  	276
			justify    	0
			label      	"JSPType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A2640273"
		    compartment 	(object Compartment
			Parent_View 	@228
			location   	(1286, 95)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	313)
		    width      	294
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::InitParam" @229
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(288, 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 	@229
			location   	(94, 1011)
			nlines     	1
			max_width  	388
			justify    	0
			label      	"InitParam")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"38C08E9D0325"
		    compartment 	(object Compartment
			Parent_View 	@229
			location   	(94, 1072)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			anchor     	2
			nlines     	4
			max_width  	413)
		    width      	406
		    height     	274
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::SecurityRoleRef" @230
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1824, 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 	@230
			location   	(1646, 574)
			fill_color 	13434879
			nlines     	2
			max_width  	356
			justify    	0
			label      	"SecurityRoleRef")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"371BC7A0025C"
		    compartment 	(object Compartment
			Parent_View 	@230
			location   	(1646, 689)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	391)
		    width      	374
		    height     	380
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::WebType" @231
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1792, 416)
		    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 	@231
			location   	(1690, 366)
			fill_color 	13434879
			nlines     	1
			max_width  	204
			justify    	0
			label      	"WebType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A1F70294"
		    width      	222
		    height     	124
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @232
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C0A28C02AD"
		    client     	@227
		    supplier   	@231
		    vertices   	(list Points
			(1941, 186)
			(1832, 353))
		    line_style 	0)
		(object InheritView "" @233
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C0A2900258"
		    client     	@228
		    supplier   	@231
		    vertices   	(list Points
			(1533, 202)
			(1716, 353))
		    line_style 	0)
		(object ClassView "Class" "Logical View::common::RunAsSpecifiedIdentity" @234
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1847, 1164)
		    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 	@234
			location   	(1622, 1055)
			fill_color 	13434879
			nlines     	1
			max_width  	450
			justify    	0
			label      	"RunAsSpecifiedIdentity")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"39BF2C9E02C8"
		    width      	468
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::ParamValue" @235
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(484, 1637)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@235
			location   	(307, 1484)
			fill_color 	13434879
			nlines     	1
			max_width  	354
			justify    	0
			label      	"ParamValue")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4C221202C1"
		    compartment 	(object Compartment
			Parent_View 	@235
			location   	(307, 1599)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	391)
		    width      	372
		    height     	330
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::Servlet" @236
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 336)
		    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 	@236
			location   	(186, 235)
			fill_color 	13434879
			nlines     	1
			max_width  	620
			justify    	0
			label      	"Servlet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C079140251"
		    compartment 	(object Compartment
			Parent_View 	@236
			location   	(186, 296)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	650)
		    width      	638
		    height     	226
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$16" @237
		    location   	(393, 723)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C122B501BB"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$17" @238
			    Parent_View 	@237
			    location   	(73, -413)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @239
				Parent_View 	@238
				location   	(309, 532)
				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  	144
				justify    	0
				label      	""
				pctDist    	0.698718
				height     	85
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122B60145"
			    client     	@237
			    supplier   	@236
			    vertices   	(list Points
				(393, 723)
				(393, 448))
			    line_style 	3
			    origin_attachment 	(393, 723)
			    terminal_attachment 	(393, 448)
			    label      	(object SegLabel @240
				Parent_View 	@238
				location   	(465, 532)
				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.698718
				height     	72
				orientation 	1))
			(object RoleView "params" @241
			    Parent_View 	@237
			    location   	(73, -413)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @242
				Parent_View 	@241
				location   	(486, 916)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	165
				justify    	0
				label      	"+params"
				pctDist    	0.707182
				height     	93
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122B60159"
			    client     	@237
			    supplier   	@229
			    vertices   	(list Points
				(393, 723)
				(393, 998))
			    line_style 	3
			    origin_attachment 	(393, 723)
			    terminal_attachment 	(393, 998)
			    label      	(object SegLabel @243
				Parent_View 	@241
				location   	(350, 915)
				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.700637
				height     	44
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$18" @244
		    location   	(1310, 396)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C122C00199"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$19" @245
			    Parent_View 	@244
			    location   	(-594, -772)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @246
				Parent_View 	@245
				location   	(897, 360)
				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.836449
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122C1028B"
			    client     	@244
			    supplier   	@236
			    vertices   	(list Points
				(1310, 396)
				(815, 396))
			    line_style 	3
			    origin_attachment 	(1310, 396)
			    terminal_attachment 	(815, 396))
			(object RoleView "securityRoleRefs" @247
			    Parent_View 	@244
			    location   	(-594, -772)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @248
				Parent_View 	@247
				location   	(1573, 365)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+securityRoleRefs"
				pctDist    	0.533816
				height     	32
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122C1029F"
			    client     	@244
			    supplier   	@230
			    vertices   	(list Points
				(1310, 396)
				(1639, 396)
				(1639, 562))
			    line_style 	3
			    origin_attachment 	(1310, 396)
			    terminal_attachment 	(1639, 562)
			    label      	(object SegLabel @249
				Parent_View 	@247
				location   	(1603, 448)
				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.770531
				height     	37
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$15" @250
		    location   	(1248, 359)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C122AC014A"
		    roleview_list 	(list RoleViews
			(object RoleView "webType" @251
			    Parent_View 	@250
			    location   	(112, 39)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @252
				Parent_View 	@251
				location   	(1562, 402)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	188
				justify    	0
				label      	"+webType"
				pctDist    	0.724390
				height     	43
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122AD0015"
			    client     	@250
			    supplier   	@231
			    vertices   	(list Points
				(1248, 359)
				(1681, 359))
			    line_style 	3
			    origin_attachment 	(1248, 359)
			    terminal_attachment 	(1681, 359)
			    label      	(object SegLabel @253
				Parent_View 	@251
				location   	(1637, 306)
				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 "servlet" @254
			    Parent_View 	@250
			    location   	(112, 39)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @255
				Parent_View 	@254
				location   	(903, 401)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	141
				justify    	0
				label      	"+servlet"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C122AD0001"
			    client     	@250
			    supplier   	@236
			    vertices   	(list Points
				(1248, 359)
				(815, 359))
			    line_style 	3
			    origin_attachment 	(1248, 359)
			    terminal_attachment 	(815, 359)
			    label      	(object SegLabel @256
				Parent_View 	@254
				location   	(877, 322)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.858537
				height     	38
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$42" @257
		    location   	(746, 1169)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"39982A2E0255"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$43" @258
			    Parent_View 	@257
			    location   	(-334, 239)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @259
				Parent_View 	@258
				location   	(558, 622)
				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      	"39982A2F018E"
			    client     	@257
			    supplier   	@236
			    vertices   	(list Points
				(746, 1169)
				(599, 1169)
				(599, 449))
			    line_style 	3
			    origin_attachment 	(746, 1169)
			    terminal_attachment 	(599, 449))
			(object RoleView "runAs" @260
			    Parent_View 	@257
			    location   	(-334, 239)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @261
				Parent_View 	@260
				location   	(1516, 1223)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	136
				justify    	0
				label      	"+runAs"
				pctDist    	0.889843
				height     	54
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39982A2F0184"
			    client     	@257
			    supplier   	@234
			    vertices   	(list Points
				(746, 1169)
				(1613, 1169))
			    line_style 	3
			    origin_attachment 	(746, 1169)
			    terminal_attachment 	(1613, 1169)
			    label      	(object SegLabel @262
				Parent_View 	@260
				location   	(1543, 1126)
				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.919886
				height     	44
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$48" @263
		    location   	(528, 960)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D46E70387"
		    roleview_list 	(list RoleViews
			(object RoleView "initParams" @264
			    Parent_View 	@263
			    location   	(14, 570)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @265
				Parent_View 	@264
				location   	(404, 1406)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+initParams"
				pctDist    	0.871622
				height     	125
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D46E90005"
			    client     	@263
			    supplier   	@235
			    vertices   	(list Points
				(528, 960)
				(528, 1472))
			    line_style 	3
			    origin_attachment 	(528, 960)
			    terminal_attachment 	(528, 1472)
			    label      	(object SegLabel @266
				Parent_View 	@264
				location   	(582, 1421)
				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 "$UNNAMED$49" @267
			    Parent_View 	@263
			    location   	(14, 570)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D46E90019"
			    client     	@263
			    supplier   	@236
			    vertices   	(list Points
				(528, 960)
				(528, 449))
			    line_style 	3
			    origin_attachment 	(528, 960)
			    terminal_attachment 	(528, 449))))))
	(object ClassDiagram "WelcomeFile Relation"
	    quid       	"38C0A8210287"
	    title      	"WelcomeFile Relation"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::webapplication::WelcomeFileList" @268
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1120, 192)
		    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 	@268
			location   	(948, 142)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"WelcomeFileList")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07AAD01A8"
		    width      	362
		    height     	124
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::WelcomeFile" @269
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1088, 672)
		    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 	@269
			location   	(894, 594)
			fill_color 	13434879
			nlines     	1
			max_width  	388
			justify    	0
			label      	"WelcomeFile")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A5A800E9"
		    compartment 	(object Compartment
			Parent_View 	@269
			location   	(894, 655)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	419)
		    width      	406
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$20" @270
		    location   	(1003, 417)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C123AF02C4"
		    roleview_list 	(list RoleViews
			(object RoleView "fileList" @271
			    Parent_View 	@270
			    location   	(-69, -191)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @272
				Parent_View 	@271
				location   	(899, 287)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	144
				justify    	0
				label      	"+fileList"
				pctDist    	0.797101
				height     	105
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C123B30111"
			    client     	@270
			    supplier   	@268
			    vertices   	(list Points
				(1003, 417)
				(1003, 254))
			    line_style 	3
			    origin_attachment 	(1003, 417)
			    terminal_attachment 	(1003, 254)
			    label      	(object SegLabel @273
				Parent_View 	@271
				location   	(1074, 291)
				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.775362
				height     	71
				orientation 	1))
			(object RoleView "file" @274
			    Parent_View 	@270
			    location   	(-69, -191)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @275
				Parent_View 	@274
				location   	(962, 548)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"+file"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C123B3011B"
			    client     	@270
			    supplier   	@269
			    vertices   	(list Points
				(1003, 417)
				(1003, 581))
			    line_style 	3
			    origin_attachment 	(1003, 417)
			    terminal_attachment 	(1003, 581)
			    label      	(object SegLabel @276
				Parent_View 	@274
				location   	(1058, 543)
				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.776978
				height     	55
				orientation 	0))))))
	(object ClassDiagram "WebResourceCollection Relation"
	    quid       	"38C0A8600241"
	    title      	"WebResourceCollection Relation"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	175
	    origin_y   	106
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::webapplication::HTTPMethodTypeEnum" @277
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 688)
		    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 	@277
			location   	(1658, 479)
			fill_color 	13434879
			nlines     	1
			max_width  	460
			justify    	0
			label      	"HTTPMethodTypeEnum")
		    stereotype 	(object ItemLabel
			Parent_View 	@277
			location   	(1658, 429)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	460
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A2E200C6"
		    compartment 	(object Compartment
			Parent_View 	@277
			location   	(1658, 540)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	8
			max_width  	228)
		    width      	478
		    height     	542
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::URLPatternType" @278
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(656, 864)
		    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 	@278
			location   	(470, 783)
			fill_color 	13434879
			nlines     	1
			max_width  	372
			justify    	0
			label      	"URLPatternType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A2C50042"
		    compartment 	(object Compartment
			Parent_View 	@278
			location   	(470, 844)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	369)
		    width      	390
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::HTTPMethodType" @279
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1376, 832)
		    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 	@279
			location   	(1176, 751)
			fill_color 	13434879
			nlines     	1
			max_width  	400
			justify    	0
			label      	"HTTPMethodType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3E930B050065"
		    compartment 	(object Compartment
			Parent_View 	@279
			location   	(1176, 812)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	397)
		    width      	418
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::WebResourceCollection" @280
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1040, 240)
		    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 	@280
			location   	(592, 84)
			fill_color 	13434879
			nlines     	1
			max_width  	896
			justify    	0
			label      	"WebResourceCollection")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07B8703AB"
		    compartment 	(object Compartment
			Parent_View 	@280
			location   	(592, 145)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	894)
		    width      	914
		    height     	336
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$21" @281
		    location   	(824, 589)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C124090179"
		    roleview_list 	(list RoleViews
			(object RoleView "resCollection" @282
			    Parent_View 	@281
			    location   	(136, -115)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @283
				Parent_View 	@282
				location   	(750, 472)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	264
				justify    	0
				label      	"+resCollection"
				pctDist    	0.289589
				height     	126
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C1240A0256"
			    client     	@281
			    supplier   	@280
			    vertices   	(list Points
				(824, 589)
				(935, 408))
			    line_style 	0
			    label      	(object SegLabel @284
				Parent_View 	@282
				location   	(810, 513)
				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.274733
				height     	53
				orientation 	0))
			(object RoleView "URLs" @285
			    Parent_View 	@281
			    location   	(136, -115)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @286
				Parent_View 	@285
				location   	(627, 711)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+URLs"
				pctDist    	0.976229
				height     	106
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C1240A0260"
			    client     	@281
			    supplier   	@278
			    vertices   	(list Points
				(824, 589)
				(713, 770))
			    line_style 	0
			    label      	(object SegLabel @287
				Parent_View 	@285
				location   	(802, 739)
				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.663320
				height     	60
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$66" @288
		    location   	(1228, 573)
		    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      	"3E930B11030B"
		    roleview_list 	(list RoleViews
			(object RoleView "HTTPs" @289
			    Parent_View 	@288
			    location   	(183, 328)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @290
				Parent_View 	@289
				location   	(1189, 679)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	145
				justify    	0
				label      	"+HTTPs"
				pctDist    	0.381010
				height     	87
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E930B1200DC"
			    client     	@288
			    supplier   	@279
			    vertices   	(list Points
				(1228, 573)
				(1322, 738))
			    line_style 	0
			    label      	(object SegLabel @291
				Parent_View 	@289
				location   	(1359, 695)
				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 "resCollection" @292
			    Parent_View 	@288
			    location   	(183, 328)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @293
				Parent_View 	@292
				location   	(1332, 468)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	257
				justify    	0
				label      	"+resCollection"
				pctDist    	0.218163
				height     	142
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E930B1200E6"
			    client     	@288
			    supplier   	@280
			    vertices   	(list Points
				(1228, 573)
				(1135, 408))
			    line_style 	0
			    label      	(object SegLabel @294
				Parent_View 	@292
				location   	(1100, 466)
				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.827573
				height     	60
				orientation 	0))))))
	(object ClassDiagram "loginConfig Relation"
	    quid       	"38C0A8BF03E2"
	    title      	"loginConfig Relation"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	13
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::webapplication::LoginConfig" @295
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1104, 208)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@295
			location   	(753, 83)
			fill_color 	13434879
			nlines     	1
			max_width  	702
			justify    	0
			label      	"LoginConfig")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07D0F006F"
		    compartment 	(object Compartment
			Parent_View 	@295
			location   	(753, 144)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	742)
		    width      	720
		    height     	274
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::FormLoginConfig" @296
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 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 	@296
			location   	(917, 795)
			fill_color 	13434879
			nlines     	1
			max_width  	438
			justify    	0
			label      	"FormLoginConfig")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C07D390296"
		    compartment 	(object Compartment
			Parent_View 	@296
			location   	(917, 856)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	463)
		    width      	456
		    height     	226
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$22" @297
		    location   	(1136, 564)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C1248900BE"
		    roleview_list 	(list RoleViews
			(object RoleView "loginConfig" @298
			    Parent_View 	@297
			    location   	(0, -332)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @299
				Parent_View 	@298
				location   	(1004, 369)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+loginConfig"
				pctDist    	0.892952
				height     	133
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C124890303"
			    client     	@297
			    supplier   	@295
			    vertices   	(list Points
				(1136, 564)
				(1136, 345))
			    line_style 	3
			    origin_attachment 	(1136, 564)
			    terminal_attachment 	(1136, 345)
			    label      	(object SegLabel @300
				Parent_View 	@298
				location   	(1190, 367)
				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 RoleView "formLoginConfig" @301
			    Parent_View 	@297
			    location   	(0, -332)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @302
				Parent_View 	@301
				location   	(968, 748)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	327
				justify    	0
				label      	"+formLoginConfig"
				pctDist    	0.844073
				height     	169
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C12489030D"
			    client     	@297
			    supplier   	@296
			    vertices   	(list Points
				(1136, 564)
				(1136, 783))
			    line_style 	3
			    origin_attachment 	(1136, 564)
			    terminal_attachment 	(1136, 783)
			    label      	(object SegLabel @303
				Parent_View 	@301
				location   	(1190, 761)
				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 	0))))
		(object ClassView "Class" "Logical View::webapplication::AuthMethodKind" @304
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 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 	@304
			location   	(190, 490)
			fill_color 	13434879
			nlines     	1
			max_width  	356
			justify    	0
			label      	"AuthMethodKind")
		    stereotype 	(object ItemLabel
			Parent_View 	@304
			location   	(190, 440)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	353
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3EE0A2D8029A"
		    compartment 	(object Compartment
			Parent_View 	@304
			location   	(190, 551)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	6
			max_width  	319)
		    width      	374
		    height     	424
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "data types"
	    quid       	"39048A240321"
	    title      	"data types"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::webapplication::TransportGuaranteeType" @305
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 432)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@305
			location   	(114, 329)
			fill_color 	13434879
			nlines     	1
			max_width  	476
			justify    	0
			label      	"TransportGuaranteeType")
		    stereotype 	(object ItemLabel
			Parent_View 	@305
			location   	(114, 279)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	476
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"390461A9018F"
		    compartment 	(object Compartment
			Parent_View 	@305
			location   	(114, 390)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	338)
		    width      	494
		    height     	330
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::ResAuthTypeBase" @306
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(944, 240)
		    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 	@306
			location   	(755, 108)
			fill_color 	13434879
			nlines     	1
			max_width  	378
			justify    	0
			label      	"ResAuthTypeBase")
		    stereotype 	(object ItemLabel
			Parent_View 	@306
			location   	(755, 58)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	378
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C09ED400B4"
		    compartment 	(object Compartment
			Parent_View 	@306
			location   	(755, 223)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	259)
		    width      	396
		    height     	388
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::ResAuthServletType" @307
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(944, 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 	@307
			location   	(741, 657)
			fill_color 	13434879
			nlines     	1
			max_width  	406
			justify    	0
			label      	"ResAuthServletType")
		    stereotype 	(object ItemLabel
			Parent_View 	@307
			location   	(741, 607)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	406
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C09EEA0265"
		    compartment 	(object Compartment
			Parent_View 	@307
			location   	(741, 718)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	281)
		    width      	424
		    height     	282
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "Servlet2.4 - Filters"
	    quid       	"39BFB13E021A"
	    title      	"Servlet2.4 - Filters"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object NoteView @308
		    location   	(3070, 200)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	16777215
			default_color 	FALSE)
		    label      	(object ItemLabel
			Parent_View 	@308
			location   	(2691, 81)
			fill_color 	13434879
			nlines     	4
			max_width  	722
			label      	"TODO: Implement helpers for resolution of Servlet and Filter for FilterMapping by servletName and name.  Since we have refs, we may want to remove the names.")
		    line_color 	3342489
		    fill_color 	255
		    width      	782
		    height     	250)
		(object ClassView "Class" "Logical View::webapplication::Servlet" @309
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2160, 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 	@309
			location   	(2079, 498)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Servlet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C079140251"
		    height     	117
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::Listener" @310
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2267, 115)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@310
			location   	(2147, 37)
			fill_color 	13434879
			nlines     	1
			max_width  	240
			justify    	0
			label      	"Listener")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434833
		    quidu      	"39BFB26001BD"
		    width      	258
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object AttachView "" @311
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@308
		    supplier   	@310
		    vertices   	(list Points
			(2678, 157)
			(2396, 127))
		    line_style 	0)
		(object ClassView "Class" "Logical View::webapplication::InitParam" @312
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 1168)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@312
			location   	(62, 1067)
			fill_color 	13434879
			nlines     	1
			max_width  	388
			justify    	0
			label      	"InitParam")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C08E9D0325"
		    compartment 	(object Compartment
			Parent_View 	@312
			location   	(62, 1128)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	413)
		    width      	406
		    height     	226
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::FilterMapping" @313
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1408, 576)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@313
			location   	(1011, 475)
			fill_color 	13434879
			nlines     	1
			max_width  	794
			justify    	0
			label      	"FilterMapping")
		    icon_style 	"Icon"
		    line_color 	4227072
		    fill_color 	13434833
		    quidu      	"39BFB14C03DD"
		    compartment 	(object Compartment
			Parent_View 	@313
			location   	(1011, 536)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	826)
		    width      	812
		    height     	226
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$36" @314
		    location   	(1942, 538)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39C005BB00B9"
		    roleview_list 	(list RoleViews
			(object RoleView "servlet" @315
			    Parent_View 	@314
			    location   	(694, -6)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @316
				Parent_View 	@315
				location   	(2006, 499)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	141
				justify    	0
				label      	"+servlet"
				pctDist    	0.497041
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C005BC004D"
			    client     	@314
			    supplier   	@309
			    vertices   	(list Points
				(1942, 538)
				(2070, 538))
			    line_style 	3
			    origin_attachment 	(1942, 538)
			    terminal_attachment 	(2070, 538)
			    label      	(object SegLabel @317
				Parent_View 	@315
				location   	(2034, 591)
				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.715976
				height     	53
				orientation 	1))
			(object RoleView "$UNNAMED$37" @318
			    Parent_View 	@314
			    location   	(694, -6)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C005BC0061"
			    client     	@314
			    supplier   	@313
			    vertices   	(list Points
				(1942, 538)
				(1814, 538))
			    line_style 	3
			    origin_attachment 	(1942, 538)
			    terminal_attachment 	(1814, 538))))
		(object ClassView "Class" "Logical View::webapplication::WebApp" @319
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(912, 112)
		    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 	@319
			location   	(818, 66)
			fill_color 	13434879
			nlines     	1
			max_width  	188
			justify    	0
			label      	"WebApp")
		    icon_style 	"None"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C077FB0352"
		    width      	206
		    height     	117
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$28" @320
		    location   	(1233, 207)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39BFB4150298"
		    roleview_list 	(list RoleViews
			(object RoleView "filterMappings" @321
			    Parent_View 	@320
			    location   	(321, 95)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @322
				Parent_View 	@321
				location   	(1398, 401)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	286
				justify    	0
				label      	"+filterMappings"
				pctDist    	0.757813
				height     	165
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39BFB4160127"
			    client     	@320
			    supplier   	@313
			    vertices   	(list Points
				(1233, 207)
				(1233, 463))
			    line_style 	3
			    origin_attachment 	(1233, 207)
			    terminal_attachment 	(1233, 463)
			    label      	(object SegLabel @323
				Parent_View 	@321
				location   	(1179, 393)
				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.726563
				height     	55
				orientation 	1))
			(object RoleView "$UNNAMED$29" @324
			    Parent_View 	@320
			    location   	(321, 95)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @325
				Parent_View 	@324
				location   	(1072, 189)
				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.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39BFB4160128"
			    client     	@320
			    supplier   	@319
			    vertices   	(list Points
				(1233, 207)
				(1233, 147)
				(1015, 147))
			    line_style 	3
			    origin_attachment 	(1233, 207)
			    terminal_attachment 	(1015, 147))))
		(object AssociationViewNew "$UNNAMED$30" @326
		    location   	(1576, 119)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39BFB54D01EC"
		    roleview_list 	(list RoleViews
			(object RoleView "listeners" @327
			    Parent_View 	@326
			    location   	(664, 7)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @328
				Parent_View 	@327
				location   	(1915, 179)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	186
				justify    	0
				label      	"+listeners"
				pctDist    	0.605735
				height     	60
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39BFB54E0215"
			    client     	@326
			    supplier   	@310
			    vertices   	(list Points
				(1576, 119)
				(2138, 119))
			    line_style 	3
			    origin_attachment 	(1576, 119)
			    terminal_attachment 	(2138, 119)
			    label      	(object SegLabel @329
				Parent_View 	@327
				location   	(2083, 49)
				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.904412
				height     	71
				orientation 	0))
			(object RoleView "$UNNAMED$31" @330
			    Parent_View 	@326
			    location   	(664, 7)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39BFB54E0220"
			    client     	@326
			    supplier   	@319
			    vertices   	(list Points
				(1576, 119)
				(1015, 119))
			    line_style 	3
			    origin_attachment 	(1576, 119)
			    terminal_attachment 	(1015, 119))))
		(object ClassView "Class" "Logical View::java::JavaClass" @331
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2258, 922)
		    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 	@331
			location   	(2165, 843)
			fill_color 	13434879
			nlines     	2
			max_width  	186
			justify    	0
			label      	"JavaClass")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"36549FCC00FA"
		    width      	204
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$40" @332
		    location   	(2328, 518)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39C03E6C035A"
		    roleview_list 	(list RoleViews
			(object RoleView "listenerClass" @333
			    Parent_View 	@332
			    location   	(424, 358)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @334
				Parent_View 	@333
				location   	(2191, 785)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	275
				justify    	0
				label      	"+listenerClass"
				pctDist    	0.856269
				height     	138
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C03E6D02A7"
			    client     	@332
			    supplier   	@331
			    vertices   	(list Points
				(2328, 518)
				(2328, 831))
			    line_style 	3
			    origin_attachment 	(2328, 518)
			    terminal_attachment 	(2328, 831)
			    label      	(object SegLabel @335
				Parent_View 	@333
				location   	(2382, 775)
				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.821918
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$41" @336
			    Parent_View 	@332
			    location   	(424, 358)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C03E6D02CF"
			    client     	@332
			    supplier   	@310
			    vertices   	(list Points
				(2328, 518)
				(2328, 205))
			    line_style 	3
			    origin_attachment 	(2328, 518)
			    terminal_attachment 	(2328, 205))))
		(object ClassView "Class" "Logical View::common::ParamValue" @337
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 1538)
		    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 	@337
			location   	(207, 1385)
			fill_color 	13434879
			nlines     	1
			max_width  	354
			justify    	0
			label      	"ParamValue")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3E4C221202C1"
		    compartment 	(object Compartment
			Parent_View 	@337
			location   	(207, 1500)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	391)
		    width      	372
		    height     	330
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::webapplication::Filter" @338
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 576)
		    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 	@338
			location   	(237, 498)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"Filter")
		    icon_style 	"Icon"
		    line_color 	4227072
		    fill_color 	13434833
		    quidu      	"39BFB15503CC"
		    compartment 	(object Compartment
			Parent_View 	@338
			location   	(237, 559)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	294)
		    width      	280
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$32" @339
		    location   	(265, 860)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39C0026E02D1"
		    roleview_list 	(list RoleViews
			(object RoleView "initParams" @340
			    Parent_View 	@339
			    location   	(-87, 284)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @341
				Parent_View 	@340
				location   	(122, 977)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+initParams"
				pctDist    	0.600000
				height     	144
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C0026F0160"
			    client     	@339
			    supplier   	@312
			    vertices   	(list Points
				(265, 860)
				(265, 1055))
			    line_style 	3
			    origin_attachment 	(265, 860)
			    terminal_attachment 	(265, 1055)
			    label      	(object SegLabel @342
				Parent_View 	@340
				location   	(320, 977)
				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.600000
				height     	55
				orientation 	0))
			(object RoleView "$UNNAMED$33" @343
			    Parent_View 	@339
			    location   	(-87, 284)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C0026F016A"
			    client     	@339
			    supplier   	@338
			    vertices   	(list Points
				(265, 860)
				(265, 666))
			    line_style 	3
			    origin_attachment 	(265, 860)
			    terminal_attachment 	(265, 666))))
		(object AssociationViewNew "$UNNAMED$34" @344
		    location   	(755, 538)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39C0056A0293"
		    roleview_list 	(list RoleViews
			(object RoleView "filter" @345
			    Parent_View 	@344
			    location   	(-493, -6)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @346
				Parent_View 	@345
				location   	(616, 498)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	106
				justify    	0
				label      	"+filter"
				pctDist    	0.566176
				height     	41
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C0056B0321"
			    client     	@344
			    supplier   	@338
			    vertices   	(list Points
				(755, 538)
				(508, 538))
			    line_style 	3
			    origin_attachment 	(755, 538)
			    terminal_attachment 	(508, 538)
			    label      	(object SegLabel @347
				Parent_View 	@345
				location   	(561, 591)
				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.786765
				height     	53
				orientation 	0))
			(object RoleView "$UNNAMED$35" @348
			    Parent_View 	@344
			    location   	(-493, -6)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C0056B032B"
			    client     	@344
			    supplier   	@313
			    vertices   	(list Points
				(755, 538)
				(1002, 538))
			    line_style 	3
			    origin_attachment 	(755, 538)
			    terminal_attachment 	(1002, 538))))
		(object AssociationViewNew "$UNNAMED$26" @349
		    location   	(475, 112)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39BFB3B101CC"
		    roleview_list 	(list RoleViews
			(object RoleView "filters" @350
			    Parent_View 	@349
			    location   	(-437, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @351
				Parent_View 	@350
				location   	(502, 439)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	134
				justify    	0
				label      	"+filters"
				pctDist    	0.893891
				height     	87
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39BFB3B20123"
			    client     	@349
			    supplier   	@338
			    vertices   	(list Points
				(475, 112)
				(415, 112)
				(415, 486))
			    line_style 	3
			    origin_attachment 	(475, 112)
			    terminal_attachment 	(415, 486)
			    label      	(object SegLabel @352
				Parent_View 	@350
				location   	(358, 439)
				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.893891
				height     	58
				orientation 	1))
			(object RoleView "$UNNAMED$27" @353
			    Parent_View 	@349
			    location   	(-437, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @354
				Parent_View 	@353
				location   	(672, 72)
				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.589342
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39BFB3B2012D"
			    client     	@349
			    supplier   	@319
			    vertices   	(list Points
				(475, 112)
				(809, 112))
			    line_style 	3
			    origin_attachment 	(475, 112)
			    terminal_attachment 	(809, 112))))
		(object AssociationViewNew "$UNNAMED$38" @355
		    location   	(1211, 871)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39C03C280356"
		    roleview_list 	(list RoleViews
			(object RoleView "filterClass" @356
			    Parent_View 	@355
			    location   	(859, 295)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @357
				Parent_View 	@356
				location   	(1886, 925)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	215
				justify    	0
				label      	"+filterClass"
				pctDist    	0.714542
				height     	54
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C03C290267"
			    client     	@355
			    supplier   	@331
			    vertices   	(list Points
				(1211, 871)
				(2156, 871))
			    line_style 	3
			    origin_attachment 	(1211, 871)
			    terminal_attachment 	(2156, 871)
			    label      	(object SegLabel @358
				Parent_View 	@356
				location   	(2061, 925)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$39" @359
			    Parent_View 	@355
			    location   	(859, 295)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39C03C29028F"
			    client     	@355
			    supplier   	@338
			    vertices   	(list Points
				(1211, 871)
				(922, 871)
				(922, 629)
				(508, 629))
			    line_style 	3
			    origin_attachment 	(1211, 871)
			    terminal_attachment 	(508, 629))))
		(object AttachView "" @360
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@308
		    supplier   	@338
		    vertices   	(list Points
			(2678, 253)
			(508, 555))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$46" @361
		    location   	(384, 1019)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	10949559
		    quidu      	"3E4D43AA000A"
		    roleview_list 	(list RoleViews
			(object RoleView "initParamValues" @362
			    Parent_View 	@361
			    location   	(32, 443)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @363
				Parent_View 	@362
				location   	(219, 1311)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	320
				justify    	0
				label      	"+initParamValues"
				pctDist    	0.825420
				height     	166
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D43AA0245"
			    client     	@361
			    supplier   	@337
			    vertices   	(list Points
				(384, 1019)
				(384, 1373))
			    line_style 	3
			    origin_attachment 	(384, 1019)
			    terminal_attachment 	(384, 1373)
			    label      	(object SegLabel @364
				Parent_View 	@362
				location   	(438, 1338)
				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 "$UNNAMED$47" @365
			    Parent_View 	@361
			    location   	(32, 443)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E4D43AA024F"
			    client     	@361
			    supplier   	@338
			    vertices   	(list Points
				(384, 1019)
				(384, 666))
			    line_style 	3
			    origin_attachment 	(384, 1019)
			    terminal_attachment 	(384, 666))))
		(object ClassView "Class" "Logical View::webapplication::DispatcherType" @366
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2736, 624)
		    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 	@366
			location   	(2558, 498)
			fill_color 	13434879
			nlines     	1
			max_width  	356
			justify    	0
			label      	"DispatcherType")
		    stereotype 	(object ItemLabel
			Parent_View 	@366
			location   	(2558, 448)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	353
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	10949559
		    fill_color 	15778042
		    quidu      	"3E4D445B0376"
		    compartment 	(object Compartment
			Parent_View 	@366
			location   	(2558, 559)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	260)
		    width      	374
		    height     	376
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::DescriptionGroup" @367
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1553, 1188)
		    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 	@367
			location   	(1374, 1110)
			fill_color 	13434879
			nlines     	1
			max_width  	358
			justify    	0
			label      	"DescriptionGroup")
		    icon_style 	"Icon"
		    line_color 	10949559
		    fill_color 	15778042
		    quidu      	"3E4D451F01FB"
		    width      	376
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "Servlet2.4 - Security"
	    quid       	"399829CD0197"
	    title      	"Servlet2.4 - Security"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object NoteView @368
		    location   	(1104, 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 	@368
			location   	(825, 641)
			fill_color 	13434879
			nlines     	2
			max_width  	522
			label      	"See common::Security diagram for further details.")
		    line_color 	3342489
		    fill_color 	13434833
		    width      	582
		    height     	138)
		(object ClassView "Class" "Logical View::common::RunAsSpecifiedIdentity" @369
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 368)
		    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 	@369
			location   	(919, 289)
			fill_color 	13434879
			nlines     	2
			max_width  	274
			justify    	0
			label      	"RunAsSpecifiedIdentity")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"39BF2C9E02C8"
		    width      	292
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object AttachView "" @370
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@368
		    supplier   	@369
		    vertices   	(list Points
			(1093, 634)
			(1068, 459))
		    line_style 	0)
		(object ClassView "Class" "Logical View::webapplication::Servlet" @371
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(320, 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 	@371
			location   	(239, 306)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Servlet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C079140251"
		    height     	117
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$42" @372
		    location   	(660, 347)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39982A2E0255"
		    roleview_list 	(list RoleViews
			(object RoleView "runAs" @373
			    Parent_View 	@372
			    location   	(340, -5)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @374
				Parent_View 	@373
				location   	(803, 306)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	136
				justify    	0
				label      	"+runAs"
				pctDist    	0.572816
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39982A2F0184"
			    client     	@372
			    supplier   	@369
			    vertices   	(list Points
				(660, 347)
				(910, 347))
			    line_style 	3
			    origin_attachment 	(660, 347)
			    terminal_attachment 	(910, 347)
			    label      	(object SegLabel @375
				Parent_View 	@373
				location   	(847, 383)
				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.747573
				height     	36
				orientation 	1))
			(object RoleView "$UNNAMED$43" @376
			    Parent_View 	@372
			    location   	(340, -5)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39982A2F018E"
			    client     	@372
			    supplier   	@371
			    vertices   	(list Points
				(660, 347)
				(410, 347))
			    line_style 	3
			    origin_attachment 	(660, 347)
			    terminal_attachment 	(410, 347))))
		(object Label @377
		    location   	(80, 80)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    nlines     	1
		    max_width  	1173
		    label      	"Servlet 2.3 has introduced RunAs security identity for Servlets:")))))
