The Identity functionalities of this connector enable you as an Identity administrator to configure IBM RACF SecureWay as a connected system and then make Identity users part of the IBM RACF SecureWay system. This enables the user or Identity administrator to reset IBM RACF SecureWay account passwords. This also enables you to enable and disable user accounts.
The Provisioning functionalities of this connector enable exporting and importing user accounts on an IBM RACF SecureWay system.
Identity Integration |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Provisioning Integration | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Prerequisites
Ensure that these prerequisites are satisfied:
- IBM RACF SecureWay is installed, configured, and running.
- An administrator account that can be used to establish a connection and has authority to manage accounts on the connected system.
Creating the Connected System in the Admin UI
Log in to Identity Administration and click the Systems tab.
-
On the Connected System View page, click the Add button and select the IBM RACF SecureWay connected system from the Type drop-down list. The Connected System Details page displays the default values:
-
Enter the desired information:
Definition Supported Connectors
Displays whether the connected system is Identity only, Provisioning only, or both.Password Policy
Displays the name of the password policy associated with the connected system.Connected System Group
Displays the name of the system group that includes this connected system.Note: If a password policy is associated with a connected system and then the connected system is placed in a group, the group’s password policy will override the connected system’s password policy. The password policy will be removed from the connected system.
Type
Select the connected system type.Locale
Select the preferred language (default: English). Locale specific information such as Display Name and Description can be added only while modifying the connected system.Name
The name for this connected system. Note: The name cannot be modified later.Display Name
The display name of the new connected system.Description
The description of the connected system.Associated With
Select how the connector associated with this system will run:- Server (default) - Runs locally on the Provisioning/Identity Server.
- Global Identity Gateway - Runs remotely on a Global Identity Gateway cluster member. Note: Only GIG clusters that have at least one registered and enabled member will display in this list.
- See Using the Global Identity Gateway with Connected Systems for additional information.
Password Reset By
Enables administrators to configure password management functions normally available to Users and OBO (On Behalf Of) Users:- OBO User Only - Connected system and account association information is displayed only in Self-Service user management (for OBO Users). OBO Users can reset passwords for accounts on this connected system. Administrators can perform all user management functions for this connected system (e.g., enable/disable, validate, associate user, and password reset). End users will not see their accounts on this connected system in Self-Service and Kiosk; therefore, they cannot reset passwords for accounts on this connected system.
- Users and OBO User - Connected system and account association information is displayed in Self-Service password reset, Self-Service - Kiosk, and Self-Service user management. Self-Service users, Kiosk users, and OBO Users can reset passwords for accounts on this connected system. Administrators can perform all user management functions for this connected system (e.g., enable/disable, validate, associate user, and password reset).
- External - Connected system and account association information is not displayed in Self-Service password reset, Self-Service - Kiosk, and Self-Service user management. Self-Service users, Kiosk users, and OBO Users cannot reset passwords for accounts on this connected system.
Note: When user management configuration enables OBO Users to perform password resets, this definition must be set to OBO User Only or Users and OBO User. For connectors that support Provisioning only, there is no password reset capability.
Provisioning Option
Select the provisioning option:- Automated (default) - The connected system functions as a normal connected system; there are no restrictions.
- Administrative - The connected system cannot be used as an object in a workflow.
Enable HPAM Support
Select to make the connected system HPAM enabled (default: cleared). Note: This can only be set for systems that support Identity.Connection Information Host
The IP address or host name of the server (e.g., 10.102.200.20 or localhost). Multiple hosts are supported by using a space-separated list of host names (e.g., abc.example.comexample2.com:391 example3.com). The first server in the list that accepts the connection is used.Port
The LDAP port number of the server.Service Account Name
The name of the administrative user account used to connect to the server. The Select button displays the Fetch DN window to select the DN value. See Step 4. for details on using the Select button. Note: If an anonymous bind is enabled in the LDAP server, the required LDAP entry can be selected even if the Service Account Name and Service Account Password are not entered.Service Account Password
The administrative user password.Use SSL
Check this box if the connection is to be SSL-enabled.User Search Information Base DN
The rootDN of the Directory Information Tree (DIT). The Select button displays the Fetch DN window to select the DN value. See Step 4. for details on using the Select button.User Base DN
The base DN where the users are located. The Select button displays the Fetch DN window to select the DN value. See Step 4. for details on using the Select button.User Object Classes
The object class for the user profile.User Department Attribute
The attribute to use for the user’s department.Configuration Details Login ID Attribute
The attribute that contains the login ID value.Password Attribute
The attribute that contains the password value.System Owner
Add or Remove users assigned as the owners of the system. Displays the Connected System Owner Search page for selecting users. The HPAM column indicates whether the system owner is authorized to use the HPAM feature. The Approvers column indicates whether the system owner is an approver in the approval process.Add PswdPolicy / Remove PswdPolicy
Adds/removes a password policy to/from this connected system. If the connected system is associated with a Connected System Group, the buttons will be unavailable - all password policy assignments are defined at the group level (refer to Admin UI _ Systems _ Groups option). -
Click the Test Connection button to test the Connection Information:
- If successful, one or both of these messages may display:
Message: Connection from Provisioning to the connected system was established successfully.
- If unsuccessful, one or both of these messages may display:
Error: Failed to establish connection from Provisioning to the connected system.
Note: If the connection fails, additional messages may display providing more information regarding the failure, and additional information may be posted to the Provisioning and Identity logs.
-
(Optional) To select owners of the system, click the System Owner Add button. The Connected System Owner Search page displays:
-
Select the owners and then click the Select button. The system owner displays under the System Owner section:
Note: More than one user can be assigned as an owner.
To add additional system owners, click the Add button.
-
- On the Connected System Details page, click the Add button to save the configured connected system. The Object Category Association page displays a list of categories that are already associated and/or can be selected to add additional associations to this connected system:
Select one or more available object categories or provide search criteria and click the Search button to find specific categories to select. If there are no available categories to select, proceed to Step 8.
Click the Add Association button to associate the selected object categories to the connected system.
Click the Back button to return to the Connected System View page. The new connected system displays in the list.
See Copying, Modifying, and Deleting Connected Systems for additional information.
Creating the Connected System in the Studio
- Log in to the Workflow and Connectivity Studio and click Connectivity ► Add Systems on the menu bar. The Add Connected Systems window displays.
- Select the IBM RACF SecureWay connected system from the Type drop-down list. The default values display.
-
Enter the desired information:
Definition Type
Select the connected system type.Name
The name for this connected system. Note: The name cannot be modified later.Display Name
The display name of the new connected system.Description
The description of the connected system.Supported Connectors
Displays whether the connected system is Identity only, Provisioning only, or both. Only connectors that support Provisioning are available here.Associated With
Select how the connector associated with this system will run:- Server (default) - Runs locally on the Provisioning/Identity Server.
- Global Identity Gateway - Runs remotely on a Global Identity Gateway cluster member. Note: Only GIG clusters that have at least one registered and enabled member will display in this list.
Password Reset By
Enables administrators to configure password management functions normally available to Users and OBO (On Behalf Of) Users:- OBO User Only - Connected system and account association information is displayed only in Self-Service user management (for OBO Users). OBO Users can reset passwords for accounts on this connected system. Administrators can perform all user management functions for this connected system (e.g., enable/disable, validate, associate user, and password reset). End users will not see their accounts on this connected system in Self-Service and Kiosk; therefore, they cannot reset passwords for accounts on this connected system.
- Users and OBO User - Connected system and account association information is displayed in Self-Service password reset, Self-Service - Kiosk, and Self-Service user management. Self-Service users, Kiosk users, and OBO Users can reset passwords for accounts on this connected system. Administrators can perform all user management functions for this connected system (e.g., enable/disable, validate, associate user, and password reset).
- External - Connected system and account association information is not displayed in Self-Service password reset, Self-Service - Kiosk, and Self-Service user management. Self-Service users, Kiosk users, and OBO Users cannot reset passwords for accounts on this connected system.
Note: When user management configuration enables OBO Users to perform password resets, this definition must be set to OBO User Only or Users and OBO User. For connectors that support Provisioning only, there is no password reset capability.
Provisioning Option
Select the provisioning option:- Automated (default) - The connected system functions as a normal connected system; there are no restrictions.
- Administrative - The connected system cannot be used as an object in a workflow.
Enable HPAM Support
Select to make the connected system HPAM enabled (default: cleared). Note: This can only be set for systems that support Identity.Connection Information Host
The IP address or host name of the server (e.g., 10.102.200.20 or localhost). Multiple hosts are supported by using a space-separated list of host names (e.g., abc.example.comexample2.com:391 example3.com). The first server in the list that accepts the connection is used.Port
The LDAP port number of the server.Service Account Name
The name of the administrative user account used to connect to the server. The Select button displays the Select DN from LDAP Directory window to select the DN value.Service Account Password
The administrative user password.Use SSL
Check this box if the connection is to be SSL-enabled.Note: This connector uses the Java keystore for SSL communication with the system. See the guide Configuring SSL for additional information about enabling SSL.
User Search Information Base DN
The rootDN of the Directory Information Tree (DIT). The Select button displays the Select DN from LDAP Directory window to select the DN value.User Base DN
The base DN where the users are located. The Select button displays the Select DN from LDAP Directory window to select the DN value.User Object Classes
The object class for the user profile.User Department Attribute
The attribute to use for the user’s department.Configuration Details Login ID Attribute
The attribute that contains the login ID value.Password Attribute
The attribute that contains the password value. - Click the Connect button to test the Connection Information:
- If successful, one or both of these messages may display:
Connection from Studio to the connected system was established successfully.
- If unsuccessful, one or both of these messages may display:
Failed to establish connection from Studio to the connected system.
Note: If the connection fails, additional messages may display providing more information regarding the failure, and additional information may be posted to the Provisioning and Identity logs.
-
Click the Apply button to apply changes. The Category Association window displays.
Select one or more object categories from the Available Categories list or enter a category name and click the Search button to find a specific category to select. If there are no available categories to select, proceed to Step 6.
Click the Add button to associate the selected object categories to the connected system.
Click OK to accept selected categories.
See Copying, Modifying, and Deleting Connected Systems for additional information.
Using the Connected System for Identity
Perform these procedures to configure the connector:
- Connector Details for Identity
- Identity Password Management
Connector Details for Identity |
||
Field | System Attribute | Example Value |
---|---|---|
Login ID | cn | Betty Lane |
Account ID | dn | cn=Betty Lane,ou=People,dc=example,dc=com |
Identity Password Management
See User Management for details on password management.
Using the Connected System for Provisioning
Perform these procedures to configure the connector:
- Configuring for Export
- Configuring for Import
- Connector Details for Provisioning
Note: If the number of records to be processed exceeds one thousand, we recommend configuring the workflow to use bulk mode, which lowers the memory consumption of the system by streaming data to files. Because data is streamed for every task, performance of the workflow execution will be decreased due to increased read-write operations. See the Workflow and Connectivity Studio document for details on how to configure bulk mode.
Configuring for Export
Perform these procedures to configure the connector for data export:
- "Configuring the Export Connector"
- "Configuring the Export Link"
From the Workflow and Connectivity Studio, select the IBM RACF SecureWay UserExport workflow listed under the projects folder.
If a workflow does not already exist, create an export workflow. See Workflow and Connectivity Studio for details on creating export workflows.
Configuring the Export Connector
- In the Design pane, double-click the export object (the first workflow object after the Start object). The Configure Data Source window displays:
-
From the Configure Plug-in tab, set these properties as required:
Associated Connected System
Select the connected system from the list. The export operation will be done from this connected system.Data Formats
Select the type of data format to use: Profiles (default) or ChangeLog.DeltaExportMode Select the type of attribute to export if a change takes place (this works in conjunction with ExportMode when DeltaExport is selected):
- OnlyChangedAttributes - Performs a partial export of only the changed attributes from the last time the query was run.
- ChangedAndMandatoryAttributes (default) - Performs a partial export of both changed and mandatory attributes from the last time the query was run. Mandatory attributes are exported whether they have been changed or not.
- AllAttributes - Performs a full export of all attributes that contain a value.
DynamicConnectedSystem
Select the global variable to use as the dynamic connected system name. This works in conjunction with DynamicConnectedSystemOption when GlobalVariable is selected.DynamicConnectedSystemOption
Select how to control Dynamic System Support (DSS):- None - There will not be any Dynamic System Support.
- Transaction-SystemName - The value of the Transaction-SystemName attribute in data will be used as the dynamic connected system. The connected system name must be passed as the value of the attribute Transaction-SystemName; if it is missing in data, the operation will fail.
- GlobalVariable - Select a global variable to use as the dynamic connected system name from the property DynamicConnectedSystem.
ExportDN
Select the distinguished name in the LDAP directory where the connector will begin to locate entries. Entries in this container (default: ou=People,dc=example,dc=com) will be exported based on the type of filter specified. When using this option, do not specify a value for ReadDN. See Step 3. for details on using the Select button that becomes active for this property.ExportMode
Select the type of data to export:- FullExport - Exports all attributes.
- DeltaExport - Exports changed, mandatory, or all attributes, depending on the DeltaExportMode property setting.
Filter
Specify search criteria to determine the objects to be exported from the container specified in ExportDN. Use the Set Filter button that becomes active to create a filter. See "Set Filter" on page 34 for additional information.MaxConnections
Select the maximum number of connections that can be created in the connection pool by the connector. As needed, the connection pool will grow only to this maximum limit (default: 10).
MaxResults
Select the maximum number of results to be returned (default: 1000).PageIndex
Select the index of the page to return. -1 returns all results (default).Page Refresh
This is used only when PageIndex has been set to a value other than -1. It indicates whether or not to refresh the cache:- TRUE - The search results cache is refreshed.
- FALSE (default) - The search results cache is retained.
ReadDN
Specify that only the attributes of a single entry are read. For example, to read attributes for a single user, enter the fully qualified distinguished name (DN) of the user entry (e.g., cn=Betty Lane,ou=Sales,dc=example,dc=com) as the ReadDN value. The ExportDN and Filter settings, if specified, are ignored if a ReadDN value is specified. Use the Select button to build the directory and select a specific DN value to read.RefinementSubtreeDN
Specify the subtree DN to use for refinement if the change is of interest. The targetDN value from the ChangeLog will be used to determine if this change meets the criteria outlined in this setting. If it is not set, there will not be any refinement and all changes will be considered as valid data (default: dc=example,dc=com).ResultsPerPage
Select the maximum number of results per page (default: 500).Scope Select the number of levels below the ExportDN to begin searching for possible entries to be exported:
- AllLevels (default) - Searches all entries and all levels below the DN entry specified by ExportDN.
- OnlyDN - Searches only the DN entry specified by ExportDN.
- OneLevel - Searches all entries one level below the DN entry specified by ExportDN.
SortKey
Specify the attribute name to use to sort results. If sorting is required on multiple attributes, list them in a comma delimited format (e.g., cn, sn). Sorting on DN is not supported.UseLDAPServerPaging
Select whether to use LDAP server paging (default: FALSE).Note: Hover the pointer over a property to view its description.
Set Filter -
Enter the required text in the Filter field or click the Set button to set the search filter. The Set Filter window displays.
Description Attribute
Select the attribute of the filter (e.g., objectClass, ou, sn). This represents the attribute name for searching the IBM RACF SecureWay directory.Comparison
Select the operator value for this filter.Value
Enter the required result value.AND Condition List
Creates an AND statement comparing selected conditions. If there is more than one condition in this list box, all conditions must be true.OR Condition List
Creates an OR statement comparing selected conditions. If there is more than one condition in this list box, one of the conditions must be true.Filter Syntax
Displays the filter syntax used to retrieve entries from the LDAP directory and to build the export list.Edit Filter Manually
Check this box to manually edit the filter in the Filter Syntax to build complex filters.Using logical AND/OR, generate the complex filter to narrow the search result.
Click OK when complete to return to the Configure Data Source window
-
(Optional) Select the Attributes tab. Only standard attributes display:
Modify schema attributes using these buttons.
Description Add
Adds additional attributes to the list. The Add New Attribute dialog displays.Export
Exports the schema list to an XML file.Import
Imports the schema list from an XML file.Refresh Schema
Dynamically discovers the schema from the target LDAP system. It also includes local as well as global attributes added in the Studio.Reset Schema
Resets the schema definition to the default schema prepackaged with the IdM Suite, plus any global variable added. - (Optional) Select the Appearance tab to change how the Connected System object displays in the Design pane.
- Click OK to save any changes and return to the Workflow and Connectivity Studio window.
Configuring the Export Link
-
In the Design pane, double-click the export link between the export object (the first workflow object after the Start object) and the Data Mapper object. The Configure Link window displays:
Description Source Attributes
Select the attributes to export.Check mandatory attributes for delta export.
These attributes that are selected work in conjunction with the trigger attribute selection option Attribute level modify type is required. If this option is selected, for the Original_<attribute name> to be available in the Data Mapper object, the attributes selected in the trigger must also be selected in the DataHub object. See Attribute level modify type is required in the section Configuring a Trigger Link.Selected Attributes
Displays default attributes and those attributes that have been selected from the Source Attributes.
Notes: The check boxes are used only for delta export operations. These checked attributes will always be exported whether they were changed or not. Usually, the attributes that are selected as mandatory attributes help in identifying or verifying an entry when completing mapping functions.Format
Displays the Format Date window to specify a date/time format to be applied to the selected date type attribute, for example, whenChanged. During export, the attribute’s value is converted to the specified format. See the Format Date steps below for additional information.
Notes:- The Format button is only enabled for date attributes.
- The Refresh Schema button on the Configure Data Source window’s Attributes tab must be used to refresh the schema and enable the Format button for date attributes.
Advanced Settings
Displays the Configure Attributes window for configuring advanced settings for attributes. See the Configure Attributes window on page 39 for additional information.Key Attribute
Select the attribute to use as the unique key value for comparing data during delta export.Note: The Key Attribute field and buttons are only displayed when the export property ExportMode has been selected as type DeltaExport.
- From the Attribute Selection tab, select attributes to export.
-
(Optional) Select the Appearance tab to change how the link displays in the Design pane.
- Click OK to save any changes and return to the Workflow and Connectivity Studio window.
- (Optional) To create scripts for advanced functionality, right-click the export link and select the export task properties. See the section ‘Success Scripts and Failure Scripts’ in the Workflow and Connectivity Studio document for specific details.
- Deploy the workflow by selecting Deploy ► New Deployment.
See the Workflow and Connectivity Studio document for details of deployment options.
-
Manage and run the deployed workflow from the Admin UI ► Server tab. See the Identity Suite Administration documentation for details.
Configuring for Import
Perform these procedures to configure the connector for data import:
- Configuring the Import Connector
- Configuring the Import Link
From the Workflow and Connectivity Studio, select the IBM RACF SecureWay UserAdd, UserModify, or UserDelete workflow listed under the projects folder.
If a workflow does not already exist, create an import workflow. See the Workflow and Connectivity Studio documentation for details on creating import workflows.
Configuring the Import Connector
- In the Design pane, double-click the import object (the last workflow object). The Configure Data Source window displays:
-
From the Configure Plug-in tab, set these properties as required:
Associated Connected System
Select the connected system from the list. The import operation will be done to this connected system.Data Formats
Select the type of data format to use: Profiles (default) or ChangeLog.AddDiffWithTarget
If set to TRUE (default: FALSE), the target DN attributes are compared with the incoming modified attributes. Only the new attribute values are added. Other attributes are not updated. Note: If the target attribute is a multi-valued attribute, these must be set to TRUE: DiffWithTarget, AddDiffWithTarget, and RemoveDiffWithTarget.AddIfEntryNotExists
Select whether to create an entry if the entry does not already exist (default: FALSE).DiffWithTarget
Select whether the attribute sets are compared:- TRUE - The target DN attributes are compared with the incoming modified attributes. Only those attributes that have different values are modified. Unchanged attributes are discarded and not updated. If a new attribute is present, other than in the target DN attributes, it is added.
- FALSE (default) - The target DN attributes are not compared with the incoming modified attributes. All attributes are updated whether they have a changed value or not.
DynamicConnectedSystem
Select the global variable to use as the dynamic connected system name. This works in conjunction with DynamicConnectedSystemOption when GlobalVariable is selected.DynamicConnectedSystemOption
Select how to control Dynamic System Support (DSS):- None - There will not be any Dynamic System Support.
- Transaction-SystemName - The value of the Transaction-SystemName attribute in data will be used as the dynamic connected system. The connected system name must be passed as the value of the attribute Transaction-SystemName; if it is missing in data, the operation will fail.
- GlobalVariable - Select a global variable to use as the dynamic connected system name from the property DynamicConnectedSystem.
See the Dynamic System Support appendix in the Workflow and Connectivity Studio document for additional information.
Id *
Enter the attribute that contains the value used to uniquely identify the user account user ID on the connected system.ImportDN
The Distinguished Name (DN) in the LDAP directory where the connector will add entries during the import process if the dn attribute is not specified (default: ou=Imported Users,o=PQR,c=US). See Step 3. for details on using the Select button that becomes active for this property.loginId *
Enter the attribute that contains the value used to uniquely identify the user account login ID on the connected system.MaxConnections
SSelect the maximum number of connections that can be created in the connection pool by the connector. As needed, the connection pool will grow only to this maximum limit (default: 10).ModifyIfEntryExists
Select whether to perform a modify operation if an add operation fails (default: FALSE).RDN
Select the attribute name to use when creating the Relative Distinguished Name (RDN) when adding entries to the local LDAP directory. When importing entries into the local LDAP directory, this specifies the attribute to use when creating the DN for the new imported entries (default: cn).RemoveDiffWithTarget
Select whether to remove attributes from the target entry that do not exist in the modified data (default: FALSE).Notes:
* Id and loginId are used by the Provisioning Policy and IdentityHub features to populate the ACCOUNT_ID and ACCOUNT_USERNAME columns of the FISC_USER_ACCOUNT table of the Product database. See the ‘Provisioning Policy’ and ‘Provisioning Using the IdentityHub’ chapters of the Identity Suite Administration Guide for details.
Hover the pointer over a property to view its description. - (Optional) Select the Attributes tab. Only standard attributes display:
Modify schema attributes with the buttons.
- (Optional) Select the Appearance tab to change how the Connected System object displays in the Design pane.
- Click OK to save any changes and return to the Workflow and Connectivity Studio window.
Configuring the Import Link
-
In the Design pane, double-click the import link between the Data Mapper object and the import object (the last workflow object). The Configure Link window displays:
Source Attributes
Select the attributes to import.
Check for attribute-level auditing.
If auditing is enabled and these attributes below are checked, Provisioning will log all events for auditing purposes.
Selected Attributes
Displays default attributes and those attributes that have been selected from the Source Attributes. Note: The default attributes are those that are commonly used to create a new user.
Advanced Settings
Displays the Configure Attributes window for configuring advanced settings for attributes. Under the Encrypted column, check the box of any attribute that needs to be encrypted.
Under the Diff With Target column, check the box of any attribute to update using differencing (DiffWithTarget, AddDiffWithTarget, and RemoveDiffWithTarget).
Audit Key
Select the attribute to associate with the Audit Key.
- From the Attribute Selection tab, select attributes to import. You must add the User ID attribute to the Selected Attributes. You can select other attributes optionally.
- Click OK to save any changes and return to the Workflow and Connectivity Studio window.
- Deploy the workflow by selecting Deploy ► New Deployment.
See the Workflow and Connectivity Studio document for details of deployment options.
Manage and run the deployed workflow from the Admin UI ► Server tab. See the Identity Suite Administration documentation for details.
Connector Details for Provisioning
Configuration import properties accountDN, Id, and loginId are used by the Provisioning Policy and IdentityHub features to populate the ACCOUNT_DN, ACCOUNT_ID, and ACCOUNT_USERNAME columns of the FISC_USER_ACCOUNT table of the Product database. See the ‘Provisioning Policy’ and ‘Provisioning Using the IdentityHub’ sections of the Identity Suite Administration documentation for details.
This table shows the default attributes specified for these properties for the connected system:
Configuration Import Properties | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
IBM RACF SecureWay Server Connector Attributes
The items in the Export, Create, Modify, and Delete columns have these meanings:
- Y = Yes (attribute is supported for this operation)
- N = No (attribute is not supported for this operation)
- R = Required (attribute is mandatory for this operation)
389 Directory Server Connector Attributes |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|