Feed aggregator

Webcast: "Build, Deploy and Manage Smartphone Apps for EBS"

Steven Chan - Tue, 2017-03-14 02:05

Build EBS smartphone appsOracle University has a wealth of free webcasts for Oracle E-Business Suite.  If you're looking for a primer on how to build your own mobile apps for EBS, see:

Vijay Shanmugam, Director Product Development, explains the technologies and approach used to build Oracle's smartphone applications for Oracle E-Business Suite. You will learn how to deploy and manage iOS and Android mobile applications from application stores, how to use enterprise deployment to distribute controlled versions of the mobile applications within your organization and how to use a combination of Oracle E-Business Suite Mobile Foundation, Oracle E-Business Suite REST services and Oracle Mobile Application Framework (MAF) to develop custom smartphone applications for Oracle E-Business Suite to meet your needs. This material was presented at Oracle OpenWorld 2016.

Categories: APPS Blogs

Mary Beth Haglin Porn Videos, teacher: 'My student lover seduced me'

iAdvise - Tue, 2017-03-14 01:45
Mary Beth Haglin, from Iowa, turned herself into the police back in July, but now she insists that she was ‘swept off her feet’ by the anonymous 17-year-old male student.

Speaking to Inside Edition, the substitute teacher said:

He would come into my classroom, grab a Post-It, write something and stick it to my desk on his way out. One read, ‘I love you so much, my empress’. He would always call me ‘my empress’.

And Mary Beth fell for his way with words, having sex with the minor ‘almost every day’ at a nearby car park and sending numerous revealing selfies.

However, the teacher claims that the relationship was more than just sexual – she believes it was love.


She added:

I was completely head over heels. We met several times a week, not every time was just to have sex. There were times we would sit and talk. I thought in my mind this was some sort of real relationship. - Plus d'infos sur Mo Ti News - http://motinews.info/news/video-mary-beth-haglin-teacher-my-student-lover-seduced-me

But their lustful, and massively illegal, romance came to an abrupt end when the pair were spotted by another student and Haglin was fired and charged with sexual exploitation.

She then quickly handed herself into police and is set to be tried on November 14.

Speaking about her trial, she said:

I want to go back and smack myself and ask: ‘What were you thinking Mary Beth?’

If convicted, Mary Beth will face up to two-years in prison and will become a registered sex offender.  Clik Here to watch Mary Beth Haglin Porn Videos
Categories: APPS Blogs

UTL FILE FRENAME (mv) doesn't work - ORA-29292

Tom Kyte - Mon, 2017-03-13 23:06
I have a a shared sftp directory mounted \xx.xx.xx.xx\SFTP_AX\ /sftp/ cifs user,uid=54321,gid=54321,suid,username=user,password=pass,workgroup=application,file_mode=0775,dir_mode=0775,rw 0 0 Then a PL/SQL that moves my file to another mounted dir...
Categories: DBA Blogs

Google acquisitions samples with vizualizations

Nilesh Jethwa - Mon, 2017-03-13 15:10

Google has acquired around 184 companies as of October 2015, with its largest acquisition being the purchase of Motorola Mobility, a mobile device manufacturing company, for $12.5 billion. Not all the acquisition figures are available but aggregating all the public known amounts, Google has spent atleast 28 billion USD on acquisitions.

With the recent re-structuring, Google became a subsidiary of Alphabet Inc., which now owns most of the parts.

Using infocaptor dashboard software, we analyze the list of companies, products and services that Google has acquired since 2001.

Read more at http://www.infocaptor.com/dashboard/list-of-google-acquisitions-explained-with-visualizations

Firefox ESR 52 Certified with EBS 12.1 and 12.2

Steven Chan - Mon, 2017-03-13 12:04

Firefox ESR logo

Mozilla Firefox 52 Extended Support Release (ESR) is certified as a Windows-based client browser for Oracle E-Business Suite 12.1 and 12.2.

What is Mozilla Firefox ESR?

Mozilla offers an Extended Support Release based on an official release of Firefox for organizations that are unable to mass-deploy new consumer-oriented versions of Firefox every six weeks.  From the Mozilla ESR FAQ:

What does the Mozilla Firefox ESR life cycle look like?

Releases will be maintained for approximately one year, with point releases containing security updates coinciding with regular Firefox releases. The ESR will also have a two cycle (12 week) overlap between the time of a new release and the end-of-life of the previous release to permit testing and certification prior to deploying a new version.

Maintenance of each ESR, through point releases, is limited to high-risk/high-impact security vulnerabilities and in rare cases may also include off-schedule releases that address live security vulnerabilities. Backports of any functional enhancements and/or stability fixes are not in scope.

At the end of the support period for an ESR version:

  • the release will reach its end-of-life
  • no further updates will be offered for that version
  • an update to the next version will be offered through the application update service

E-Business Suite to be certified with Firefox Extended Support Releases Only

New personal versions of Firefox on the Rapid Release channel are released roughly every six weeks.  It is impractical for us to certify these new personal Rapid Release versions of Firefox with the Oracle E-Business Suite because a given Firefox release is generally obsolete by the time we complete the certification.

From Firefox 10 and onwards, Oracle E-Business Suite is certified only with selected Firefox Extended Support Release versions. Oracle has no current plans to certify new Firefox personal releases on the Rapid Release channel with the E-Business Suite.

Plug-in Support removed in Firefox Rapid Release 52

Mozilla has removed plug-in support in Firefox Rapid Release 52.  This means that the Rapid Release version of Firefox cannot run Forms-based content in EBS. 

Firefox Extended Support Release continues to offer plug-in support.  End-users who need to use Forms-based content in EBS must run the Firefox Extended Support Release. 

Will EBS offer an alternative to plug-ins?

Yes. We are working on an update to EBS that allows Forms-based content to run in browsers that do not have plug-in support.  See:

When will the new Java Web Start alternative be released?

Oracle's Revenue Recognition rules prohibit us from discussing certification and release dates, but you're welcome to monitor or subscribe to this blog. I'll post updates here as soon as soon as they're available.   

EBS patching policy for Firefox compatibility issues

Mozilla stresses their goal of ensuring that Firefox personal versions will continue to offer the same level of application compatibility as Firefox Extended Support Releases. 

Oracle E-Business Suite Development will issue new E-Business Suite patches or workarounds that can be reproduced with Firefox Extended Support Releases.  If you report compatibility issues with Firefox personal releases that cannot be reproduced with Firefox Extended Support Releases, your options are:

  1. Deploy a certified Firefox Extended Support Release version instead of the Firefox personal version
  2. Report the incompatibility between Firefox ESR and Firefox personal to Mozilla
  3. Use Internet Explorer (on Windows) or Safari (on Mac OS X) until Mozilla resolves the issue
EBS Compatibility with Firefox ESR security updates

Mozilla may release new updates to Firefox ESR versions to address high-risk/high-impact security issues.  These updates are considered to be certified with the E-Business Suite on the day that they're released.  You do not need to wait for a certification from Oracle before deploying these new Firefox ESR security updates.

Certified desktop operating systems
  • Windows 10 (32-bit and 64-bit)
  • Windows 8.1 (32-bit and 64-bit)
  • Windows 7 SP1 (32-bit and 64-bit)

References

Related Articles

Categories: APPS Blogs

1.5million PageViews

Hemant K Chitale - Mon, 2017-03-13 10:01
My Oracle Blog now has had 1.5million PageViews.


The 1million PageViews mark was hit in March 2015.
.
.
.

Categories: DBA Blogs

12cR1 RAC Posts -- 8c : Ignorable "Errors" during the DUPLICATE

Hemant K Chitale - Mon, 2017-03-13 09:56
In yesterday's post, I had shown a DUPLICATE DATABASE from RAC-ASM to SingleInstance-FileSystem.

During the course of the DUPLICATE DATABASE run, the Standby alert log seemingly reported errors.  I chose to ignore the "errors" as I know the DUPLICATE was running successfully.

For your reference, here are some of the good messages :

Sun Mar 12 23:17:55 2017
ALTER SYSTEM SET control_files='/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl','/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl' COMMENT='Set by RMAN' SCOPE=SPFILE;
Sun Mar 12 23:17:59 2017
ALTER SYSTEM SET control_files='/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl','/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl' COMMENT='Set by RMAN' SCOPE=SPFILE;

Sun Mar 12 23:21:41 2017
Switch of datafile 1 complete to datafile copy
checkpoint is 3315193
Switch of datafile 3 complete to datafile copy
checkpoint is 3315211
Switch of datafile 4 complete to datafile copy
checkpoint is 3315270
Switch of datafile 5 complete to datafile copy
checkpoint is 1754712
Switch of datafile 6 complete to datafile copy
checkpoint is 3315280
Switch of datafile 7 complete to datafile copy
checkpoint is 1754712
Switch of datafile 8 complete to datafile copy
checkpoint is 3315276
Switch of datafile 9 complete to datafile copy
checkpoint is 2978862
Switch of datafile 10 complete to datafile copy
checkpoint is 2978862
Switch of datafile 11 complete to datafile copy
checkpoint is 2978862


And here are the errors (about the online redo logs) continuously being reported.  These are messages which I ignored because the Standby has no online redo logs yet.

Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_1.257.931825281'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/STBY/onlinelog/group_1.283.931825279'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_1.257.931825281'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/STBY/onlinelog/group_1.283.931825279'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_2.258.931825287'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/STBY/onlinelog/group_2.284.931825283'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_2.258.931825287'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/STBY/onlinelog/group_2.284.931825283'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 3 of thread 2
ORA-00312: online log 3 thread 2: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_3.259.931826417'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 3 thread 2: '/u01/app/oracle/oradata/STBY/onlinelog/group_3.290.931826413'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 3 of thread 2
ORA-00312: online log 3 thread 2: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_3.259.931826417'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 3 thread 2: '/u01/app/oracle/oradata/STBY/onlinelog/group_3.290.931826413'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 4 of thread 2
ORA-00312: online log 4 thread 2: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_4.260.931826421'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 4 thread 2: '/u01/app/oracle/oradata/STBY/onlinelog/group_4.291.931826417'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 4 of thread 2
ORA-00312: online log 4 thread 2: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_4.260.931826421'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 4 thread 2: '/u01/app/oracle/oradata/STBY/onlinelog/group_4.291.931826417'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 5 of thread 0
ORA-00312: online log 5 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_5.303.937936343'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 5 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_5.292.937936339'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 5 of thread 0
ORA-00312: online log 5 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_5.303.937936343'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 5 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_5.292.937936339'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 6 of thread 0
ORA-00312: online log 6 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_6.304.937936363'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 6 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_6.298.937936361'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 6 of thread 0
ORA-00312: online log 6 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_6.304.937936363'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 6 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_6.298.937936361'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 7 of thread 0
ORA-00312: online log 7 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_7.305.937936377'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 7 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_7.299.937936375'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 7 of thread 0
ORA-00312: online log 7 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_7.305.937936377'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 7 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_7.299.937936375'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 8 of thread 0
ORA-00312: online log 8 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_8.306.937936389'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 8 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_8.300.937936389'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 8 of thread 0
ORA-00312: online log 8 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_8.306.937936389'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 8 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_8.300.937936389'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 9 of thread 0
ORA-00312: online log 9 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_9.307.937936405'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 9 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_9.301.937936403'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Sun Mar 12 23:18:22 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_lgwr_16416.trc:
ORA-00313: open failed for members of log group 9 of thread 0
ORA-00312: online log 9 thread 0: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_9.307.937936405'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 9 thread 0: '/u01/app/oracle/oradata/STBY/onlinelog/group_9.301.937936403'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

alter database clear logfile group 1
Clearing online log 1 of thread 1 sequence number 41
Sun Mar 12 23:21:42 2017
Errors in file /u01/app/oracle/diag/rdbms/stby/STBY/trace/STBY_ora_16474.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/fast_recovery_area/STBY/onlinelog/group_1.257.931825281'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3



It is also interesting to see how CONTROL_FILES, DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT are reported in the alert log :

  
control_files = "/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl"
control_files = "/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl"
db_file_name_convert = "+DATA/RAC"
db_file_name_convert = "/u01/app/oracle/oradata/STBY"
db_file_name_convert = "+FRA/RAC"
db_file_name_convert = "/u01/app/oracle/fast_recovery_area/STBY"
log_file_name_convert = "+DATA/RAC"
log_file_name_convert = "/u01/app/oracle/oradata/STBY"
log_file_name_convert = "+FRA/RAC"
log_file_name_convert = "/u01/app/oracle/fast_recovery_area/STBY"

Each component of the entry in the init parameter file is reported on a separate line in the alert log.
.
.
.

Categories: DBA Blogs

Replacing the Google Search Appliance (GSA) with ​Redstone’s Distributed Index and Search UI

WebCenter Team - Mon, 2017-03-13 08:55
Replacing the Google Search Appliance (GSA) with ​Redstone’s Distributed Index and Search UI
When: Tuesday, March 21st at 3:00 PM CT

WebCenter Content customers – now that Google has announced the discontinuation of their Google Search Appliance, are you looking for a proven, lower-cost alternative? 

Redstone has the solution for you!

During this live webcast, Redstone will provide an overview of our Distributed Index and Search UI solution.  We’ll demonstrate how your organization can seamlessly transition away from the GSA.  You’ll be able to provide your end users with a great search experience at a lower cost.

Additionally, you’ll hear from special guest Be The Match operated by the National Marrow Donor Program and their journey from the GSA to Distributed Index.

After the live demonstration, we’ll field questions from the audience.

Be The Match operated by the National Marrow Donor Program

  • Heather Helm, Product Owner/Business Sponsor
  • Andrew Chilson, Manager, IT Enterprise Application Systems

Replacing the Google Search Appliance (GSA) with ​Redstone’s Distributed Index and Search UI

WebCenter Team - Mon, 2017-03-13 08:55
Replacing the Google Search Appliance (GSA) with ​Redstone’s Distributed Index and Search UI
When: Tuesday, March 21st at 3:00 PM CT

WebCenter Content customers – now that Google has announced the discontinuation of their Google Search Appliance, are you looking for a proven, lower-cost alternative? 

Redstone has the solution for you!

During this live webcast, Redstone will provide an overview of our Distributed Index and Search UI solution.  We’ll demonstrate how your organization can seamlessly transition away from the GSA.  You’ll be able to provide your end users with a great search experience at a lower cost.

Additionally, you’ll hear from special guest Be The Match operated by the National Marrow Donor Program and their journey from the GSA to Distributed Index.

After the live demonstration, we’ll field questions from the audience.

Be The Match operated by the National Marrow Donor Program

  • Heather Helm, Product Owner/Business Sponsor
  • Andrew Chilson, Manager, IT Enterprise Application Systems

EDB BART 2.0 – How to upgrade and block level incremental backups

Yann Neuhaus - Mon, 2017-03-13 06:37

We already have some posts on how you can use EDB BART to backup and restore your PostgreSQL instances from one central server (EnterpriseDB Backup and Recovery Tool (BART), getting started with postgres plus advanced server (2) – setting up a backup and recovery server). The current version you can download from the EnterpriseDB website is 1.1 but version 2.0 is in beta and can be tested already. The main new feature is that BART 2.0 allows you to perform block level incremental backups of your PostgreSQL instances starting with PostgreSQL 9.5. In this post we’ll be looking at that feature and we’ll upgrade from BART 1.1. Lets go …

In my test environment I have BART 1.1 configured and working against an EDB Postgres Plus 9.6 instance:

postgres@edbbart:/home/postgres/ [pg950] bart -v
bart (EnterpriseDB) 1.1.1
postgres@edbbart:/home/postgres/ [pg950] bart SHOW-BACKUPS -s pg3
 SERVER NAME   BACKUP ID       BACKUP TIME               BACKUP SIZE   WAL(s) SIZE   WAL FILES   STATUS  
                                                                                                         
 pg3           1489078376562   2017-03-09 17:53:01 CET   61.93 MB      16.00 MB      1           active  

What do I need to do to upgrade to BART 2.0? Quite easy: Either you have access to the EDB yum repositories (this requires a username and a password) or just install the rpm you which can download here. I will install BART 2.0 from the EDB repositories:

postgres@edbbart:/home/postgres/ [pg950] sudo yum install edb-bart20

That’s it. The first thing to highlight is that the location where BART gets installed changed. Starting with version 2.0 BART will be installed under “/usr/edb/” instead of “/usr/edb-bart-***”.

postgres@edbbart:/home/postgres/ [pg950] ls -la /usr/edb/bart2.0/
total 16
drwxr-xr-x. 5 root root    59 Mar  9 17:56 .
drwxr-xr-x. 4 root root    32 Mar  9 17:56 ..
-rw-r--r--. 1 root root 15272 Feb 21 10:00 bart_license.txt
drwxr-xr-x. 2 root root    36 Mar  9 17:56 bin
drwxr-xr-x. 2 root root    21 Mar  9 17:56 etc
drwxr-xr-x. 2 root root    56 Mar  9 17:56 lib

We always recommend to work with links to point to you current BART installation to make life more easy. If you followed that rule all you have to do is:

postgres@edbbart:/home/postgres/ [pg950] sudo rm /usr/edb-bart
postgres@edbbart:/home/postgres/ [pg950] sudo ln -s /usr/edb/bart2.0/ /usr/edb-bart
postgres@edbbart:/home/postgres/ [pg950] bart -v
bart (EnterpriseDB) 2.0.0

… and you point to the new binaries. For sure you want to copy over your BART 1.1 configuration to the new location:

postgres@edbbart:/home/postgres/ [pg950] sudo cp /usr/edb-bart-1.1/etc/bart.cfg /usr/edb/bart2.0/etc/

From now on you are working with BART 2.0:

postgres@edbbart:/home/postgres/ [pg950] bart show-servers
SERVER NAME         : pg3
BACKUP FRIENDLY NAME: PG3_%year-%month-%dayT%hour:%minute
HOST NAME           : 192.168.22.37
USER NAME           : backupuser
PORT                : 4445
REMOTE HOST         : postgres@192.168.22.37
RETENTION POLICY    : 2016-12-09 18:02:23 CET
DISK UTILIZATION    : 189.93 MB
NUMBER OF ARCHIVES  : 8
ARCHIVE PATH        : /u90/pgdata/backup/pg3/archived_wals
ARCHIVE COMMAND     : scp %p postgres@edbbart:/u90/pgdata/backup/pg3/archived_wals/%f
XLOG METHOD         : fetch
WAL COMPRESSION     : enabled
TABLESPACE PATH(s)  : 
INCREMENTAL BACKUP  : DISABLED      <============================ NEW
DESCRIPTION         : "postgres PG3"

You’ll immediately notice that there is a new line in the output: “INCREMENTAL BACKUP”. Lets keep that for later. What I am most interested in right now is: Can I still backup my PostgreSQL instances with the new version of BART:

postgres@edbbart:/home/postgres/ [pg950] bart backup -s pg3
INFO:  creating backup for server 'pg3'
INFO:  backup identifier: '1489078978132'
63413/63413 kB (100%), 1/1 tablespace

INFO:  backup completed successfully
WARNING: log_timezone is not set in the server, using the local timezone information
INFO:  backup checksum: d318744e42819f76b137edf197a0b59b of base.tar
INFO:  
BACKUP DETAILS:
BACKUP STATUS: active
BACKUP IDENTIFIER: 1489078978132
BACKUP NAME: PG3_2017-03-09T18:02
BACKUP PARENT: none
BACKUP LOCATION: /u90/pgdata/backup/pg3/1489078978132
BACKUP SIZE: 61.93 MB
BACKUP FORMAT: tar
XLOG METHOD: fetch
BACKUP CHECKSUM(s): 1
 ChkSum                             File      
 d318744e42819f76b137edf197a0b59b   base.tar  
TABLESPACE(s): 0
START WAL LOCATION: 00000001000000000000000D
BACKUP METHOD: streamed
BACKUP FROM: master
START TIME: 2017-03-09 18:03:00 CET
STOP TIME: 2017-03-09 18:02:59 CET
TOTAL DURATION: 0 sec(s)

Looks fine. I did not need to change anything in the configuration file and can just start using BART 2.0. So, now I have two backups:

postgres@edbbart:/home/postgres/ [pg950] bart show-backups -s PG3
 SERVER NAME   BACKUP ID       BACKUP NAME            PARENT ID   BACKUP TIME               BACKUP SIZE   WAL(s) SIZE   WAL FILES   STATUS  
                                                                                                                                            
 pg3           1489078978132   PG3_2017-03-09T18:02   none        2017-03-09 18:02:59 CET   61.93 MB      16.00 MB      1           active  
 pg3           1489078376562   PG3_2017-03-09T17:52   none        2017-03-09 17:53:01 CET   61.93 MB      32.00 MB      2           active  

Time to do my first incremental backup. What do I need to do? First of all we need to disable wal compression as this is not supported with incremental backups:

postgres@edbbart:/home/postgres/ [pg950] cat /usr/edb-bart/etc/bart.cfg | grep -i COMPRE
wal_compression = disabled

The next thing to do is obviously to enable incremental backups:

postgres@edbbart:/home/postgres/ [pg950] cat /usr/edb-bart/etc/bart.cfg | grep increme
allow_incremental_backups = enabled

My complete BART configuration then looks like this:

[BART]
bart-host = postgres@edbbart
backup_path = /u90/pgdata/backup
pg_basebackup_path = /usr/edb/as9.6/bin/pg_basebackup
xlog-method = fetch
retention_policy = 3 MONTHS
logfile = /var/log/bart.logs

[PG3]
host = 192.168.22.37
port = 4445
user = backupuser
backup-name = PG3_%year-%month-%dayT%hour:%minute
remote-host = postgres@192.168.22.37
description = "postgres PG3"
wal_compression = disabled
allow_incremental_backups = enabled

Make sure that the show-servers command displays what you expect:

postgres@edbbart:/home/postgres/ [pg950] bart show-servers
SERVER NAME         : pg3
BACKUP FRIENDLY NAME: PG3_%year-%month-%dayT%hour:%minute
HOST NAME           : 192.168.22.37
USER NAME           : backupuser
PORT                : 4445
REMOTE HOST         : postgres@192.168.22.37
RETENTION POLICY    : 2016-12-10 16:53:05 CET
DISK UTILIZATION    : 283.86 MB
NUMBER OF ARCHIVES  : 10
ARCHIVE PATH        : /u90/pgdata/backup/pg3/archived_wals
ARCHIVE COMMAND     : scp %p postgres@edbbart:/u90/pgdata/backup/pg3/archived_wals/%f
XLOG METHOD         : fetch
WAL COMPRESSION     : disabled
TABLESPACE PATH(s)  : 
INCREMENTAL BACKUP  : ENABLED
DESCRIPTION         : "postgres PG3"

With BART 2.0 there is a new component called the “WAL scanner”. The binary is at the same location as BART itself:

postgres@edbbart:/home/postgres/ [pg950] ls -la /usr/edb/bart2.0/bin/bart-scanner 
-rwxr-xr-x. 1 root root 603832 Feb 21 10:01 /usr/edb/bart2.0/bin/bart-scanner

What does it do? The WAL scanner (as the name implies) scans the WALs that are archived from your PostgreSQL instances to the BART host for changes and then writes a so called “modified block map (MBM)” (this is the reason why wal compression is not supported). As this should happen as soon as the WALs arrive on the BART host the WAL scanner should run all the time. To start it in daemon mode:

echo $PATH / include bart bin
postgres@edbbart:/home/postgres/ [pg950] /usr/edb-bart/bin/bart-scanner --daemon
postgres@edbbart:/home/postgres/ [pg950] ps -ef | grep scanner
postgres  2473     1  0 16:58 ?        00:00:00 /usr/edb-bart/bin/bart-scanner --daemon
postgres  2474  2473  0 16:58 ?        00:00:00 /usr/edb-bart/bin/bart-scanner --daemon
postgres  2476  2185  0 16:58 pts/0    00:00:00 grep --color=auto scanner

This will fork one wal scanner process for each PostgreSQL instance configured for incremental backups.

Now we need a new full backup (the scanner did not run when we did the previous backups and the previous WAL files were compressed, so they can not be used):

postgres@edbbart:/home/postgres/ [pg950] bart backup -s PG3 --backup-name full0
INFO:  creating backup for server 'pg3'
INFO:  backup identifier: '1489161554590'
63416/63416 kB (100%), 1/1 tablespace

INFO:  backup completed successfully
WARNING: log_timezone is not set in the server, using the local timezone information
INFO:  backup checksum: f1c917edd0734c155ddace77bfbc3a17 of base.tar
INFO:  
BACKUP DETAILS:
BACKUP STATUS: active
BACKUP IDENTIFIER: 1489161554590
BACKUP NAME: full0
BACKUP PARENT: none
BACKUP LOCATION: /u90/pgdata/backup/pg3/1489161554590
BACKUP SIZE: 61.93 MB
BACKUP FORMAT: tar
XLOG METHOD: fetch
BACKUP CHECKSUM(s): 1
 ChkSum                             File      
 f1c917edd0734c155ddace77bfbc3a17   base.tar  

TABLESPACE(s): 0
START WAL LOCATION: 00000001000000000000000F
BACKUP METHOD: streamed
BACKUP FROM: master
START TIME: 2017-03-10 16:59:14 CET
STOP TIME: 2017-03-10 16:59:18 CET
TOTAL DURATION: 4 sec(s)

postgres@edbbart:/home/postgres/ [pg950] bart show-backups -s pg3
 SERVER NAME   BACKUP ID       BACKUP NAME            PARENT ID   BACKUP TIME               BACKUP SIZE   WAL(s) SIZE   WAL FILES   STATUS  
                                                                                                                                            
 pg3           1489161554590   full0                  none        2017-03-10 16:59:18 CET   61.93 MB      16.00 MB      1           active  
 pg3           1489078978132   PG3_2017-03-09T18:02   none        2017-03-09 18:02:59 CET   61.93 MB      32.00 MB      2           active  
 pg3           1489078376562   PG3_2017-03-09T17:52   none        2017-03-09 17:53:01 CET   61.93 MB      32.00 MB      2           active  

Lets do some work on the PostgreSQL which we are backing up to generate WAL:

(postgres@[local]:4445) [postgres] > create table t1 ( a int );
CREATE TABLE
Time: 2.972 ms
(postgres@[local]:4445) [postgres] > insert into t1 (a) values (generate_series(1,1000000));
INSERT 0 1000000
Time: 512.806 ms
(postgres@[local]:4445) [postgres] > select * from pg_switch_xlog();
 pg_switch_xlog 
----------------
 0/10C19D98
(1 row)

Do the first incremental backup based on the full backup from above:

postgres@edbbart:/home/postgres/ [pg950] bart backup -s pg3 -F p --parent 1489161554590 --backup-name incr1
INFO:  creating incremental backup for server 'pg3'
INFO:  checking mbm files /u90/pgdata/backup/pg3/archived_wals
INFO:  new backup id generated 1489161760522
INFO:  reading directory /u90/pgdata/backup/pg3/archived_wals
INFO:  all files processed
WARNING: log_timezone is not set in the server, using the local timezone information
INFO:  server has been successfully backed up

Now you can do another incremental backup but from the incremental backup taken above instead of the full backup:

postgres@edbbart:/home/postgres/ [pg950] bart BACKUP -s pg3 -F p --parent 1489161760522 --backup-name incr2
INFO:  creating incremental backup for server 'pg3'
INFO:  checking mbm files /u90/pgdata/backup/pg3/archived_wals
INFO:  new backup id generated 1489162048588
INFO:  reading directory /u90/pgdata/backup/pg3/archived_wals
INFO:  all files processed
WARNING: log_timezone is not set in the server, using the local timezone information
INFO:  server has been successfully backed up

So, what do we have now:

postgres@edbbart:/home/postgres/ [pg950] bart show-backups
 SERVER NAME   BACKUP ID       BACKUP NAME            PARENT ID       BACKUP TIME               BACKUP SIZE   WAL(s) SIZE   WAL FILES   STATUS  
                                                                                                                                                
 pg3           1489162048588   incr2                  1489161760522   2017-03-10 17:09:51 CET   45.98 MB                                active  
 pg3           1489161760522   incr1                  1489161554590   2017-03-10 17:06:10 CET   67.35 MB                                active  
 pg3           1489161554590   full0                  none            2017-03-10 16:59:18 CET   61.93 MB      112.00 MB     7           active  
 pg3           1489078978132   PG3_2017-03-09T18:02   none            2017-03-09 18:02:59 CET   61.93 MB      32.00 MB      2           active  
 pg3           1489078376562   PG3_2017-03-09T17:52   none            2017-03-09 17:53:01 CET   61.93 MB      32.00 MB      2           active  

Hm this does not really look an improvement. The first incremental backup is even larger than the full backup it is based on. The second one is a bit smaller but as I did not change anything on the source database between the two incremental backups my expectation was that at least the second incremental backup should use far less space. Lets check it on disk:

postgres@edbbart:/u90/pgdata/backup/pg3/ [pg950] pwd
/u90/pgdata/backup/pg3
postgres@edbbart:/u90/pgdata/backup/pg3/ [pg950] du -sh 1489161554590
62M	1489161554590
postgres@edbbart:/u90/pgdata/backup/pg3/ [pg950] du -sh 1489161760522
68M	1489161760522
postgres@edbbart:/u90/pgdata/backup/pg3/ [pg950] du -sh 1489162048588
47M	1489162048588

At least this seems to be consistent. Lets do another one:

postgres@edbbart:/u90/pgdata/backup/pg3/ [pg950] bart backup -s pg3 -F p --parent 1489162048588 --backup-name incr3
INFO:  creating incremental backup for server 'pg3'
INFO:  checking mbm files /u90/pgdata/backup/pg3/archived_wals
INFO:  new backup id generated 1489224698357
INFO:  reading directory /u90/pgdata/backup/pg3/archived_wals
INFO:  all files processed
WARNING: log_timezone is not set in the server, using the local timezone information

postgres@edbbart:/u90/pgdata/backup/pg3/ [pg950] bart show-backups
 SERVER NAME   BACKUP ID       BACKUP NAME            PARENT ID       BACKUP TIME               BACKUP SIZE   WAL(s) SIZE   WAL FILES   STATUS  
                                                                                                                                                
 pg3           1489224698357   incr3                  1489162048588   2017-03-11 10:31:41 CET   16.58 MB                                active  
 pg3           1489162048588   incr2                  1489161760522   2017-03-10 17:09:51 CET   45.98 MB                                active  
 pg3           1489161760522   incr1                  1489161554590   2017-03-10 17:06:10 CET   67.35 MB                                active  
 pg3           1489161554590   full0                  none            2017-03-10 16:59:18 CET   61.93 MB      160.00 MB     10          active  
 pg3           1489078978132   PG3_2017-03-09T18:02   none            2017-03-09 18:02:59 CET   61.93 MB      32.00 MB      2           active  
 pg3           1489078376562   PG3_2017-03-09T17:52   none            2017-03-09 17:53:01 CET   61.93 MB      32.00 MB      2           active  

Ok, now we can see a real improvement (not sure why there is no improvement for the first ones, need to do more testing). Restores should work as well (I’ll restore the last incremental backup):

postgres@edbbart:/home/postgres/ [pg950] /usr/edb/bart2.0/bin/bart restore -s pg3 -i incr3 -p /var/tmp/restore_test/  -r postgres@localhost
INFO:  restoring incremental backup 'incr3' of server 'pg3'
INFO:  base backup restored
ERROR: failed to overlay modified blocks
command failed with exit code 127
bash: bart: command not found

Hm, what’s that? Why does bart not find bart? Can I restore the full backup?

postgres@edbbart:/home/postgres/ [pg950] /usr/edb/bart2.0/bin/bart restore -s pg3 -i full0 -p /var/tmp/restore_test/  -r postgres@localhost
INFO:  restoring backup 'full0' of server 'pg3'
INFO:  base backup restored
INFO:  archiving is disabled
postgres@edbbart:/home/postgres/ [pg950] ls /var/tmp/restore_test/
backup_label  global        pg_dynshmem    pg_log        pg_notify    pg_snapshots  pg_subtrans  PG_VERSION            postgresql.conf
base          pg_clog       pg_hba.conf    pg_logical    pg_replslot  pg_stat       pg_tblspc    pg_xlog               tablespace_map
dbms_pipe     pg_commit_ts  pg_ident.conf  pg_multixact  pg_serial    pg_stat_tmp   pg_twophase  postgresql.auto.conf

Looks fine, the first incremental:

postgres@edbbart:/home/postgres/ [pg950] /usr/edb/bart2.0/bin/bart restore -s pg3 -i incr1 -p /var/tmp/restore_test/  -r postgres@localhost
INFO:  restoring incremental backup 'incr1' of server 'pg3'
INFO:  base backup restored
ERROR: failed to overlay modified blocks
command failed with exit code 127
bash: bart: command not found

No. Time for the “–debug” mode:

postgres@edbbart:/home/postgres/ [pg950] rm -rf /var/tmp/restore_test/*
postgres@edbbart:/home/postgres/ [pg950] /usr/edb/bart2.0/bin/bart --debug restore -s pg3 -i incr1 -p /var/tmp/restore_test/  -r postgres@localhost
DEBUG: Server: Global, Now: 2017-03-13 12:12:24 CET, RetentionWindow: 7776000 (secs) ==> 2160 hour(s)
DEBUG: Exec Command: ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost exit
DEBUG: Exec Command: ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost test -d /var/tmp/restore_test && echo "exists"
DEBUG: Exec Command: ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost touch /var/tmp/restore_test/tmp-incr1 && echo "exists"
DEBUG: Exec Command: ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost rm -f /var/tmp/restore_test/tmp-incr1
DEBUG: Exec Command: ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost ls -A /var/tmp/restore_test
INFO:  restoring incremental backup 'incr1' of server 'pg3'
DEBUG: restoring backup: 1489161554590
DEBUG: restoring backup to /var/tmp/restore_test
DEBUG: restore command: cat /u90/pgdata/backup/pg3/1489161554590/base.tar | ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost " tar -C /var/tmp/restore_test -xf - "
DEBUG: Exec Command: cat /u90/pgdata/backup/pg3/1489161554590/base.tar | ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost " tar -C /var/tmp/restore_test -xf - "
INFO:  base backup restored
DEBUG: backup '1489161554590' restored to '/var/tmp/restore_test'
DEBUG: restoring backup: 1489161760522
DEBUG: Exec Command: cd /u90/pgdata/backup/pg3/1489161760522/base && tar -cf - * | ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost " tar -C /var/tmp/restore_test -xf - "
DEBUG: Exec Command: cd . && scp -o BatchMode=yes -o PasswordAuthentication=no  -r /u90/pgdata/backup/pg3/1489161760522/base/../1489161760522.cbm postgres@localhost:/var/tmp/restore_test
DEBUG: Exec Command: ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost "bart --debug apply-incremental --source /var/tmp/restore_test --tsmap '' --backup 1489161760522"
ERROR: failed to overlay modified blocks
command failed with exit code 127
bash: bart: command not found

The command that does not seem to work is this one:

DEBUG: Exec Command: ssh -o BatchMode=yes -o PasswordAuthentication=no postgres@localhost "bart --debug apply-incremental --source /var/tmp/restore_test --tsmap '' --backup 1489161760522"

Lets do that manually:

ostgres@edbbart:/home/postgres/ [pg950] bart --debug apply-incremental --source /var/tmp/restore_test --tsmap '' --backup 1489161760522
DEBUG: loading '/var/tmp/restore_test/1489161760522.cbm' MBM/CBM file 
DEBUG: mbm chksum: old f60a435d4d3709302e5b7acc3f8d8ecb, new f60a435d4d3709302e5b7acc3f8d8ecb
DEBUG: applying incremental 1489161760522 (pid 3686)
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/1247.blk to /var/tmp/restore_test/base/15184/1247
src size: 16384, dst size: 139264
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/1247.blk, to /var/tmp/restore_test/base/15184/1247
src size: 16384, dst size: 139264
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/1249.blk to /var/tmp/restore_test/base/15184/1249
src size: 8192, dst size: 753664
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/1249.blk, to /var/tmp/restore_test/base/15184/1249
src size: 8192, dst size: 753664
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/1259.blk to /var/tmp/restore_test/base/15184/1259
src size: 8192, dst size: 139264
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/1259.blk, to /var/tmp/restore_test/base/15184/1259
src size: 8192, dst size: 139264
DEBUG: copying relation node files from (src): /var/tmp/restore_test/base/15184/16386.all, to (dst): /var/tmp/restore_test/base/15184/16386
src size: 36249600, dst size: 0
DEBUG: Exec Command: cp --preserve /var/tmp/restore_test/base/15184/16386.all /var/tmp/restore_test/base/15184/16386
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2608.blk to /var/tmp/restore_test/base/15184/2608
src size: 16384, dst size: 663552
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2608.blk, to /var/tmp/restore_test/base/15184/2608
src size: 16384, dst size: 663552
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2658.blk to /var/tmp/restore_test/base/15184/2658
src size: 8192, dst size: 204800
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2658.blk, to /var/tmp/restore_test/base/15184/2658
src size: 8192, dst size: 204800
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2659.blk to /var/tmp/restore_test/base/15184/2659
src size: 8192, dst size: 139264
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2659.blk, to /var/tmp/restore_test/base/15184/2659
src size: 8192, dst size: 139264
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2662.blk to /var/tmp/restore_test/base/15184/2662
src size: 8192, dst size: 32768
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2662.blk, to /var/tmp/restore_test/base/15184/2662
src size: 8192, dst size: 32768
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2663.blk to /var/tmp/restore_test/base/15184/2663
src size: 8192, dst size: 57344
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2663.blk, to /var/tmp/restore_test/base/15184/2663
src size: 8192, dst size: 57344
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2673.blk to /var/tmp/restore_test/base/15184/2673
src size: 16384, dst size: 540672
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2673.blk, to /var/tmp/restore_test/base/15184/2673
src size: 16384, dst size: 540672
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2674.blk to /var/tmp/restore_test/base/15184/2674
src size: 24576, dst size: 557056
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2674.blk, to /var/tmp/restore_test/base/15184/2674
src size: 24576, dst size: 557056
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2703.blk to /var/tmp/restore_test/base/15184/2703
src size: 8192, dst size: 40960
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2703.blk, to /var/tmp/restore_test/base/15184/2703
src size: 8192, dst size: 40960
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/2704.blk to /var/tmp/restore_test/base/15184/2704
src size: 16384, dst size: 57344
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/2704.blk, to /var/tmp/restore_test/base/15184/2704
src size: 16384, dst size: 57344
DEBUG: copying blocks for relation from: /var/tmp/restore_test/base/15184/3455.blk to /var/tmp/restore_test/base/15184/3455
src size: 8192, dst size: 49152
DEBUG: block copy complete: from /var/tmp/restore_test/base/15184/3455.blk, to /var/tmp/restore_test/base/15184/3455
src size: 8192, dst size: 49152

.. and that works. So, next test:

postgres@edbbart:/home/postgres/ [pg950] ssh postgres@localhost "bart -version"
bash: bart: command not found
postgres@edbbart:/home/postgres/ [pg950] ssh postgres@localhost "which bart"
which: no bart in (/usr/local/bin:/usr/bin)

Here we have the issue. As we do not get a login shell for these types of ssh commands:

postgres@edbbart:/home/postgres/ [pg950] echo "PATH=\$PATH:/usr/edb-bart/bin/" >> ~/.bashrc
postgres@edbbart:/home/postgres/ [pg950] echo "export PATH" >> ~/.bashrc
postgres@edbbart:/home/postgres/ [pg950] ssh postgres@localhost "which bart"
/usr/edb-bart/bin/bart

Try again:

postgres@edbbart:/home/postgres/ [pg950] rm -rf /var/tmp/restore_test/*
postgres@edbbart:/home/postgres/ [pg950] /usr/edb/bart2.0/bin/bart restore -s pg3 -i incr3 -p /var/tmp/restore_test/  -r postgres@localhostINFO:  restoring incremental backup 'incr3' of server 'pg3'
INFO:  base backup restored
INFO:  archiving is disabled

… and it works. But: This does mean that you have to install BART on all the hosts where you have a PostgreSQL instance if you want to restore to the same host where the instance is running. Not sure if I really like that (or I completely missed something) …

 

Cet article EDB BART 2.0 – How to upgrade and block level incremental backups est apparu en premier sur Blog dbi services.

32k limit retrieving MEDIUMTEXT from mysql using ODBC with oracle

Tom Kyte - Mon, 2017-03-13 04:46
I have a db link on Oracle connecting to a mysql server using ODBC (unixODBC); In mysql server i have a table with a blob and a mediumtext (16M) fields. If in oracle I execute desc "table'@dblink, oracle shows the blob field as long raw and t...
Categories: DBA Blogs

I have to import the specific tables using DBMS_DATAPUMP PACKAGE . How to exclude the unwanted tables ?

Tom Kyte - Mon, 2017-03-13 04:46
Hi Tom , I have used the below import par file to exclude the tables those names are with $ DIRECTORY=FEB09_E DUMPFILE= MXPRD_01feb09_%U.dmp LOGFILE=IMP_EDRPRE.log REMAP_SCHEMA=MXPRD:MAXIMO remap_tablespace=MXPRD_DATA:MAXIMO_DATA,MXPRD_INDE...
Categories: DBA Blogs

Webcast: "Build, Deploy and Manage Smartphone Apps for EBS"

Steven Chan - Mon, 2017-03-13 02:05

Build EBS smartphone appsOracle University has a wealth of free webcasts for Oracle E-Business Suite.  If you're looking for a primer on how to build your own mobile apps for EBS, see:

Vijay Shanmugam, Director Product Development, explains the technologies and approach used to build Oracle's smartphone applications for Oracle E-Business Suite. You will learn how to deploy and manage iOS and Android mobile applications from application stores, how to use enterprise deployment to distribute controlled versions of the mobile applications within your organization and how to use a combination of Oracle E-Business Suite Mobile Foundation, Oracle E-Business Suite REST services and Oracle Mobile Application Framework (MAF) to develop custom smartphone applications for Oracle E-Business Suite to meet your needs. This material was presented at Oracle OpenWorld 2016.

Categories: APPS Blogs

Building an FMW Cluster using Docker (Part III Running Docker Containers)

Antony Reynolds - Mon, 2017-03-13 01:02

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import

url('https://themes.googleusercontent.com/fonts/css?kit=soJ-z33zIWP9ip4SlSLqmawpPKmPqgwAG3potzd-b6hLxa5kJlTvGyssufwSrkOWWWXuzMD-CMEVHDC2H45HXw')

;.lst-kix_sholqrhc62dh-7>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-8>li:before {

content: "\0025a0 "}.lst-kix_sholqrhc62dh-6>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-2.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-2 0}ol.lst-kix_xv318blpjdo-3.start {

counter-reset: lst-ctn-kix_xv318blpjdo-3 0}.lst-kix_sholqrhc62dh-1>li:before {

content: "\0025cb "}.lst-kix_vf0l197cqv6l-2>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-2, lower-roman) ". "}.lst-kix_sholqrhc62dh-0>li:before {

content: "\0025cf "}.lst-kix_emhp84jkv42c-3>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-3}.lst-kix_ekmayt81kvbz-0>li:before {

content: "\0025cf "}.lst-kix_vf0l197cqv6l-1>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-4>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-4}.lst-kix_ekmayt81kvbz-2>li:before {

content: "\0025a0 "}ul.lst-kix_qeqyxe7gm97l-6 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-5 {

list-style-type: none}.lst-kix_ekmayt81kvbz-1>li:before {

content: "\0025cb "}ul.lst-kix_qeqyxe7gm97l-4 {

list-style-type: none}.lst-kix_ekmayt81kvbz-3>li:before {

content: "\0025cf "}ul.lst-kix_qeqyxe7gm97l-3 {

list-style-type: none}.lst-kix_vf0l197cqv6l-0>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-0, decimal) ". "}ul.lst-kix_qeqyxe7gm97l-2 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-1 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-0 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-8.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-8 0}.lst-kix_ekmayt81kvbz-5>li:before {

content: "\0025a0 "}.lst-kix_ekmayt81kvbz-7>li:before {

content: "\0025cb "}ul.lst-kix_4m04az9jmmj8-3 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-2 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-8 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-1 {

list-style-type: none}.lst-kix_ekmayt81kvbz-4>li:before {

content: "\0025cb "}.lst-kix_ekmayt81kvbz-8>li:before {

content: "\0025a0 "}ul.lst-kix_qeqyxe7gm97l-7 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-0 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-7 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-6 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-5 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-4 {

list-style-type: none}.lst-kix_ekmayt81kvbz-6>li:before {

content: "\0025cf "}ul.lst-kix_4m04az9jmmj8-8 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-2>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-2}.lst-kix_11a9ub9xa97v-0>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-0}ol.lst-kix_emhp84jkv42c-4.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-4 0}ol.lst-kix_xv318blpjdo-8.start {

counter-reset: lst-ctn-kix_xv318blpjdo-8 0}ul.lst-kix_6ril5iwt0fcl-5 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-8>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-8}ul.lst-kix_6ril5iwt0fcl-4 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-3 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-2 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-8 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-7 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-6 {

list-style-type: none}.lst-kix_vf0l197cqv6l-6>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-6}.lst-kix_vf0l197cqv6l-4>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-4, lower-latin) ". "}ol.lst-kix_s3mi7ukxwiwf-8.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-8 0}.lst-kix_vf0l197cqv6l-3>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-3, decimal) ". "}.lst-kix_vf0l197cqv6l-5>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-5, lower-roman) ". "}.lst-kix_vf0l197cqv6l-6>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-6, decimal) ". "}ul.lst-kix_6ril5iwt0fcl-1 {

list-style-type: none}.lst-kix_vf0l197cqv6l-8>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-8, lower-roman) ". "}ul.lst-kix_6ril5iwt0fcl-0 {

list-style-type: none}.lst-kix_xv318blpjdo-1>li {

counter-increment: lst-ctn-kix_xv318blpjdo-1}.lst-kix_vf0l197cqv6l-7>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-7, lower-latin) ". "}.lst-kix_bfzyeb917dp8-6>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-6}ol.lst-kix_yly1729bcywk-0 {

list-style-type: none}ol.lst-kix_yly1729bcywk-1 {

list-style-type: none}ol.lst-kix_yly1729bcywk-6.start {

counter-reset: lst-ctn-kix_yly1729bcywk-6 0}ol.lst-kix_yly1729bcywk-4 {

list-style-type: none}ol.lst-kix_yly1729bcywk-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-2 {

list-style-type: none}ol.lst-kix_yly1729bcywk-3 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-1>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-1, lower-latin) ". "}ol.lst-kix_yly1729bcywk-8 {

list-style-type: none}ul.lst-kix_hchtl271h88l-3 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-0.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-0 0}ul.lst-kix_hchtl271h88l-2 {

list-style-type: none}ol.lst-kix_yly1729bcywk-6 {

list-style-type: none}ul.lst-kix_hchtl271h88l-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-7 {

list-style-type: none}ul.lst-kix_hchtl271h88l-4 {

list-style-type: none}.lst-kix_gfromclascha-0>li:before {

content: "\0025cf "}ul.lst-kix_hchtl271h88l-1 {

list-style-type: none}ul.lst-kix_hchtl271h88l-0 {

list-style-type: none}.lst-kix_gfromclascha-2>li:before {

content: "\0025a0 "}.lst-kix_gfromclascha-4>li:before {

content: "\0025cb "}ul.lst-kix_hchtl271h88l-7 {

list-style-type: none}ul.lst-kix_hchtl271h88l-6 {

list-style-type: none}ul.lst-kix_hchtl271h88l-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-7.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-7 0}.lst-kix_6ril5iwt0fcl-0>li:before {

content: "\0025cf "}.lst-kix_gfromclascha-6>li:before {

content: "\0025cf "}.lst-kix_q97rvvc7c69e-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-7>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-8.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-8 0}.lst-kix_6ril5iwt0fcl-2>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-3>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-7>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-7, lower-latin) ". "}.lst-kix_6ril5iwt0fcl-4>li:before {

content: "\0025cb "}.lst-kix_6ril5iwt0fcl-6>li:before {

content: "\0025cf "}.lst-kix_xv318blpjdo-8>li {

counter-increment: lst-ctn-kix_xv318blpjdo-8}.lst-kix_s3mi7ukxwiwf-5>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-5, lower-roman) ". "}.lst-kix_6ril5iwt0fcl-8>li:before {

content: "\0025a0 "}.lst-kix_s3mi7ukxwiwf-3>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-3, decimal) ". "}.lst-kix_ne7nl4nhpzqr-0>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-0}.lst-kix_ne7nl4nhpzqr-7>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-7}.lst-kix_vf0l197cqv6l-5>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-5}ol.lst-kix_jj5w63toozfm-7.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-7 0}.lst-kix_1wulu3ra2vwv-4>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-4, decimal) ") "}.lst-kix_yly1729bcywk-3>li {

counter-increment: lst-ctn-kix_yly1729bcywk-3}.lst-kix_hchtl271h88l-5>li:before {

content: "\0025a0 "}.lst-kix_1wulu3ra2vwv-6>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-6, lower-roman) ") "}.lst-kix_yly1729bcywk-4>li {

counter-increment: lst-ctn-kix_yly1729bcywk-4}.lst-kix_hchtl271h88l-7>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-8>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-8, lower-roman) ") "}.lst-kix_gfromclascha-8>li:before {

content: "\0025a0 "}.lst-kix_hchtl271h88l-3>li:before {

content: "\0025cf "}.lst-kix_sholqrhc62dh-2>li:before {

content: "\0025a0 "}ul.lst-kix_9jxnjym0nges-0 {

list-style-type: none}.lst-kix_hchtl271h88l-1>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-4>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-2>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-2, decimal) ". "}.lst-kix_1wulu3ra2vwv-0>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-0, upper-roman) ". "}ol.lst-kix_11a9ub9xa97v-3.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-3 0}.lst-kix_emhp84jkv42c-2>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-2}ol.lst-kix_s3mi7ukxwiwf-4.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-4 0}ul.lst-kix_h0kibz3smj6t-8 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-7.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-7 0}.lst-kix_jkgkf1u9sy0c-2>li:before {

content: "\0025a0 "}.lst-kix_f5kb4hocu5hh-2>li:before {

content: "\0025a0 "}.lst-kix_jkgkf1u9sy0c-1>li:before {

content: "\0025cb "}.lst-kix_f5kb4hocu5hh-6>li:before {

content: "\0025cf "}ul.lst-kix_iv2x96orjh4l-2 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-1.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-1 0}ul.lst-kix_iv2x96orjh4l-3 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-5>li:before {

content: "\0025a0 "}ul.lst-kix_iv2x96orjh4l-0 {

list-style-type: none}.lst-kix_jj5w63toozfm-3>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-3}ul.lst-kix_iv2x96orjh4l-1 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-6 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-7 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-6>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-6}ul.lst-kix_iv2x96orjh4l-4 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-5 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-3 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-2 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-1 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-5>li:before {

content: "\0025a0 "}ul.lst-kix_h0kibz3smj6t-0 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-2.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-2 0}ul.lst-kix_h0kibz3smj6t-7 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-6 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-5 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-6>li:before {

content: "\0025cf "}ul.lst-kix_h0kibz3smj6t-4 {

list-style-type: none}.lst-kix_emhp84jkv42c-4>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-4}ul.lst-kix_iv2x96orjh4l-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-3.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-3 0}.lst-kix_b7256qmdgo85-3>li:before {

content: "\0025cf "}.lst-kix_b7256qmdgo85-4>li:before {

content: "\0025cb "}.lst-kix_b7256qmdgo85-7>li:before {

content: "\0025cb "}ol.lst-kix_jj5w63toozfm-3.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-3 0}.lst-kix_q97rvvc7c69e-2>li:before {

content: "\0025a0 "}.lst-kix_b7256qmdgo85-8>li:before {

content: "\0025a0 "}ol.lst-kix_bfzyeb917dp8-2.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-2 0}ol.lst-kix_1wulu3ra2vwv-6.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-6 0}ol.lst-kix_yly1729bcywk-7.start {

counter-reset: lst-ctn-kix_yly1729bcywk-7 0}.lst-kix_jj5w63toozfm-5>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-5}.lst-kix_s3mi7ukxwiwf-0>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-0, decimal) ". "}ul.lst-kix_q97rvvc7c69e-4 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-3 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-6 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-6.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-6 0}.lst-kix_s3mi7ukxwiwf-8>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-8, lower-roman) ". "}ul.lst-kix_q97rvvc7c69e-5 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-8 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-7 {

list-style-type: none}.lst-kix_gfromclascha-3>li:before {

content: "\0025cf "}ul.lst-kix_q97rvvc7c69e-0 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-2 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-1 {

list-style-type: none}.lst-kix_yly1729bcywk-3>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-3, decimal) ". "}.lst-kix_q97rvvc7c69e-6>li:before {

content: "\0025cf "}.lst-kix_6ril5iwt0fcl-1>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-6>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-7>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-7, lower-latin) ". "}ol.lst-kix_s3mi7ukxwiwf-3.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-3 0}.lst-kix_6ril5iwt0fcl-5>li:before {

content: "\0025a0 "}.lst-kix_iv2x96orjh4l-2>li:before {

content: "\0025a0 "}.lst-kix_q8ok0mh9yyto-1>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-1}.lst-kix_s3mi7ukxwiwf-4>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-4, lower-latin) ". "}.lst-kix_5anu1k9tsyak-2>li:before {

content: "\0025a0 "}.lst-kix_b7256qmdgo85-0>li:before {

content: "\0025cf "}ul.lst-kix_vf0l197cqv6l-1 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-3>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-3, lower-latin) ") "}.lst-kix_xoos54gyybzj-5>li:before {

content: "\0025a0 "}ol.lst-kix_ne7nl4nhpzqr-5.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-5 0}ol.lst-kix_vf0l197cqv6l-7.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-7 0}.lst-kix_11a9ub9xa97v-7>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-7}.lst-kix_1wulu3ra2vwv-7>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-7, lower-latin) ") "}.lst-kix_xoos54gyybzj-1>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-2 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-3 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-0 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-1 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-6 {

list-style-type: none}.lst-kix_hchtl271h88l-8>li:before {

content: "\0025a0 "}ol.lst-kix_ne7nl4nhpzqr-7 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-4 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-5 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-8 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-6>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-6}.lst-kix_gfromclascha-7>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-6.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-6 0}ul.lst-kix_pcjo479wrta-0 {

list-style-type: none}.lst-kix_86hsx13ssqid-5>li:before {

content: "\0025a0 "}ul.lst-kix_pcjo479wrta-2 {

list-style-type: none}ul.lst-kix_pcjo479wrta-1 {

list-style-type: none}ul.lst-kix_pcjo479wrta-4 {

list-style-type: none}.lst-kix_hchtl271h88l-4>li:before {

content: "\0025cb "}ul.lst-kix_pcjo479wrta-3 {

list-style-type: none}ul.lst-kix_pcjo479wrta-6 {

list-style-type: none}ul.lst-kix_pcjo479wrta-5 {

list-style-type: none}ul.lst-kix_pcjo479wrta-8 {

list-style-type: none}ul.lst-kix_pcjo479wrta-7 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-8.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-8 0}.lst-kix_hchtl271h88l-0>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-1>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-5>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-0>li:before {

content: "\0025cf "}.lst-kix_7tib3jrzu2u9-5>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-2>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-3>li:before {

content: "\0025cf "}ul.lst-kix_ndaonzmgp8vn-4 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-3 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-6 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-5 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-0 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-2 {

list-style-type: none}.lst-kix_bfzyeb917dp8-4>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-4}ul.lst-kix_ndaonzmgp8vn-1 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-8>li:before {

content: "\0025a0 "}ul.lst-kix_sholqrhc62dh-6 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-5 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-4 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-3 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-8 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-7 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-2 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-6.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-6 0}ul.lst-kix_sholqrhc62dh-1 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-0 {

list-style-type: none}.lst-kix_emhp84jkv42c-1>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-1}ul.lst-kix_ndaonzmgp8vn-8 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-7 {

list-style-type: none}.lst-kix_j42a5dwgnqyq-8>li:before {

content: "\0025a0 "}.lst-kix_5anu1k9tsyak-6>li:before {

content: "\0025cf "}ol.lst-kix_bfzyeb917dp8-1.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-1 0}.lst-kix_j42a5dwgnqyq-7>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-7>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-8>li:before {

content: "\0025a0 "}.lst-kix_5anu1k9tsyak-8>li:before {

content: "\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-2.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-2 0}.lst-kix_yly1729bcywk-5>li {

counter-increment: lst-ctn-kix_yly1729bcywk-5}ul.lst-kix_686a8e4qhxwx-4 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-3 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-2 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-1 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-8 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-7 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-6 {

list-style-type: none}.lst-kix_6qnkx7t1adn9-0>li:before {

content: "\0025cf "}.lst-kix_qeqyxe7gm97l-0>li:before {

content: "\0025cf "}ul.lst-kix_686a8e4qhxwx-5 {

list-style-type: none}.lst-kix_6qnkx7t1adn9-1>li:before {

content: "\0025cb "}.lst-kix_6qnkx7t1adn9-3>li:before {

content: "\0025cf "}ul.lst-kix_686a8e4qhxwx-0 {

list-style-type: none}.lst-kix_bfzyeb917dp8-0>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-0}.lst-kix_qeqyxe7gm97l-5>li:before {

content: "\0025a0 "}.lst-kix_j42a5dwgnqyq-0>li:before {

content: "\0025cf "}.lst-kix_j42a5dwgnqyq-2>li:before {

content: "\0025a0 "}.lst-kix_j42a5dwgnqyq-5>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-3.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-3 0}.lst-kix_qeqyxe7gm97l-2>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-8>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-8}ol.lst-kix_s3mi7ukxwiwf-0.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-0 0}.lst-kix_86hsx13ssqid-8>li:before {

content: "\0025a0 "}ol.lst-kix_vf0l197cqv6l-6 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-4 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-7 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-5 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-3.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-3 0}ol.lst-kix_vf0l197cqv6l-4 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-6 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-5 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-7 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-8 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-0>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-0}ol.lst-kix_vf0l197cqv6l-8 {

list-style-type: none}.lst-kix_yly1729bcywk-2>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-2, lower-roman) ". "}.lst-kix_fd1rucpc9vz2-5>li:before {

content: "\0025a0 "}.lst-kix_fd1rucpc9vz2-7>li:before {

content: "\0025cb "}ol.lst-kix_vf0l197cqv6l-2 {

list-style-type: none}.lst-kix_pcjo479wrta-5>li:before {

content: "\0025a0 "}.lst-kix_iv2x96orjh4l-5>li:before {

content: "\0025a0 "}ul.lst-kix_xoos54gyybzj-0 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-3 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-1 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-0 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-2 {

list-style-type: none}.lst-kix_yly1729bcywk-0>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-0, decimal) ". "}.lst-kix_yly1729bcywk-8>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-8, lower-roman) ". "}ul.lst-kix_xoos54gyybzj-3 {

list-style-type: none}.lst-kix_iv2x96orjh4l-3>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-3>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-5>li:before {

content: "\0025a0 "}.lst-kix_1wulu3ra2vwv-8>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-8}ol.lst-kix_q8ok0mh9yyto-6 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-5 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-4 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-3 {

list-style-type: none}.lst-kix_9jxnjym0nges-0>li:before {

content: "\0025cf "}ol.lst-kix_q8ok0mh9yyto-8 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-7 {

list-style-type: none}.lst-kix_xoos54gyybzj-8>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-0.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-0 0}.lst-kix_opi66v2qdsjs-8>li:before {

content: "\0025a0 "}.lst-kix_ndaonzmgp8vn-4>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-2 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-1 {

list-style-type: none}.lst-kix_9jxnjym0nges-2>li:before {

content: "\0025a0 "}ol.lst-kix_q8ok0mh9yyto-0 {

list-style-type: none}.lst-kix_xoos54gyybzj-6>li:before {

content: "\0025cf "}.lst-kix_ndaonzmgp8vn-2>li:before {

content: "\0025a0 "}.lst-kix_opi66v2qdsjs-2>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-0>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-0, upper-roman) ". "}ol.lst-kix_bfzyeb917dp8-4.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-4 0}.lst-kix_q8ok0mh9yyto-3>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-3}.lst-kix_xoos54gyybzj-0>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-8>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-8, lower-roman) ") "}.lst-kix_86hsx13ssqid-0>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-6>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-8>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-6>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-6, lower-roman) ") "}ul.lst-kix_9jxnjym0nges-2 {

list-style-type: none}.lst-kix_xv318blpjdo-2>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-2, decimal) ". "}ul.lst-kix_9jxnjym0nges-1 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-4 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-3 {

list-style-type: none}.lst-kix_h0kibz3smj6t-5>li:before {

content: "\0025a0 "}ul.lst-kix_9jxnjym0nges-6 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-5 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-8 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-7 {

list-style-type: none}.lst-kix_xv318blpjdo-2>li {

counter-increment: lst-ctn-kix_xv318blpjdo-2}.lst-kix_f5kb4hocu5hh-3>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-3>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-3}.lst-kix_bfzyeb917dp8-7>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-7}.lst-kix_f5kb4hocu5hh-8>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-1.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-1 0}.lst-kix_jkgkf1u9sy0c-4>li:before {

content: "\0025cb "}ol.lst-kix_jj5w63toozfm-3 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-4 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-5 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-7>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-7>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-7, lower-latin) ") "}.lst-kix_686a8e4qhxwx-5>li:before {

content: "\0025a0 "}ol.lst-kix_jj5w63toozfm-6 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-7 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-8 {

list-style-type: none}.lst-kix_h0kibz3smj6t-2>li:before {

content: "\0025a0 "}.lst-kix_q8ok0mh9yyto-7>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-7}ol.lst-kix_jj5w63toozfm-0 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-1 {

list-style-type: none}.lst-kix_686a8e4qhxwx-2>li:before {

content: "\0025a0 "}ol.lst-kix_jj5w63toozfm-2 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-3 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-8.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-8 0}ol.lst-kix_11a9ub9xa97v-2 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-1 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-0 {

list-style-type: none}.lst-kix_b7256qmdgo85-2>li:before {

content: "\0025a0 "}ol.lst-kix_11a9ub9xa97v-8 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-7 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-6 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-5 {

list-style-type: none}.lst-kix_4m04az9jmmj8-7>li:before {

content: "\0025cb "}ol.lst-kix_11a9ub9xa97v-4 {

list-style-type: none}.lst-kix_b7256qmdgo85-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-1>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-2>li {

counter-increment: lst-ctn-kix_yly1729bcywk-2}.lst-kix_q8ok0mh9yyto-5>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-5, lower-latin) ") "}.lst-kix_4m04az9jmmj8-4>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-3>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-3}.lst-kix_ne7nl4nhpzqr-7>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-7, lower-latin) ". "}.lst-kix_q8ok0mh9yyto-8>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-8, lower-roman) ") "}ol.lst-kix_bfzyeb917dp8-5 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-4 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-3 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-2 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-7 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-6 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-1 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-5.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-5 0}.lst-kix_q8ok0mh9yyto-0>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-0}.lst-kix_l7z426mwssm0-3>li:before {

content: "\0025cf "}.lst-kix_iv2x96orjh4l-8>li:before {

content: "\0025a0 "}.lst-kix_6qnkx7t1adn9-6>li:before {

content: "\0025cf "}.lst-kix_gfromclascha-5>li:before {

content: "\0025a0 "}.lst-kix_pcjo479wrta-2>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-8.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-8 0}.lst-kix_11a9ub9xa97v-8>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-8}.lst-kix_x1epm4iu41dp-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-4>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-5>li {

counter-increment: lst-ctn-kix_xv318blpjdo-5}.lst-kix_1wulu3ra2vwv-5>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-5}.lst-kix_5anu1k9tsyak-0>li:before {

content: "\0025cf "}.lst-kix_fy6y7gyjejoh-4>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-7>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-0>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-5>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-5, lower-roman) ". "}.lst-kix_s3mi7ukxwiwf-2>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-2, lower-roman) ". "}.lst-kix_6ril5iwt0fcl-7>li:before {

content: "\0025cb "}.lst-kix_emhp84jkv42c-4>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-4, decimal) ") "}.lst-kix_emhp84jkv42c-5>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-5}.lst-kix_jj5w63toozfm-4>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-4, lower-latin) ". "}.lst-kix_1wulu3ra2vwv-5>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-5, lower-latin) ") "}ul.lst-kix_u0uqs69v9qbh-8 {

list-style-type: none}.lst-kix_xoos54gyybzj-3>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-1>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-1}ul.lst-kix_u0uqs69v9qbh-4 {

list-style-type: none}.lst-kix_hchtl271h88l-6>li:before {

content: "\0025cf "}ul.lst-kix_u0uqs69v9qbh-5 {

list-style-type: none}.lst-kix_opi66v2qdsjs-5>li:before {

content: "\0025a0 "}.lst-kix_lemcawe54w5c-5>li:before {

content: "\0025a0 "}ul.lst-kix_u0uqs69v9qbh-6 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-7 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-0 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-6 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-1 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-5 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-2 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-8 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-3 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-7 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-7.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-7 0}.lst-kix_fd1rucpc9vz2-2>li:before {

content: "\0025a0 "}ul.lst-kix_jkgkf1u9sy0c-4 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-5 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-6 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-0 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-7 {

list-style-type: none}.lst-kix_bfzyeb917dp8-2>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-2, decimal) ". "}.lst-kix_gyhqddkw9i05-1>li:before {

content: "\0025cb "}ul.lst-kix_jkgkf1u9sy0c-8 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-2 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-1 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-4 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-3 {

list-style-type: none}.lst-kix_11a9ub9xa97v-3>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-3, lower-latin) ") "}ol.lst-kix_emhp84jkv42c-6.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-6 0}.lst-kix_8p26nc4xx5n8-1>li:before {

content: "\0025cb "}.lst-kix_u0uqs69v9qbh-5>li:before {

content: "\0025a0 "}.lst-kix_f5kb4hocu5hh-0>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-5>li:before {

content: "\0025a0 "}.lst-kix_86hsx13ssqid-3>li:before {

content: "\0025cf "}ul.lst-kix_jkgkf1u9sy0c-0 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-1 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-2 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-3 {

list-style-type: none}.lst-kix_vf0l197cqv6l-2>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-2}ol.lst-kix_jj5w63toozfm-5.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-5 0}ul.lst-kix_bijol4nzhwf0-8 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-2 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-1 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-4 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-3 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-6 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-5 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-8 {

list-style-type: none}.lst-kix_yly1729bcywk-7>li {

counter-increment: lst-ctn-kix_yly1729bcywk-7}ol.lst-kix_emhp84jkv42c-7 {

list-style-type: none}.lst-kix_11a9ub9xa97v-4>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-4}.lst-kix_1qz6dmm9b14l-4>li:before {

content: "\0025cb "}.lst-kix_1qz6dmm9b14l-3>li:before {

content: "\0025cf "}.lst-kix_1qz6dmm9b14l-5>li:before {

content: "\0025a0 "}ul.lst-kix_j42a5dwgnqyq-0 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-1 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-2 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-3 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-4 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-5 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-0>li:before {

content: "\0025cf "}.lst-kix_1qz6dmm9b14l-8>li:before {

content: "\0025a0 "}ul.lst-kix_j42a5dwgnqyq-6 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-7 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-1>li:before {

content: "\0025cb "}ol.lst-kix_bfzyeb917dp8-0.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-0 0}ul.lst-kix_j42a5dwgnqyq-8 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-2>li:before {

content: "\0025a0 "}ul.lst-kix_bijol4nzhwf0-4 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-5 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-6 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-7 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-0 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-1 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-2 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-3 {

list-style-type: none}.lst-kix_jj5w63toozfm-3>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-3, decimal) ". "}.lst-kix_1wulu3ra2vwv-2>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-2}.lst-kix_1qz6dmm9b14l-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-2>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-2, lower-roman) ". "}.lst-kix_ne7nl4nhpzqr-3>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-3}.lst-kix_q8ok0mh9yyto-4>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-4}.lst-kix_1qz6dmm9b14l-6>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-1>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-1, lower-latin) ". "}.lst-kix_h9mjmxara98n-7>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-0>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-0, decimal) ". "}.lst-kix_h9mjmxara98n-6>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-8>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-6>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-8>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-5>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-5>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-3>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-3>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-2>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-4>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-2>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-4>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-1.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-1 0}ol.lst-kix_s3mi7ukxwiwf-1.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-1 0}.lst-kix_h9mjmxara98n-0>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-0>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-1>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-1>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-8>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-8}ol.lst-kix_ne7nl4nhpzqr-3.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-3 0}ul.lst-kix_gfromclascha-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-2.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-2 0}.lst-kix_l7z426mwssm0-2>li:before {

content: "\0025a0 "}.lst-kix_ne7nl4nhpzqr-4>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-4, lower-latin) ". "}.lst-kix_l7z426mwssm0-0>li:before {

content: "\0025cf "}.lst-kix_l7z426mwssm0-4>li:before {

content: "\0025cb "}ul.lst-kix_gfromclascha-7 {

list-style-type: none}ul.lst-kix_gfromclascha-8 {

list-style-type: none}ul.lst-kix_gfromclascha-5 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-0>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-0, decimal) ". "}.lst-kix_ne7nl4nhpzqr-2>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-2, lower-roman) ". "}ul.lst-kix_gfromclascha-6 {

list-style-type: none}.lst-kix_x1epm4iu41dp-8>li:before {

content: "\0025a0 "}ul.lst-kix_gfromclascha-3 {

list-style-type: none}ul.lst-kix_gfromclascha-4 {

list-style-type: none}ul.lst-kix_gfromclascha-1 {

list-style-type: none}.lst-kix_bfzyeb917dp8-3>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-3, lower-latin) ") "}ul.lst-kix_gfromclascha-2 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-3 {

list-style-type: none}.lst-kix_x1epm4iu41dp-2>li:before {

content: "\0025a0 "}ol.lst-kix_11a9ub9xa97v-1.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-1 0}ul.lst-kix_opi66v2qdsjs-2 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-1 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-0 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-0>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-0, upper-roman) ". "}.lst-kix_fy6y7gyjejoh-3>li:before {

content: "\0025cf "}.lst-kix_bfzyeb917dp8-5>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-5, lower-latin) ") "}.lst-kix_jj5w63toozfm-0>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-0}.lst-kix_x1epm4iu41dp-6>li:before {

content: "\0025cf "}ul.lst-kix_opi66v2qdsjs-8 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-7 {

list-style-type: none}.lst-kix_x1epm4iu41dp-4>li:before {

content: "\0025cb "}ul.lst-kix_opi66v2qdsjs-6 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-5 {

list-style-type: none}.lst-kix_fy6y7gyjejoh-1>li:before {

content: "\0025cb "}ul.lst-kix_opi66v2qdsjs-4 {

list-style-type: none}.lst-kix_bfzyeb917dp8-7>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-7, lower-latin) ") "}.lst-kix_emhp84jkv42c-7>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-7}.lst-kix_fy6y7gyjejoh-7>li:before {

content: "\0025cb "}ol.lst-kix_xv318blpjdo-1.start {

counter-reset: lst-ctn-kix_xv318blpjdo-1 0}.lst-kix_x1epm4iu41dp-0>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-0.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-0 0}.lst-kix_fy6y7gyjejoh-5>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-3>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-3, lower-latin) ") "}.lst-kix_emhp84jkv42c-5>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-5, lower-latin) ") "}.lst-kix_lemcawe54w5c-8>li:before {

content: "\0025a0 "}ol.lst-kix_yly1729bcywk-4.start {

counter-reset: lst-ctn-kix_yly1729bcywk-4 0}.lst-kix_emhp84jkv42c-1>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-1, upper-latin) ". "}.lst-kix_emhp84jkv42c-7>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-7, lower-latin) ") "}.lst-kix_lemcawe54w5c-6>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-5>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-5, lower-roman) ". "}.lst-kix_bfzyeb917dp8-2>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-2}ul.lst-kix_1qz6dmm9b14l-6 {

list-style-type: none}.lst-kix_lemcawe54w5c-4>li:before {

content: "\0025cb "}.lst-kix_gyhqddkw9i05-8>li:before {

content: "\0025a0 "}.lst-kix_jj5w63toozfm-7>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-7, lower-latin) ". "}ul.lst-kix_1qz6dmm9b14l-5 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-8 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-7 {

list-style-type: none}.lst-kix_jj5w63toozfm-1>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-1}ul.lst-kix_1qz6dmm9b14l-2 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-1 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-4 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-3 {

list-style-type: none}.lst-kix_u0uqs69v9qbh-0>li:before {

content: "\0025cf "}.lst-kix_u0uqs69v9qbh-4>li:before {

content: "\0025cb "}ul.lst-kix_1qz6dmm9b14l-0 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-6>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-6}.lst-kix_jj5w63toozfm-7>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-7}.lst-kix_lemcawe54w5c-2>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-2>li:before {

content: "\0025a0 "}.lst-kix_8p26nc4xx5n8-6>li:before {

content: "\0025cf "}ol.lst-kix_1wulu3ra2vwv-4.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-4 0}.lst-kix_l7z426mwssm0-8>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-8>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-1>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-1, upper-latin) ". "}ul.lst-kix_ekmayt81kvbz-8 {

list-style-type: none}.lst-kix_gyhqddkw9i05-0>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-7 {

list-style-type: none}.lst-kix_gyhqddkw9i05-4>li:before {

content: "\0025cb "}.lst-kix_l7z426mwssm0-6>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-2>li:before {

content: "\0025a0 "}ul.lst-kix_ekmayt81kvbz-6 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-5 {

list-style-type: none}.lst-kix_lemcawe54w5c-0>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-4 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-3 {

list-style-type: none}.lst-kix_gyhqddkw9i05-6>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-0>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-8>li:before {

content: "\0025a0 "}ul.lst-kix_ekmayt81kvbz-2 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-1 {

list-style-type: none}.lst-kix_u0uqs69v9qbh-6>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-0 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-1 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-5.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-5 0}ol.lst-kix_s3mi7ukxwiwf-2 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-0 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-1 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-5 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-2 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-6 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-3 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-0 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-4 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-5 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-6 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-3 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-7 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-4 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-8 {

list-style-type: none}.lst-kix_gyhqddkw9i05-2>li:before {

content: "\0025a0 "}.lst-kix_8p26nc4xx5n8-4>li:before {

content: "\0025cb "}ul.lst-kix_7tib3jrzu2u9-7 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-8 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-7.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-7 0}.lst-kix_yly1729bcywk-6>li {

counter-increment: lst-ctn-kix_yly1729bcywk-6}.lst-kix_xv318blpjdo-1>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-1, upper-latin) ". "}.lst-kix_xv318blpjdo-0>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-0, upper-roman) ". "}.lst-kix_h0kibz3smj6t-4>li:before {

content: "\0025cb "}.lst-kix_ne7nl4nhpzqr-4>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-4}.lst-kix_1wulu3ra2vwv-1>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-1}.lst-kix_h0kibz3smj6t-7>li:before {

content: "\0025cb "}.lst-kix_h0kibz3smj6t-8>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-5>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-5}.lst-kix_opi66v2qdsjs-0>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-7>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-8>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-8, lower-roman) ") "}.lst-kix_xv318blpjdo-5>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-5, lower-latin) ") "}.lst-kix_h0kibz3smj6t-3>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-3>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-4>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-4>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-4, decimal) ") "}.lst-kix_h0kibz3smj6t-0>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-4.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-4 0}ol.lst-kix_ne7nl4nhpzqr-2.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-2 0}ol.lst-kix_11a9ub9xa97v-0.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-0 0}.lst-kix_s3mi7ukxwiwf-7>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-7}ul.lst-kix_l7z426mwssm0-1 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-2 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-0 {

list-style-type: none}ol.lst-kix_yly1729bcywk-8.start {

counter-reset: lst-ctn-kix_yly1729bcywk-8 0}.lst-kix_ne7nl4nhpzqr-2>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-2}.lst-kix_q8ok0mh9yyto-3>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-3, lower-latin) ") "}.lst-kix_pcjo479wrta-7>li:before {

content: "\0025cb "}.lst-kix_686a8e4qhxwx-8>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-6>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-6}ul.lst-kix_l7z426mwssm0-7 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-8 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-2>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-2, decimal) ". "}.lst-kix_pcjo479wrta-8>li:before {

content: "\0025a0 "}ul.lst-kix_l7z426mwssm0-5 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-6 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-3 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-4 {

list-style-type: none}.lst-kix_yly1729bcywk-8>li {

counter-increment: lst-ctn-kix_yly1729bcywk-8}.lst-kix_vf0l197cqv6l-3>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-3}.lst-kix_q8ok0mh9yyto-6>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-6, lower-roman) ") "}.lst-kix_4m04az9jmmj8-2>li:before {

content: "\0025a0 "}.lst-kix_4m04az9jmmj8-6>li:before {

content: "\0025cf "}.lst-kix_q8ok0mh9yyto-7>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-7, lower-latin) ") "}.lst-kix_4m04az9jmmj8-1>li:before {

content: "\0025cb "}.lst-kix_4m04az9jmmj8-5>li:before {

content: "\0025a0 "}ol.lst-kix_vf0l197cqv6l-5.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-5 0}.lst-kix_ne7nl4nhpzqr-8>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-8, lower-roman) ". "}.lst-kix_xv318blpjdo-4>li {

counter-increment: lst-ctn-kix_xv318blpjdo-4}.lst-kix_vf0l197cqv6l-8>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-8}.lst-kix_ne7nl4nhpzqr-5>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-5, lower-roman) ". "}.lst-kix_l7z426mwssm0-1>li:before {

content: "\0025cb "}.lst-kix_x1epm4iu41dp-7>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-1>li {

counter-increment: lst-ctn-kix_yly1729bcywk-1}.lst-kix_6qnkx7t1adn9-4>li:before {

content: "\0025cb "}.lst-kix_6qnkx7t1adn9-8>li:before {

content: "\0025a0 "}.lst-kix_xv318blpjdo-6>li {

counter-increment: lst-ctn-kix_xv318blpjdo-6}ol.lst-kix_jj5w63toozfm-1.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-1 0}.lst-kix_ne7nl4nhpzqr-1>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-1, lower-latin) ". "}.lst-kix_pcjo479wrta-4>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-8.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-8 0}.lst-kix_bfzyeb917dp8-4>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-4, decimal) ") "}.lst-kix_x1epm4iu41dp-3>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-8>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-8>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-8, lower-roman) ") "}.lst-kix_fy6y7gyjejoh-2>li:before {

content: "\0025a0 "}.lst-kix_fy6y7gyjejoh-6>li:before {

content: "\0025cf "}ol.lst-kix_1wulu3ra2vwv-8.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-8 0}.lst-kix_pcjo479wrta-0>li:before {

content: "\0025cf "}ol.lst-kix_s3mi7ukxwiwf-6.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-6 0}ol.lst-kix_jj5w63toozfm-0.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-0 0}.lst-kix_emhp84jkv42c-2>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-2, decimal) ". "}.lst-kix_emhp84jkv42c-6>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-6, lower-roman) ") "}.lst-kix_686a8e4qhxwx-0>li:before {

content: "\0025cf "}.lst-kix_ndaonzmgp8vn-5>li:before {

content: "\0025a0 "}.lst-kix_9jxnjym0nges-3>li:before {

content: "\0025cf "}.lst-kix_opi66v2qdsjs-7>li:before {

content: "\0025cb "}.lst-kix_lemcawe54w5c-7>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-1>li:before {

content: "\0025cb "}.lst-kix_gyhqddkw9i05-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-6>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-6, decimal) ". "}.lst-kix_u0uqs69v9qbh-3>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-0>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-4>li:before {

content: "\0025cb "}ol.lst-kix_s3mi7ukxwiwf-5.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-5 0}.lst-kix_opi66v2qdsjs-3>li:before {

content: "\0025cf "}.lst-kix_lemcawe54w5c-3>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-3>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-7>li:before {

content: "\0025cb "}.lst-kix_l7z426mwssm0-5>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-7>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-0>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-0, upper-roman) ". "}.lst-kix_11a9ub9xa97v-1>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-1, upper-latin) ". "}.lst-kix_gyhqddkw9i05-3>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-7>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-5>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-5, lower-latin) ") "}ol.lst-kix_11a9ub9xa97v-2.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-2 0}.lst-kix_s3mi7ukxwiwf-4>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-4}.lst-kix_7tib3jrzu2u9-4>li:before {

content: "\0025cb "}.lst-kix_ne7nl4nhpzqr-5>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-5}ol.lst-kix_xv318blpjdo-4 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-7.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-7 0}ol.lst-kix_xv318blpjdo-5 {

list-style-type: none}ol.lst-kix_xv318blpjdo-6 {

list-style-type: none}ol.lst-kix_xv318blpjdo-7 {

list-style-type: none}ol.lst-kix_xv318blpjdo-0 {

list-style-type: none}ol.lst-kix_xv318blpjdo-1 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-1>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-4.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-4 0}ol.lst-kix_xv318blpjdo-2 {

list-style-type: none}ol.lst-kix_xv318blpjdo-3 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-6>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-6}ul.lst-kix_5anu1k9tsyak-7 {

list-style-type: none}.lst-kix_jj5w63toozfm-6>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-6}ul.lst-kix_5anu1k9tsyak-8 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-5.start {

counter-reset: lst-ctn-kix_yly1729bcywk-5 0}.lst-kix_11a9ub9xa97v-2>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-2}ol.lst-kix_1wulu3ra2vwv-0 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-6 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-1 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-3 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-4 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-1 {

list-style-type: none}.lst-kix_xv318blpjdo-3>li {

counter-increment: lst-ctn-kix_xv318blpjdo-3}ul.lst-kix_5anu1k9tsyak-2 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-6 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-0 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-7 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-8 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-6>li:before {

content: "\0025cf "}ol.lst-kix_xv318blpjdo-8 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-2 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-3 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-7>li:before {

content: "\0025cb "}ol.lst-kix_1wulu3ra2vwv-4 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-5 {

list-style-type: none}.lst-kix_vf0l197cqv6l-4>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-4}ol.lst-kix_1wulu3ra2vwv-5.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-5 0}ol.lst-kix_11a9ub9xa97v-7.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-7 0}ol.lst-kix_q8ok0mh9yyto-2.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-2 0}.lst-kix_11a9ub9xa97v-6>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-6}.lst-kix_5anu1k9tsyak-7>li:before {

content: "\0025cb "}.lst-kix_j42a5dwgnqyq-6>li:before {

content: "\0025cf "}ol.lst-kix_xv318blpjdo-2.start {

counter-reset: lst-ctn-kix_xv318blpjdo-2 0}.lst-kix_1wulu3ra2vwv-4>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-4}.lst-kix_q8ok0mh9yyto-2>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-2}ol.lst-kix_jj5w63toozfm-4.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-4 0}.lst-kix_vf0l197cqv6l-0>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-0}ol.lst-kix_yly1729bcywk-0.start {

counter-reset: lst-ctn-kix_yly1729bcywk-0 0}.lst-kix_6qnkx7t1adn9-2>li:before {

content: "\0025a0 "}.lst-kix_qeqyxe7gm97l-6>li:before {

content: "\0025cf "}.lst-kix_qeqyxe7gm97l-4>li:before {

content: "\0025cb "}.lst-kix_j42a5dwgnqyq-1>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-1>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-3>li:before {

content: "\0025cf "}.lst-kix_j42a5dwgnqyq-4>li:before {

content: "\0025cb "}ol.lst-kix_1wulu3ra2vwv-0.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-0 0}ol.lst-kix_q8ok0mh9yyto-7.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-7 0}.lst-kix_j42a5dwgnqyq-3>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-2>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-2}ol.lst-kix_1wulu3ra2vwv-3.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-3 0}ol.lst-kix_q8ok0mh9yyto-0.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-0 0}.lst-kix_6qnkx7t1adn9-5>li:before {

content: "\0025a0 "}.lst-kix_6qnkx7t1adn9-7>li:before {

content: "\0025cb "}ol.lst-kix_yly1729bcywk-3.start {

counter-reset: lst-ctn-kix_yly1729bcywk-3 0}.lst-kix_iv2x96orjh4l-7>li:before {

content: "\0025cb "}.lst-kix_pcjo479wrta-3>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-6>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-6, decimal) ". "}.lst-kix_ndaonzmgp8vn-6>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-1>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-8>li:before {

content: "\0025a0 "}.lst-kix_pcjo479wrta-1>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-1>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-4>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-4, lower-latin) ". "}.lst-kix_bfzyeb917dp8-8>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-8}.lst-kix_ne7nl4nhpzqr-1>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-1}.lst-kix_opi66v2qdsjs-4>li:before {

content: "\0025cb "}.lst-kix_fd1rucpc9vz2-1>li:before {

content: "\0025cb "}.lst-kix_fd1rucpc9vz2-3>li:before {

content: "\0025cf "}.lst-kix_opi66v2qdsjs-6>li:before {

content: "\0025cf "}ol.lst-kix_11a9ub9xa97v-4.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-4 0}.lst-kix_xoos54gyybzj-4>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-1>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-1}.lst-kix_ndaonzmgp8vn-0>li:before {

content: "\0025cf "}ol.lst-kix_jj5w63toozfm-6.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-6 0}.lst-kix_xoos54gyybzj-2>li:before {

content: "\0025a0 "}ul.lst-kix_b7256qmdgo85-6 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-7 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-3>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-3}ul.lst-kix_b7256qmdgo85-8 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-2 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-3 {

list-style-type: none}.lst-kix_11a9ub9xa97v-4>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-4, decimal) ") "}ul.lst-kix_b7256qmdgo85-4 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-5 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-1>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-2>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-2, decimal) ". "}.lst-kix_9jxnjym0nges-4>li:before {

content: "\0025cb "}.lst-kix_86hsx13ssqid-4>li:before {

content: "\0025cb "}ul.lst-kix_b7256qmdgo85-0 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-1 {

list-style-type: none}.lst-kix_9jxnjym0nges-6>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-2>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-5>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-5}.lst-kix_h0kibz3smj6t-6>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-3>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-3}ol.lst-kix_11a9ub9xa97v-5.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-5 0}ul.lst-kix_x1epm4iu41dp-0 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-4>li:before {

content: "\0025cb "}ol.lst-kix_xv318blpjdo-0.start {

counter-reset: lst-ctn-kix_xv318blpjdo-0 0}.lst-kix_jkgkf1u9sy0c-0>li:before {

content: "\0025cf "}.lst-kix_f5kb4hocu5hh-7>li:before {

content: "\0025cb "}ul.lst-kix_x1epm4iu41dp-6 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-5 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-8 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-3>li:before {

content: "\0025cf "}ul.lst-kix_x1epm4iu41dp-7 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-2 {

list-style-type: none}.lst-kix_xv318blpjdo-0>li {

counter-increment: lst-ctn-kix_xv318blpjdo-0}ol.lst-kix_jj5w63toozfm-8.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-8 0}ul.lst-kix_x1epm4iu41dp-1 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-4 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-3 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-2.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-2 0}.lst-kix_686a8e4qhxwx-6>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-5>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-5}.lst-kix_h0kibz3smj6t-1>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-6>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-6, lower-roman) ") "}ul.lst-kix_86hsx13ssqid-3 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-2 {

list-style-type: none}.lst-kix_xv318blpjdo-3>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-3, lower-latin) ") "}ul.lst-kix_86hsx13ssqid-5 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-4 {

list-style-type: none}.lst-kix_686a8e4qhxwx-1>li:before {

content: "\0025cb "}ol.lst-kix_yly1729bcywk-2.start {

counter-reset: lst-ctn-kix_yly1729bcywk-2 0}ul.lst-kix_86hsx13ssqid-1 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-8>li:before {

content: "\0025a0 "}ul.lst-kix_86hsx13ssqid-0 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-0 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-1 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-2 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-3 {

list-style-type: none}.lst-kix_b7256qmdgo85-1>li:before {

content: "\0025cb "}ul.lst-kix_86hsx13ssqid-7 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-0 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-6 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-8 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-3 {

list-style-type: none}.lst-kix_4m04az9jmmj8-8>li:before {

content: "\0025a0 "}ul.lst-kix_fy6y7gyjejoh-8 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-4 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-1 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-2 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-7 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-4 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-8 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-5 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-5 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-6 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-6 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-7 {

list-style-type: none}.lst-kix_b7256qmdgo85-6>li:before {

content: "\0025cf "}ol.lst-kix_yly1729bcywk-1.start {

counter-reset: lst-ctn-kix_yly1729bcywk-1 0}ol.lst-kix_1wulu3ra2vwv-1.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-1 0}.lst-kix_ne7nl4nhpzqr-8>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-8}.lst-kix_q97rvvc7c69e-0>li:before {

content: "\0025cf "}.lst-kix_q8ok0mh9yyto-1>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-1, upper-latin) ". "}.lst-kix_4m04az9jmmj8-0>li:before {

content: "\0025cf "}ol.lst-kix_11a9ub9xa97v-6.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-6 0}.lst-kix_q8ok0mh9yyto-4>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-4, decimal) ") "}.lst-kix_emhp84jkv42c-0>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-0}.lst-kix_q8ok0mh9yyto-5>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-5}ul.lst-kix_lemcawe54w5c-7 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-8 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-6>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-6, decimal) ". "}ul.lst-kix_lemcawe54w5c-5 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-6 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-3 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-4 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-1 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-2 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-1>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-1}ul.lst-kix_lemcawe54w5c-0 {

list-style-type: none}.lst-kix_4m04az9jmmj8-3>li:before {

content: "\0025cf "}ul.lst-kix_f5kb4hocu5hh-4 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-3 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-6 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-5 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-8 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-7 {

list-style-type: none}.lst-kix_xv318blpjdo-7>li {

counter-increment: lst-ctn-kix_xv318blpjdo-7}ol.lst-kix_xv318blpjdo-7.start {

counter-reset: lst-ctn-kix_xv318blpjdo-7 0}.lst-kix_gfromclascha-1>li:before {

content: "\0025cb "}.lst-kix_86hsx13ssqid-7>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-0>li {

counter-increment: lst-ctn-kix_yly1729bcywk-0}.lst-kix_ne7nl4nhpzqr-3>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-3, decimal) ". "}ol.lst-kix_q8ok0mh9yyto-3.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-3 0}.lst-kix_1wulu3ra2vwv-7>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-7}ul.lst-kix_f5kb4hocu5hh-0 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-2 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-1 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-0 {

list-style-type: none}.lst-kix_fy6y7gyjejoh-0>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-1 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-2 {

list-style-type: none}.lst-kix_yly1729bcywk-1>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-1, lower-latin) ". "}ul.lst-kix_fd1rucpc9vz2-3 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-6.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-6 0}ul.lst-kix_fd1rucpc9vz2-8 {

list-style-type: none}.lst-kix_pcjo479wrta-6>li:before {

content: "\0025cf "}.lst-kix_bfzyeb917dp8-6>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-6, lower-roman) ") "}.lst-kix_6ril5iwt0fcl-3>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-4 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-5 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-6 {

list-style-type: none}.lst-kix_fd1rucpc9vz2-6>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-7 {

list-style-type: none}.lst-kix_5anu1k9tsyak-4>li:before {

content: "\0025cb "}.lst-kix_vf0l197cqv6l-7>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-7}.lst-kix_s3mi7ukxwiwf-8>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-8}.lst-kix_iv2x96orjh4l-4>li:before {

content: "\0025cb "}.lst-kix_s3mi7ukxwiwf-6>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-6, decimal) ". "}.lst-kix_fy6y7gyjejoh-8>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-4.start {

counter-reset: lst-ctn-kix_xv318blpjdo-4 0}.lst-kix_x1epm4iu41dp-1>li:before {

content: "\0025cb "}.lst-kix_q97rvvc7c69e-8>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-5.start {

counter-reset: lst-ctn-kix_xv318blpjdo-5 0}ul.lst-kix_8p26nc4xx5n8-0 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-1 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-2 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-3 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-4 {

list-style-type: none}.lst-kix_emhp84jkv42c-0>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-0, upper-roman) ". "}.lst-kix_emhp84jkv42c-8>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-8, lower-roman) ") "}.lst-kix_9jxnjym0nges-1>li:before {

content: "\0025cb "}.lst-kix_xoos54gyybzj-7>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-5.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-5 0}.lst-kix_ndaonzmgp8vn-3>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-8>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-8, lower-roman) ". "}.lst-kix_u0uqs69v9qbh-1>li:before {

content: "\0025cb "}.lst-kix_opi66v2qdsjs-1>li:before {

content: "\0025cb "}.lst-kix_lemcawe54w5c-1>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-7>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-7, lower-latin) ") "}.lst-kix_8p26nc4xx5n8-5>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-6.start {

counter-reset: lst-ctn-kix_xv318blpjdo-6 0}.lst-kix_l7z426mwssm0-7>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-0>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-0}.lst-kix_gyhqddkw9i05-5>li:before {

content: "\0025a0 "}.lst-kix_hchtl271h88l-2>li:before {

content: "\0025a0 "}ul.lst-kix_6qnkx7t1adn9-8 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-4.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-4 0}ul.lst-kix_6qnkx7t1adn9-7 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-5 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-6 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-6 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-5 {

list-style-type: none}.lst-kix_sholqrhc62dh-3>li:before {

content: "\0025cf "}ul.lst-kix_8p26nc4xx5n8-7 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-4 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-8 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-3 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-2 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-1 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-1>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-1, upper-latin) ". "}ul.lst-kix_6qnkx7t1adn9-0 {

list-style-type: none}ol {

margin: 0;

padding: 0}table td, table th {

padding: 0}.c4 {

color: #ff5e0e;

font-weight: 700;

text-decoration: none;

vertical-align: baseline;

font-size: 18pt;

font-family: "PT Sans Narrow";

font-style: normal}.c7 {

color: #38761d;

font-weight: 400;

text-decoration: none;

vertical-align: baseline;

font-size: 16pt;

font-family: "PT Sans Narrow";

font-style: normal}.c14 {

color: #695d46;

font-weight: 700;

text-decoration: none;

vertical-align: baseline;

font-size: 42pt;

font-family: "PT Sans Narrow";

font-style: normal}.c0 {

color: #695d46;

font-weight: 400;

text-decoration: none;

vertical-align: baseline;

font-size: 11pt;

font-family: "Open Sans";

font-style: normal}.c1 {

padding-top: 6pt;

padding-bottom: 0pt;

line-height: 1.2;

orphans: 2;

widows: 2;

text-align: left}.c8 {

padding-top: 18pt;

padding-bottom: 6pt;

line-height: 1.2;

page-break-after: avoid;

text-align: left}.c11 {

padding-top: 24pt;

padding-bottom: 0pt;

line-height: 1.3;

page-break-after: avoid;

text-align: left}.c17 {

padding-top: 6pt;

padding-bottom: 0pt;

line-height: 1.2;

page-break-after: avoid;

text-align: left}.c19 {

text-decoration: none;

vertical-align: baseline;

font-size: 12pt;

font-style: normal}.c9 {

padding-top: 16pt;

padding-bottom: 0pt;

line-height: 1.0;

text-align: left}.c18 {

padding-top: 0pt;

padding-bottom: 0pt;

line-height: 1.2;

text-align: left}.c10 {

font-size: 18pt;

font-family: "PT Sans Narrow";

color: #ff5e0e;

font-weight: 700}.c13 {

font-family: "Open Sans";

color: #695d46;

font-weight: 400}.c12 {

background-color: #ffffff;

max-width: 468pt;

padding: 72pt 72pt 72pt 72pt}.c5 {

padding: 0;

margin: 0}.c15 {

color: inherit;

text-decoration: inherit}.c16 {

color: #1155cc;

text-decoration: underline}.c3 {

padding-left: 0pt}.c6 {

margin-left: 72pt}.c2 {

margin-left: 36pt}.title {

padding-top: 0pt;

color: #695d46;

font-size: 26pt;

padding-bottom: 3pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}.subtitle {

padding-top: 0pt;

color: #666666;

font-size: 15pt;

padding-bottom: 16pt;

font-family: "Arial";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}li {

color: #695d46;

font-size: 11pt;

font-family: "Open Sans"}p {

margin: 0;

color: #695d46;

font-size: 11pt;

font-family: "Open Sans"}h1 {

padding-top: 24pt;

color: #ff5e0e;

font-weight: 700;

font-size: 18pt;

padding-bottom: 0pt;

font-family: "PT Sans Narrow";

line-height: 1.3;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h2 {

padding-top: 18pt;

color: #38761d;

font-size: 16pt;

padding-bottom: 6pt;

font-family: "PT Sans Narrow";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h3 {

padding-top: 16pt;

color: #434343;

font-size: 14pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h4 {

padding-top: 14pt;

color: #666666;

font-size: 12pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h5 {

padding-top: 12pt;

color: #666666;

font-size: 11pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h6 {

padding-top: 12pt;

color: #666666;

font-size: 11pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

font-style: italic;

orphans: 2;

widows: 2;

text-align: left}

 

Oracle Fusion Middleware Deployments Using

Docker Swarm Part III

Overview

This is the third in a series of blogs that

describe how to build a Fusion Middleware (FMW) Cluster that runs as

a number of Docker images that run in docker containers.  These

containers are coordinated using Docker Swarm and can be deployed to

a single host machine or multiple hosts.  This simplifies the

task of building FMW clusters and also makes it easier to scale them

in and out (adding or subtracting host machines) as well as up and

down (using bigger or smaller host
machines).  Using docker also helps us to avoid port

conflicts when running multiple servers on the same

physical machine.  When we use swarm we will see that we also

get benefits from a built in load balancer.

This blog uses Oracle Service Bus as an FMW

product but the principles are applicable to other FMW products.

In our previous blog we talked about how to

build the required docker images for running FMW on Docker Swarm and

created a database container.

In this entry we will explain how to create

an FMW domain image and how to run that in a docker container
.  The next blog will cover how to run this in

Docker Swarm.

Key Steps in Creating a Service Bus Cluster

When creating a service bus cluster we need to

do the following:

  1. Create the required

    schemas in a database.

  • Service Bus 12.1

    adds a number of new features such as re-sequencing that require the

    use of SOA Suite schemas.  These are in addition to the

    database requirements for Web Services Security Manager that existed

    in Service Bus 11g.
  • The Repository

    Creation Utility is used to create the schemas in a database.

  1. Create service bus

    domain.

  • The service bus

    domain contains all the required service bus binaries and associated

    configuration.  Within the domain we will create a service bus

    cluster.
  • The domain can be

    created using the WebLogic scripting tool by applying the service

    bus domain template.

  1. Create a Service Bus

    cluster within the domain.

  • The service bus

    cluster allows us to have multiple service bus servers running the

    same proxy services and sharing the load.
  • The cluster can be

    created and servers assigned using the WebLogic scripting tool.

These steps need to be factored into the way

we build our docker images and containers and ultimately into how we

create Docker Swarm services.

Mapping the Service Bus Cluster onto Docker

There are a number of ways in which we could

map a Service Bus cluster onto Docker.  We have chosen the

following approach:

  • Create a Docker

    image that contains the Service Bus domain configuration.

  • This is layered on

    top of the OSB installation image.  This allows us to modify

    and rebuild the scripts without having to reinstall the FMW

    software.  This speeds up the development cycle of the image.

     Once the scripts are working they could be placed in the FMW

    binary image, reducing the number of layers.
  • When creating a

    container from the image we run the RCU to create the schemas in the

    database.  We also run scripts to create the domain and add

    servers to the domain as needed.

  • The same Docker

    image is used for both Admin and Managed Servers.

  • Depending on

    parameters the container decides if it is an admin server or a

    member of a cluster.
  • All servers need

    access to the database.
  • All servers need

    access to the Admin server.
  • The admin server

    requires access to all servers.

Container Summary

We effectively have two images, which are both

built from multiple layers as explained previously.

  1. Database image holds

    the binaries for database and scripts to create a database instance.
  2. Fusion Middleware

    image holds the FMW binaries and scripts to create a domain, or

    extend an existing domain.

We have a single Docker Container to run the

database from the database image.

We have multiple Docker Containers, one per managed server, to run Fusion Middleware from the single domain

image.

To simplify starting the containers the git

project includes run scripts (run.sh for database and runNode.sh for

FMW) that can be used to create containers.

Database Container

The database container runs from the database

image and has the following characteristics:

  • When the container is created

    it creates and starts a database
    instance.
  • After starting the

    database we change the database password.
  • When the container

    is stopped it shuts down the database instance.
  • When the container

    is started it starts the database instance.
  • The database

    container exposes the database port (1521 in this case)
  • Only a single

    container runs a given database.

The database container is started using the

following command:

docker run -d -it --name Oracle12cDB

--hostname osbdb -p 1521:1521 -p 5500:5500 -e ORACLE_SID=ORCL -e

ORACLE_PDB=OSB -v /opt/oracle/oradata/OracleDB

oracle/database:12.1.0.2-ee

We expose ports 1521 (database) and 5500 (em).

Admin Server Container

The admin server container runs from the FMW

domain image, or just the FMW image if the layers have been

collapsed.  It has the following characteristics:

  • When the container

    is created it runs the RCU to configure the database.
  • When the container is created

    it creates an FMW
    domain and

    cluster.
  • When the container

    is created it starts the Admin Server.
  • When the container

    is stopped its stops the Admin Server.
  • When the container

    is started it starts the Admin Server.
  • The Admin Server

    exposes the admin console port (7001 in this case)
  • Only a single Admin

    Server container runs in a given domain.
  • The same image is

    used for both Admin and Managed Servers.

We start the admin server using the following

command

runNode.sh admin

This translates to

docker run -d -it \

        -e

"MS_NAME=AdminServer" \

        -e

"MACHINE_NAME=AdminServerMachine" \

        --name

wlsadmin \

        --add-host

osbdb:172.17.0.2 \

        --add-host

wlsadmin:172.17.0.3 \

        --add-host

wls1:172.17.0.4 \

        --add-host

wls2:172.17.0.5 \

        --add-host

wls3:172.17.0.6 \

        --add-host

wls4:172.17.0.7 \

        --hostname

wlsadmin \

        -p

7001:7001 \

        oracle/osb_domain:12.2.1.2

\

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

We need to add the hostnames of the managed

servers and the database to the /etc/hosts file so that the admin

server can access them.  We will show how to avoid doing this in

the final blog post.

Managed Server Containers

The managed server containers runs from the

same FMW domain image as the Admin Server.  It has the following

characteristics:

  • When the container

    is created it creates a new server in the domain and adds it to the

    FMW cluster
  • When the container is created

    it creates
     a local copy of the domain files.
  • When the container

    is created it starts the Managed Server.
  • When the container

    is stopped its stops the Managed Server.
  • When the container

    is started it starts the Managed Server.
  • The Managed Server

    exposes the admin console port (8011 in this case)
  • Multiple Managed

    Server containers may run in a given domain.
  • The same image is

    used for both Admin and Managed Servers.

We start the managed servers using the

following command

runNode.sh N

Where N is the number of the managed server.

When N=2 this  translates to

docker run -d -it \

        -e

"MS_NAME=osb_server2" \

        -e

"MACHINE_NAME=OsbServer2Machine" \

        --name

wls2 \

        --add-host

osbdb:172.17.0.2 \

        --add-host

wlsadmin:172.17.0.3 \

        --add-host

wls1:172.17.0.4 \

        --add-host

wls2:172.17.0.5 \

        --add-host

wls3:172.17.0.6 \

        --add-host

wls4:172.17.0.7 \

        --hostname

wlsadmin \

        -p

8013:8011 \

        oracle/osb_domain:12.2.1.2

\

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

Note that all the managed servers listen on

port 8011.  Because they each run in their own container their

is no conflict in their port numbers but we need to map them so that

they can be accessed externally without conflicts.

Special Notes for Service Bus

The first managed server in a Service Bus

cluster is special because it runs singleton tasks related to

reporting, collecting performance information from other nodes in the

cluster and aggregating it and making it available to the console.

 Because of this we decided to always create a Service Bus

domain with a pre-existing single Managed Server in the cluster with

the correct singleton targeting.

Because this server already exists if a

container detects it is supposed to run Managed Server 1 then it does

not create the server or associate it with a cluster, it justs

assigns it to a machine (see next section for details) and creates

the local managed server domain.

Containers and FMW Mapping

Each container maps to a single WebLogic

server, either Admin Server or a Managed Server in a cluster.

The Admin Server container is responsible for

running the repository configuration utility, creating the domain and

configuring it for that particular FMW product (in our case Service

Bus).

The Managed Server containers are responsible

for adding a new Managed Server to the cluster and creating a local

managed server domain.

Both Admin and Managed Server containers need

to figure out key facts about themselves:

  • Hostname - used to

    set the listen address for the server and also the address of the

    machine
  • Type - admin or

    managed server to decide what to do on creation
  • Server identifier -

    managed servers need to make sure they have unique server names.
  • Associated Admin

    Server - managed servers must contact the admin server to obtain and

    update domain configuration.
  • Database Server -

    admin servers must know about the database to be able to run the RCU

    and create data sources required by the FMW product.

Starting the FMW Cluster

The FMW cluster is started as follows:

  1. A database container

    is created/started
  2. An admin server is

    created/started
  3. One or more managed

    servers are created/started

Containers are created using the “docker

run” command.  We use the “-d” flag to run

them as daemon processes.  By default the CMD directive in the

dockerfile is used choose the command or script to run on container

startup.  We use this for the database container.  For the

admin and managed containers we identify which type of container they

are and pass in an appropriate script to the “docker run”

command.

Containers are started using the “docker

start” command and the container uses the same command or

script as when it was created.  That means we must detect if

this is a new container or a container being started after previously

being shutdown.  With the FMW containers we do this by looking

for the existence of the domain directory, if it exists we have

previously been started, if not this must be our first run.

Tools such as docker compose and docker

compose simplify the task of deploying our multiple container FMW

cluster and we will look at these in the next blog entry.  One

of the benefits we will find with swarm is that it includes a load

balancer.  The current multi-container approach would require

either another container to run a load balancer or an external load

balancer, we will see that swarm removes this need.

Retrieving Docker Files for OSB Cluster

We are posting all the required

files to go along with this blog on github
.  You

are welcome to fork from this and improve it.  We cloned many of

these files from the
official

Oracle docker github
.  We removed unused versions

and added a simplified build.sh file to each product directory to

make it easy to see how we actually built our environment.  We

are still updating the files online and will shortly add details on

building the swarm services.

Summary

In this entry we have explained how to create

a Fusion Middleware Domain
and run it on docker

containers
.  In our next entry we will

simplify the deployment
of of our cluster

by taking advatage of swarm

mode by defining swarm services for the database, WebLogic Admin

Server and WebLogic managed servers.

Building an FMW Cluster using Docker (Part III Running Docker Containers)

Antony Reynolds - Mon, 2017-03-13 01:02

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import url('https://themes.googleusercontent.com/fonts/css?kit=soJ-z33zIWP9ip4SlSLqmawpPKmPqgwAG3potzd-b6hLxa5kJlTvGyssufwSrkOWWWXuzMD-CMEVHDC2H45HXw') ; .lst-kix_sholqrhc62dh-7>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-8>li:before { content: "\0025a0 " } .lst-kix_sholqrhc62dh-6>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-2.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-2 0 } ol.lst-kix_xv318blpjdo-3.start { counter-reset: lst-ctn-kix_xv318blpjdo-3 0 } .lst-kix_sholqrhc62dh-1>li:before { content: "\0025cb " } .lst-kix_vf0l197cqv6l-2>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-2, lower-roman) ". " } .lst-kix_sholqrhc62dh-0>li:before { content: "\0025cf " } .lst-kix_emhp84jkv42c-3>li { counter-increment: lst-ctn-kix_emhp84jkv42c-3 } .lst-kix_ekmayt81kvbz-0>li:before { content: "\0025cf " } .lst-kix_vf0l197cqv6l-1>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-4>li { counter-increment: lst-ctn-kix_jj5w63toozfm-4 } .lst-kix_ekmayt81kvbz-2>li:before { content: "\0025a0 " } ul.lst-kix_qeqyxe7gm97l-6 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-5 { list-style-type: none } .lst-kix_ekmayt81kvbz-1>li:before { content: "\0025cb " } ul.lst-kix_qeqyxe7gm97l-4 { list-style-type: none } .lst-kix_ekmayt81kvbz-3>li:before { content: "\0025cf " } ul.lst-kix_qeqyxe7gm97l-3 { list-style-type: none } .lst-kix_vf0l197cqv6l-0>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-0, decimal) ". " } ul.lst-kix_qeqyxe7gm97l-2 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-1 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-0 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-8.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-8 0 } .lst-kix_ekmayt81kvbz-5>li:before { content: "\0025a0 " } .lst-kix_ekmayt81kvbz-7>li:before { content: "\0025cb " } ul.lst-kix_4m04az9jmmj8-3 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-2 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-8 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-1 { list-style-type: none } .lst-kix_ekmayt81kvbz-4>li:before { content: "\0025cb " } .lst-kix_ekmayt81kvbz-8>li:before { content: "\0025a0 " } ul.lst-kix_qeqyxe7gm97l-7 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-0 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-7 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-6 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-5 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-4 { list-style-type: none } .lst-kix_ekmayt81kvbz-6>li:before { content: "\0025cf " } ul.lst-kix_4m04az9jmmj8-8 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-2>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-2 } .lst-kix_11a9ub9xa97v-0>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-0 } ol.lst-kix_emhp84jkv42c-4.start { counter-reset: lst-ctn-kix_emhp84jkv42c-4 0 } ol.lst-kix_xv318blpjdo-8.start { counter-reset: lst-ctn-kix_xv318blpjdo-8 0 } ul.lst-kix_6ril5iwt0fcl-5 { list-style-type: none } .lst-kix_q8ok0mh9yyto-8>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-8 } ul.lst-kix_6ril5iwt0fcl-4 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-3 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-2 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-8 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-7 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-6 { list-style-type: none } .lst-kix_vf0l197cqv6l-6>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-6 } .lst-kix_vf0l197cqv6l-4>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-4, lower-latin) ". " } ol.lst-kix_s3mi7ukxwiwf-8.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-8 0 } .lst-kix_vf0l197cqv6l-3>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-3, decimal) ". " } .lst-kix_vf0l197cqv6l-5>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-5, lower-roman) ". " } .lst-kix_vf0l197cqv6l-6>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-6, decimal) ". " } ul.lst-kix_6ril5iwt0fcl-1 { list-style-type: none } .lst-kix_vf0l197cqv6l-8>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-8, lower-roman) ". " } ul.lst-kix_6ril5iwt0fcl-0 { list-style-type: none } .lst-kix_xv318blpjdo-1>li { counter-increment: lst-ctn-kix_xv318blpjdo-1 } .lst-kix_vf0l197cqv6l-7>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-7, lower-latin) ". " } .lst-kix_bfzyeb917dp8-6>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-6 } ol.lst-kix_yly1729bcywk-0 { list-style-type: none } ol.lst-kix_yly1729bcywk-1 { list-style-type: none } ol.lst-kix_yly1729bcywk-6.start { counter-reset: lst-ctn-kix_yly1729bcywk-6 0 } ol.lst-kix_yly1729bcywk-4 { list-style-type: none } ol.lst-kix_yly1729bcywk-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-2 { list-style-type: none } ol.lst-kix_yly1729bcywk-3 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-1>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-1, lower-latin) ". " } ol.lst-kix_yly1729bcywk-8 { list-style-type: none } ul.lst-kix_hchtl271h88l-3 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-0.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-0 0 } ul.lst-kix_hchtl271h88l-2 { list-style-type: none } ol.lst-kix_yly1729bcywk-6 { list-style-type: none } ul.lst-kix_hchtl271h88l-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-7 { list-style-type: none } ul.lst-kix_hchtl271h88l-4 { list-style-type: none } .lst-kix_gfromclascha-0>li:before { content: "\0025cf " } ul.lst-kix_hchtl271h88l-1 { list-style-type: none } ul.lst-kix_hchtl271h88l-0 { list-style-type: none } .lst-kix_gfromclascha-2>li:before { content: "\0025a0 " } .lst-kix_gfromclascha-4>li:before { content: "\0025cb " } ul.lst-kix_hchtl271h88l-7 { list-style-type: none } ul.lst-kix_hchtl271h88l-6 { list-style-type: none } ul.lst-kix_hchtl271h88l-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-7.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-7 0 } .lst-kix_6ril5iwt0fcl-0>li:before { content: "\0025cf " } .lst-kix_gfromclascha-6>li:before { content: "\0025cf " } .lst-kix_q97rvvc7c69e-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-7>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-8.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-8 0 } .lst-kix_6ril5iwt0fcl-2>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-3>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-7>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-7, lower-latin) ". " } .lst-kix_6ril5iwt0fcl-4>li:before { content: "\0025cb " } .lst-kix_6ril5iwt0fcl-6>li:before { content: "\0025cf " } .lst-kix_xv318blpjdo-8>li { counter-increment: lst-ctn-kix_xv318blpjdo-8 } .lst-kix_s3mi7ukxwiwf-5>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-5, lower-roman) ". " } .lst-kix_6ril5iwt0fcl-8>li:before { content: "\0025a0 " } .lst-kix_s3mi7ukxwiwf-3>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-3, decimal) ". " } .lst-kix_ne7nl4nhpzqr-0>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-0 } .lst-kix_ne7nl4nhpzqr-7>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-7 } .lst-kix_vf0l197cqv6l-5>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-5 } ol.lst-kix_jj5w63toozfm-7.start { counter-reset: lst-ctn-kix_jj5w63toozfm-7 0 } .lst-kix_1wulu3ra2vwv-4>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-4, decimal) ") " } .lst-kix_yly1729bcywk-3>li { counter-increment: lst-ctn-kix_yly1729bcywk-3 } .lst-kix_hchtl271h88l-5>li:before { content: "\0025a0 " } .lst-kix_1wulu3ra2vwv-6>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-6, lower-roman) ") " } .lst-kix_yly1729bcywk-4>li { counter-increment: lst-ctn-kix_yly1729bcywk-4 } .lst-kix_hchtl271h88l-7>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-8>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-8, lower-roman) ") " } .lst-kix_gfromclascha-8>li:before { content: "\0025a0 " } .lst-kix_hchtl271h88l-3>li:before { content: "\0025cf " } .lst-kix_sholqrhc62dh-2>li:before { content: "\0025a0 " } ul.lst-kix_9jxnjym0nges-0 { list-style-type: none } .lst-kix_hchtl271h88l-1>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-4>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-2>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-2, decimal) ". " } .lst-kix_1wulu3ra2vwv-0>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-0, upper-roman) ". " } ol.lst-kix_11a9ub9xa97v-3.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-3 0 } .lst-kix_emhp84jkv42c-2>li { counter-increment: lst-ctn-kix_emhp84jkv42c-2 } ol.lst-kix_s3mi7ukxwiwf-4.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-4 0 } ul.lst-kix_h0kibz3smj6t-8 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-7.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-7 0 } .lst-kix_jkgkf1u9sy0c-2>li:before { content: "\0025a0 " } .lst-kix_f5kb4hocu5hh-2>li:before { content: "\0025a0 " } .lst-kix_jkgkf1u9sy0c-1>li:before { content: "\0025cb " } .lst-kix_f5kb4hocu5hh-6>li:before { content: "\0025cf " } ul.lst-kix_iv2x96orjh4l-2 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-1.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-1 0 } ul.lst-kix_iv2x96orjh4l-3 { list-style-type: none } .lst-kix_f5kb4hocu5hh-5>li:before { content: "\0025a0 " } ul.lst-kix_iv2x96orjh4l-0 { list-style-type: none } .lst-kix_jj5w63toozfm-3>li { counter-increment: lst-ctn-kix_jj5w63toozfm-3 } ul.lst-kix_iv2x96orjh4l-1 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-6 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-7 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-6>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-6 } ul.lst-kix_iv2x96orjh4l-4 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-5 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-3 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-2 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-1 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-5>li:before { content: "\0025a0 " } ul.lst-kix_h0kibz3smj6t-0 { list-style-type: none } ol.lst-kix_jj5w63toozfm-2.start { counter-reset: lst-ctn-kix_jj5w63toozfm-2 0 } ul.lst-kix_h0kibz3smj6t-7 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-6 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-5 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-6>li:before { content: "\0025cf " } ul.lst-kix_h0kibz3smj6t-4 { list-style-type: none } .lst-kix_emhp84jkv42c-4>li { counter-increment: lst-ctn-kix_emhp84jkv42c-4 } ul.lst-kix_iv2x96orjh4l-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-3.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-3 0 } .lst-kix_b7256qmdgo85-3>li:before { content: "\0025cf " } .lst-kix_b7256qmdgo85-4>li:before { content: "\0025cb " } .lst-kix_b7256qmdgo85-7>li:before { content: "\0025cb " } ol.lst-kix_jj5w63toozfm-3.start { counter-reset: lst-ctn-kix_jj5w63toozfm-3 0 } .lst-kix_q97rvvc7c69e-2>li:before { content: "\0025a0 " } .lst-kix_b7256qmdgo85-8>li:before { content: "\0025a0 " } ol.lst-kix_bfzyeb917dp8-2.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-2 0 } ol.lst-kix_1wulu3ra2vwv-6.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-6 0 } ol.lst-kix_yly1729bcywk-7.start { counter-reset: lst-ctn-kix_yly1729bcywk-7 0 } .lst-kix_jj5w63toozfm-5>li { counter-increment: lst-ctn-kix_jj5w63toozfm-5 } .lst-kix_s3mi7ukxwiwf-0>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-0, decimal) ". " } ul.lst-kix_q97rvvc7c69e-4 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-3 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-6 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-6.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-6 0 } .lst-kix_s3mi7ukxwiwf-8>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-8, lower-roman) ". " } ul.lst-kix_q97rvvc7c69e-5 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-8 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-7 { list-style-type: none } .lst-kix_gfromclascha-3>li:before { content: "\0025cf " } ul.lst-kix_q97rvvc7c69e-0 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-2 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-1 { list-style-type: none } .lst-kix_yly1729bcywk-3>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-3, decimal) ". " } .lst-kix_q97rvvc7c69e-6>li:before { content: "\0025cf " } .lst-kix_6ril5iwt0fcl-1>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-6>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-7>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-7, lower-latin) ". " } ol.lst-kix_s3mi7ukxwiwf-3.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-3 0 } .lst-kix_6ril5iwt0fcl-5>li:before { content: "\0025a0 " } .lst-kix_iv2x96orjh4l-2>li:before { content: "\0025a0 " } .lst-kix_q8ok0mh9yyto-1>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-1 } .lst-kix_s3mi7ukxwiwf-4>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-4, lower-latin) ". " } .lst-kix_5anu1k9tsyak-2>li:before { content: "\0025a0 " } .lst-kix_b7256qmdgo85-0>li:before { content: "\0025cf " } ul.lst-kix_vf0l197cqv6l-1 { list-style-type: none } .lst-kix_1wulu3ra2vwv-3>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-3, lower-latin) ") " } .lst-kix_xoos54gyybzj-5>li:before { content: "\0025a0 " } ol.lst-kix_ne7nl4nhpzqr-5.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-5 0 } ol.lst-kix_vf0l197cqv6l-7.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-7 0 } .lst-kix_11a9ub9xa97v-7>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-7 } .lst-kix_1wulu3ra2vwv-7>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-7, lower-latin) ") " } .lst-kix_xoos54gyybzj-1>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-2 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-3 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-0 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-1 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-6 { list-style-type: none } .lst-kix_hchtl271h88l-8>li:before { content: "\0025a0 " } ol.lst-kix_ne7nl4nhpzqr-7 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-4 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-5 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-8 { list-style-type: none } .lst-kix_1wulu3ra2vwv-6>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-6 } .lst-kix_gfromclascha-7>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-6.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-6 0 } ul.lst-kix_pcjo479wrta-0 { list-style-type: none } .lst-kix_86hsx13ssqid-5>li:before { content: "\0025a0 " } ul.lst-kix_pcjo479wrta-2 { list-style-type: none } ul.lst-kix_pcjo479wrta-1 { list-style-type: none } ul.lst-kix_pcjo479wrta-4 { list-style-type: none } .lst-kix_hchtl271h88l-4>li:before { content: "\0025cb " } ul.lst-kix_pcjo479wrta-3 { list-style-type: none } ul.lst-kix_pcjo479wrta-6 { list-style-type: none } ul.lst-kix_pcjo479wrta-5 { list-style-type: none } ul.lst-kix_pcjo479wrta-8 { list-style-type: none } ul.lst-kix_pcjo479wrta-7 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-8.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-8 0 } .lst-kix_hchtl271h88l-0>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-1>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-5>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-0>li:before { content: "\0025cf " } .lst-kix_7tib3jrzu2u9-5>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-2>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-3>li:before { content: "\0025cf " } ul.lst-kix_ndaonzmgp8vn-4 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-3 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-6 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-5 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-0 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-2 { list-style-type: none } .lst-kix_bfzyeb917dp8-4>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-4 } ul.lst-kix_ndaonzmgp8vn-1 { list-style-type: none } .lst-kix_7tib3jrzu2u9-8>li:before { content: "\0025a0 " } ul.lst-kix_sholqrhc62dh-6 { list-style-type: none } ul.lst-kix_sholqrhc62dh-5 { list-style-type: none } ul.lst-kix_sholqrhc62dh-4 { list-style-type: none } ul.lst-kix_sholqrhc62dh-3 { list-style-type: none } ul.lst-kix_sholqrhc62dh-8 { list-style-type: none } ul.lst-kix_sholqrhc62dh-7 { list-style-type: none } ul.lst-kix_sholqrhc62dh-2 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-6.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-6 0 } ul.lst-kix_sholqrhc62dh-1 { list-style-type: none } ul.lst-kix_sholqrhc62dh-0 { list-style-type: none } .lst-kix_emhp84jkv42c-1>li { counter-increment: lst-ctn-kix_emhp84jkv42c-1 } ul.lst-kix_ndaonzmgp8vn-8 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-7 { list-style-type: none } .lst-kix_j42a5dwgnqyq-8>li:before { content: "\0025a0 " } .lst-kix_5anu1k9tsyak-6>li:before { content: "\0025cf " } ol.lst-kix_bfzyeb917dp8-1.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-1 0 } .lst-kix_j42a5dwgnqyq-7>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-7>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-8>li:before { content: "\0025a0 " } .lst-kix_5anu1k9tsyak-8>li:before { content: "\0025a0 " } ol.lst-kix_s3mi7ukxwiwf-2.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-2 0 } .lst-kix_yly1729bcywk-5>li { counter-increment: lst-ctn-kix_yly1729bcywk-5 } ul.lst-kix_686a8e4qhxwx-4 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-3 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-2 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-1 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-8 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-7 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-6 { list-style-type: none } .lst-kix_6qnkx7t1adn9-0>li:before { content: "\0025cf " } .lst-kix_qeqyxe7gm97l-0>li:before { content: "\0025cf " } ul.lst-kix_686a8e4qhxwx-5 { list-style-type: none } .lst-kix_6qnkx7t1adn9-1>li:before { content: "\0025cb " } .lst-kix_6qnkx7t1adn9-3>li:before { content: "\0025cf " } ul.lst-kix_686a8e4qhxwx-0 { list-style-type: none } .lst-kix_bfzyeb917dp8-0>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-0 } .lst-kix_qeqyxe7gm97l-5>li:before { content: "\0025a0 " } .lst-kix_j42a5dwgnqyq-0>li:before { content: "\0025cf " } .lst-kix_j42a5dwgnqyq-2>li:before { content: "\0025a0 " } .lst-kix_j42a5dwgnqyq-5>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-3.start { counter-reset: lst-ctn-kix_emhp84jkv42c-3 0 } .lst-kix_qeqyxe7gm97l-2>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-8>li { counter-increment: lst-ctn-kix_emhp84jkv42c-8 } ol.lst-kix_s3mi7ukxwiwf-0.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-0 0 } .lst-kix_86hsx13ssqid-8>li:before { content: "\0025a0 " } ol.lst-kix_vf0l197cqv6l-6 { list-style-type: none } ul.lst-kix_xoos54gyybzj-4 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-7 { list-style-type: none } ul.lst-kix_xoos54gyybzj-5 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-3.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-3 0 } ol.lst-kix_vf0l197cqv6l-4 { list-style-type: none } ul.lst-kix_xoos54gyybzj-6 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-5 { list-style-type: none } ul.lst-kix_xoos54gyybzj-7 { list-style-type: none } ul.lst-kix_xoos54gyybzj-8 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-0>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-0 } ol.lst-kix_vf0l197cqv6l-8 { list-style-type: none } .lst-kix_yly1729bcywk-2>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-2, lower-roman) ". " } .lst-kix_fd1rucpc9vz2-5>li:before { content: "\0025a0 " } .lst-kix_fd1rucpc9vz2-7>li:before { content: "\0025cb " } ol.lst-kix_vf0l197cqv6l-2 { list-style-type: none } .lst-kix_pcjo479wrta-5>li:before { content: "\0025a0 " } .lst-kix_iv2x96orjh4l-5>li:before { content: "\0025a0 " } ul.lst-kix_xoos54gyybzj-0 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-3 { list-style-type: none } ul.lst-kix_xoos54gyybzj-1 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-0 { list-style-type: none } ul.lst-kix_xoos54gyybzj-2 { list-style-type: none } .lst-kix_yly1729bcywk-0>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-0, decimal) ". " } .lst-kix_yly1729bcywk-8>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-8, lower-roman) ". " } ul.lst-kix_xoos54gyybzj-3 { list-style-type: none } .lst-kix_iv2x96orjh4l-3>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-3>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-5>li:before { content: "\0025a0 " } .lst-kix_1wulu3ra2vwv-8>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-8 } ol.lst-kix_q8ok0mh9yyto-6 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-5 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-4 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-3 { list-style-type: none } .lst-kix_9jxnjym0nges-0>li:before { content: "\0025cf " } ol.lst-kix_q8ok0mh9yyto-8 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-7 { list-style-type: none } .lst-kix_xoos54gyybzj-8>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-0.start { counter-reset: lst-ctn-kix_emhp84jkv42c-0 0 } .lst-kix_opi66v2qdsjs-8>li:before { content: "\0025a0 " } .lst-kix_ndaonzmgp8vn-4>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-2 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-1 { list-style-type: none } .lst-kix_9jxnjym0nges-2>li:before { content: "\0025a0 " } ol.lst-kix_q8ok0mh9yyto-0 { list-style-type: none } .lst-kix_xoos54gyybzj-6>li:before { content: "\0025cf " } .lst-kix_ndaonzmgp8vn-2>li:before { content: "\0025a0 " } .lst-kix_opi66v2qdsjs-2>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-0>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-0, upper-roman) ". " } ol.lst-kix_bfzyeb917dp8-4.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-4 0 } .lst-kix_q8ok0mh9yyto-3>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-3 } .lst-kix_xoos54gyybzj-0>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-8>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-8, lower-roman) ") " } .lst-kix_86hsx13ssqid-0>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-6>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-8>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-6>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-6, lower-roman) ") " } ul.lst-kix_9jxnjym0nges-2 { list-style-type: none } .lst-kix_xv318blpjdo-2>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-2, decimal) ". " } ul.lst-kix_9jxnjym0nges-1 { list-style-type: none } ul.lst-kix_9jxnjym0nges-4 { list-style-type: none } ul.lst-kix_9jxnjym0nges-3 { list-style-type: none } .lst-kix_h0kibz3smj6t-5>li:before { content: "\0025a0 " } ul.lst-kix_9jxnjym0nges-6 { list-style-type: none } ul.lst-kix_9jxnjym0nges-5 { list-style-type: none } ul.lst-kix_9jxnjym0nges-8 { list-style-type: none } ul.lst-kix_9jxnjym0nges-7 { list-style-type: none } .lst-kix_xv318blpjdo-2>li { counter-increment: lst-ctn-kix_xv318blpjdo-2 } .lst-kix_f5kb4hocu5hh-3>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-3>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-3 } .lst-kix_bfzyeb917dp8-7>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-7 } .lst-kix_f5kb4hocu5hh-8>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-1.start { counter-reset: lst-ctn-kix_emhp84jkv42c-1 0 } .lst-kix_jkgkf1u9sy0c-4>li:before { content: "\0025cb " } ol.lst-kix_jj5w63toozfm-3 { list-style-type: none } ol.lst-kix_jj5w63toozfm-4 { list-style-type: none } ol.lst-kix_jj5w63toozfm-5 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-7>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-7>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-7, lower-latin) ") " } .lst-kix_686a8e4qhxwx-5>li:before { content: "\0025a0 " } ol.lst-kix_jj5w63toozfm-6 { list-style-type: none } ol.lst-kix_jj5w63toozfm-7 { list-style-type: none } ol.lst-kix_jj5w63toozfm-8 { list-style-type: none } .lst-kix_h0kibz3smj6t-2>li:before { content: "\0025a0 " } .lst-kix_q8ok0mh9yyto-7>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-7 } ol.lst-kix_jj5w63toozfm-0 { list-style-type: none } ol.lst-kix_jj5w63toozfm-1 { list-style-type: none } .lst-kix_686a8e4qhxwx-2>li:before { content: "\0025a0 " } ol.lst-kix_jj5w63toozfm-2 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-3 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-8.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-8 0 } ol.lst-kix_11a9ub9xa97v-2 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-1 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-0 { list-style-type: none } .lst-kix_b7256qmdgo85-2>li:before { content: "\0025a0 " } ol.lst-kix_11a9ub9xa97v-8 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-7 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-6 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-5 { list-style-type: none } .lst-kix_4m04az9jmmj8-7>li:before { content: "\0025cb " } ol.lst-kix_11a9ub9xa97v-4 { list-style-type: none } .lst-kix_b7256qmdgo85-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-1>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-2>li { counter-increment: lst-ctn-kix_yly1729bcywk-2 } .lst-kix_q8ok0mh9yyto-5>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-5, lower-latin) ") " } .lst-kix_4m04az9jmmj8-4>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-3>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-3 } .lst-kix_ne7nl4nhpzqr-7>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-7, lower-latin) ". " } .lst-kix_q8ok0mh9yyto-8>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-8, lower-roman) ") " } ol.lst-kix_bfzyeb917dp8-5 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-4 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-3 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-2 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-7 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-6 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-1 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-5.start { counter-reset: lst-ctn-kix_emhp84jkv42c-5 0 } .lst-kix_q8ok0mh9yyto-0>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-0 } .lst-kix_l7z426mwssm0-3>li:before { content: "\0025cf " } .lst-kix_iv2x96orjh4l-8>li:before { content: "\0025a0 " } .lst-kix_6qnkx7t1adn9-6>li:before { content: "\0025cf " } .lst-kix_gfromclascha-5>li:before { content: "\0025a0 " } .lst-kix_pcjo479wrta-2>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-8.start { counter-reset: lst-ctn-kix_emhp84jkv42c-8 0 } .lst-kix_11a9ub9xa97v-8>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-8 } .lst-kix_x1epm4iu41dp-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-4>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-5>li { counter-increment: lst-ctn-kix_xv318blpjdo-5 } .lst-kix_1wulu3ra2vwv-5>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-5 } .lst-kix_5anu1k9tsyak-0>li:before { content: "\0025cf " } .lst-kix_fy6y7gyjejoh-4>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-7>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-0>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-5>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-5, lower-roman) ". " } .lst-kix_s3mi7ukxwiwf-2>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-2, lower-roman) ". " } .lst-kix_6ril5iwt0fcl-7>li:before { content: "\0025cb " } .lst-kix_emhp84jkv42c-4>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-4, decimal) ") " } .lst-kix_emhp84jkv42c-5>li { counter-increment: lst-ctn-kix_emhp84jkv42c-5 } .lst-kix_jj5w63toozfm-4>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-4, lower-latin) ". " } .lst-kix_1wulu3ra2vwv-5>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-5, lower-latin) ") " } ul.lst-kix_u0uqs69v9qbh-8 { list-style-type: none } .lst-kix_xoos54gyybzj-3>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-1>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-1 } ul.lst-kix_u0uqs69v9qbh-4 { list-style-type: none } .lst-kix_hchtl271h88l-6>li:before { content: "\0025cf " } ul.lst-kix_u0uqs69v9qbh-5 { list-style-type: none } .lst-kix_opi66v2qdsjs-5>li:before { content: "\0025a0 " } .lst-kix_lemcawe54w5c-5>li:before { content: "\0025a0 " } ul.lst-kix_u0uqs69v9qbh-6 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-7 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-0 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-6 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-1 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-5 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-2 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-8 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-3 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-7 { list-style-type: none } ol.lst-kix_emhp84jkv42c-7.start { counter-reset: lst-ctn-kix_emhp84jkv42c-7 0 } .lst-kix_fd1rucpc9vz2-2>li:before { content: "\0025a0 " } ul.lst-kix_jkgkf1u9sy0c-4 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-5 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-6 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-0 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-7 { list-style-type: none } .lst-kix_bfzyeb917dp8-2>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-2, decimal) ". " } .lst-kix_gyhqddkw9i05-1>li:before { content: "\0025cb " } ul.lst-kix_jkgkf1u9sy0c-8 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-2 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-1 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-4 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-3 { list-style-type: none } .lst-kix_11a9ub9xa97v-3>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-3, lower-latin) ") " } ol.lst-kix_emhp84jkv42c-6.start { counter-reset: lst-ctn-kix_emhp84jkv42c-6 0 } .lst-kix_8p26nc4xx5n8-1>li:before { content: "\0025cb " } .lst-kix_u0uqs69v9qbh-5>li:before { content: "\0025a0 " } .lst-kix_f5kb4hocu5hh-0>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-5>li:before { content: "\0025a0 " } .lst-kix_86hsx13ssqid-3>li:before { content: "\0025cf " } ul.lst-kix_jkgkf1u9sy0c-0 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-1 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-2 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-3 { list-style-type: none } .lst-kix_vf0l197cqv6l-2>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-2 } ol.lst-kix_jj5w63toozfm-5.start { counter-reset: lst-ctn-kix_jj5w63toozfm-5 0 } ul.lst-kix_bijol4nzhwf0-8 { list-style-type: none } ol.lst-kix_emhp84jkv42c-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-2 { list-style-type: none } ol.lst-kix_emhp84jkv42c-1 { list-style-type: none } ol.lst-kix_emhp84jkv42c-4 { list-style-type: none } ol.lst-kix_emhp84jkv42c-3 { list-style-type: none } ol.lst-kix_emhp84jkv42c-6 { list-style-type: none } ol.lst-kix_emhp84jkv42c-5 { list-style-type: none } ol.lst-kix_emhp84jkv42c-8 { list-style-type: none } .lst-kix_yly1729bcywk-7>li { counter-increment: lst-ctn-kix_yly1729bcywk-7 } ol.lst-kix_emhp84jkv42c-7 { list-style-type: none } .lst-kix_11a9ub9xa97v-4>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-4 } .lst-kix_1qz6dmm9b14l-4>li:before { content: "\0025cb " } .lst-kix_1qz6dmm9b14l-3>li:before { content: "\0025cf " } .lst-kix_1qz6dmm9b14l-5>li:before { content: "\0025a0 " } ul.lst-kix_j42a5dwgnqyq-0 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-1 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-2 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-3 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-4 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-5 { list-style-type: none } .lst-kix_1qz6dmm9b14l-0>li:before { content: "\0025cf " } .lst-kix_1qz6dmm9b14l-8>li:before { content: "\0025a0 " } ul.lst-kix_j42a5dwgnqyq-6 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-7 { list-style-type: none } .lst-kix_1qz6dmm9b14l-1>li:before { content: "\0025cb " } ol.lst-kix_bfzyeb917dp8-0.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-0 0 } ul.lst-kix_j42a5dwgnqyq-8 { list-style-type: none } .lst-kix_1qz6dmm9b14l-2>li:before { content: "\0025a0 " } ul.lst-kix_bijol4nzhwf0-4 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-5 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-6 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-7 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-0 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-1 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-2 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-3 { list-style-type: none } .lst-kix_jj5w63toozfm-3>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-3, decimal) ". " } .lst-kix_1wulu3ra2vwv-2>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-2 } .lst-kix_1qz6dmm9b14l-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-2>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-2, lower-roman) ". " } .lst-kix_ne7nl4nhpzqr-3>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-3 } .lst-kix_q8ok0mh9yyto-4>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-4 } .lst-kix_1qz6dmm9b14l-6>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-1>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-1, lower-latin) ". " } .lst-kix_h9mjmxara98n-7>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-0>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-0, decimal) ". " } .lst-kix_h9mjmxara98n-6>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-8>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-6>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-8>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-5>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-5>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-3>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-3>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-2>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-4>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-2>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-4>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-1.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-1 0 } ol.lst-kix_s3mi7ukxwiwf-1.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-1 0 } .lst-kix_h9mjmxara98n-0>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-0>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-1>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-1>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-8>li { counter-increment: lst-ctn-kix_jj5w63toozfm-8 } ol.lst-kix_ne7nl4nhpzqr-3.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-3 0 } ul.lst-kix_gfromclascha-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-2.start { counter-reset: lst-ctn-kix_emhp84jkv42c-2 0 } .lst-kix_l7z426mwssm0-2>li:before { content: "\0025a0 " } .lst-kix_ne7nl4nhpzqr-4>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-4, lower-latin) ". " } .lst-kix_l7z426mwssm0-0>li:before { content: "\0025cf " } .lst-kix_l7z426mwssm0-4>li:before { content: "\0025cb " } ul.lst-kix_gfromclascha-7 { list-style-type: none } ul.lst-kix_gfromclascha-8 { list-style-type: none } ul.lst-kix_gfromclascha-5 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-0>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-0, decimal) ". " } .lst-kix_ne7nl4nhpzqr-2>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-2, lower-roman) ". " } ul.lst-kix_gfromclascha-6 { list-style-type: none } .lst-kix_x1epm4iu41dp-8>li:before { content: "\0025a0 " } ul.lst-kix_gfromclascha-3 { list-style-type: none } ul.lst-kix_gfromclascha-4 { list-style-type: none } ul.lst-kix_gfromclascha-1 { list-style-type: none } .lst-kix_bfzyeb917dp8-3>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-3, lower-latin) ") " } ul.lst-kix_gfromclascha-2 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-3 { list-style-type: none } .lst-kix_x1epm4iu41dp-2>li:before { content: "\0025a0 " } ol.lst-kix_11a9ub9xa97v-1.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-1 0 } ul.lst-kix_opi66v2qdsjs-2 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-1 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-0 { list-style-type: none } .lst-kix_q8ok0mh9yyto-0>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-0, upper-roman) ". " } .lst-kix_fy6y7gyjejoh-3>li:before { content: "\0025cf " } .lst-kix_bfzyeb917dp8-5>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-5, lower-latin) ") " } .lst-kix_jj5w63toozfm-0>li { counter-increment: lst-ctn-kix_jj5w63toozfm-0 } .lst-kix_x1epm4iu41dp-6>li:before { content: "\0025cf " } ul.lst-kix_opi66v2qdsjs-8 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-7 { list-style-type: none } .lst-kix_x1epm4iu41dp-4>li:before { content: "\0025cb " } ul.lst-kix_opi66v2qdsjs-6 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-5 { list-style-type: none } .lst-kix_fy6y7gyjejoh-1>li:before { content: "\0025cb " } ul.lst-kix_opi66v2qdsjs-4 { list-style-type: none } .lst-kix_bfzyeb917dp8-7>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-7, lower-latin) ") " } .lst-kix_emhp84jkv42c-7>li { counter-increment: lst-ctn-kix_emhp84jkv42c-7 } .lst-kix_fy6y7gyjejoh-7>li:before { content: "\0025cb " } ol.lst-kix_xv318blpjdo-1.start { counter-reset: lst-ctn-kix_xv318blpjdo-1 0 } .lst-kix_x1epm4iu41dp-0>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-0.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-0 0 } .lst-kix_fy6y7gyjejoh-5>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-3>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-3, lower-latin) ") " } .lst-kix_emhp84jkv42c-5>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-5, lower-latin) ") " } .lst-kix_lemcawe54w5c-8>li:before { content: "\0025a0 " } ol.lst-kix_yly1729bcywk-4.start { counter-reset: lst-ctn-kix_yly1729bcywk-4 0 } .lst-kix_emhp84jkv42c-1>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-1, upper-latin) ". " } .lst-kix_emhp84jkv42c-7>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-7, lower-latin) ") " } .lst-kix_lemcawe54w5c-6>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-5>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-5, lower-roman) ". " } .lst-kix_bfzyeb917dp8-2>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-2 } ul.lst-kix_1qz6dmm9b14l-6 { list-style-type: none } .lst-kix_lemcawe54w5c-4>li:before { content: "\0025cb " } .lst-kix_gyhqddkw9i05-8>li:before { content: "\0025a0 " } .lst-kix_jj5w63toozfm-7>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-7, lower-latin) ". " } ul.lst-kix_1qz6dmm9b14l-5 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-8 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-7 { list-style-type: none } .lst-kix_jj5w63toozfm-1>li { counter-increment: lst-ctn-kix_jj5w63toozfm-1 } ul.lst-kix_1qz6dmm9b14l-2 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-1 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-4 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-3 { list-style-type: none } .lst-kix_u0uqs69v9qbh-0>li:before { content: "\0025cf " } .lst-kix_u0uqs69v9qbh-4>li:before { content: "\0025cb " } ul.lst-kix_1qz6dmm9b14l-0 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-6>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-6 } .lst-kix_jj5w63toozfm-7>li { counter-increment: lst-ctn-kix_jj5w63toozfm-7 } .lst-kix_lemcawe54w5c-2>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-2>li:before { content: "\0025a0 " } .lst-kix_8p26nc4xx5n8-6>li:before { content: "\0025cf " } ol.lst-kix_1wulu3ra2vwv-4.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-4 0 } .lst-kix_l7z426mwssm0-8>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-8>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-1>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-1, upper-latin) ". " } ul.lst-kix_ekmayt81kvbz-8 { list-style-type: none } .lst-kix_gyhqddkw9i05-0>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-7 { list-style-type: none } .lst-kix_gyhqddkw9i05-4>li:before { content: "\0025cb " } .lst-kix_l7z426mwssm0-6>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-2>li:before { content: "\0025a0 " } ul.lst-kix_ekmayt81kvbz-6 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-5 { list-style-type: none } .lst-kix_lemcawe54w5c-0>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-4 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-3 { list-style-type: none } .lst-kix_gyhqddkw9i05-6>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-0>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-8>li:before { content: "\0025a0 " } ul.lst-kix_ekmayt81kvbz-2 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-1 { list-style-type: none } .lst-kix_u0uqs69v9qbh-6>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-0 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-1 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-5.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-5 0 } ol.lst-kix_s3mi7ukxwiwf-2 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-0 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-1 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-5 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-2 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-6 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-3 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-0 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-4 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-5 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-6 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-3 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-7 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-4 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-8 { list-style-type: none } .lst-kix_gyhqddkw9i05-2>li:before { content: "\0025a0 " } .lst-kix_8p26nc4xx5n8-4>li:before { content: "\0025cb " } ul.lst-kix_7tib3jrzu2u9-7 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-8 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-7.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-7 0 } .lst-kix_yly1729bcywk-6>li { counter-increment: lst-ctn-kix_yly1729bcywk-6 } .lst-kix_xv318blpjdo-1>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-1, upper-latin) ". " } .lst-kix_xv318blpjdo-0>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-0, upper-roman) ". " } .lst-kix_h0kibz3smj6t-4>li:before { content: "\0025cb " } .lst-kix_ne7nl4nhpzqr-4>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-4 } .lst-kix_1wulu3ra2vwv-1>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-1 } .lst-kix_h0kibz3smj6t-7>li:before { content: "\0025cb " } .lst-kix_h0kibz3smj6t-8>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-5>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-5 } .lst-kix_opi66v2qdsjs-0>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-7>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-8>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-8, lower-roman) ") " } .lst-kix_xv318blpjdo-5>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-5, lower-latin) ") " } .lst-kix_h0kibz3smj6t-3>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-3>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-4>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-4>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-4, decimal) ") " } .lst-kix_h0kibz3smj6t-0>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-4.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-4 0 } ol.lst-kix_ne7nl4nhpzqr-2.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-2 0 } ol.lst-kix_11a9ub9xa97v-0.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-0 0 } .lst-kix_s3mi7ukxwiwf-7>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-7 } ul.lst-kix_l7z426mwssm0-1 { list-style-type: none } ul.lst-kix_l7z426mwssm0-2 { list-style-type: none } ul.lst-kix_l7z426mwssm0-0 { list-style-type: none } ol.lst-kix_yly1729bcywk-8.start { counter-reset: lst-ctn-kix_yly1729bcywk-8 0 } .lst-kix_ne7nl4nhpzqr-2>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-2 } .lst-kix_q8ok0mh9yyto-3>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-3, lower-latin) ") " } .lst-kix_pcjo479wrta-7>li:before { content: "\0025cb " } .lst-kix_686a8e4qhxwx-8>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-6>li { counter-increment: lst-ctn-kix_emhp84jkv42c-6 } ul.lst-kix_l7z426mwssm0-7 { list-style-type: none } ul.lst-kix_l7z426mwssm0-8 { list-style-type: none } .lst-kix_q8ok0mh9yyto-2>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-2, decimal) ". " } .lst-kix_pcjo479wrta-8>li:before { content: "\0025a0 " } ul.lst-kix_l7z426mwssm0-5 { list-style-type: none } ul.lst-kix_l7z426mwssm0-6 { list-style-type: none } ul.lst-kix_l7z426mwssm0-3 { list-style-type: none } ul.lst-kix_l7z426mwssm0-4 { list-style-type: none } .lst-kix_yly1729bcywk-8>li { counter-increment: lst-ctn-kix_yly1729bcywk-8 } .lst-kix_vf0l197cqv6l-3>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-3 } .lst-kix_q8ok0mh9yyto-6>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-6, lower-roman) ") " } .lst-kix_4m04az9jmmj8-2>li:before { content: "\0025a0 " } .lst-kix_4m04az9jmmj8-6>li:before { content: "\0025cf " } .lst-kix_q8ok0mh9yyto-7>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-7, lower-latin) ") " } .lst-kix_4m04az9jmmj8-1>li:before { content: "\0025cb " } .lst-kix_4m04az9jmmj8-5>li:before { content: "\0025a0 " } ol.lst-kix_vf0l197cqv6l-5.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-5 0 } .lst-kix_ne7nl4nhpzqr-8>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-8, lower-roman) ". " } .lst-kix_xv318blpjdo-4>li { counter-increment: lst-ctn-kix_xv318blpjdo-4 } .lst-kix_vf0l197cqv6l-8>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-8 } .lst-kix_ne7nl4nhpzqr-5>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-5, lower-roman) ". " } .lst-kix_l7z426mwssm0-1>li:before { content: "\0025cb " } .lst-kix_x1epm4iu41dp-7>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-1>li { counter-increment: lst-ctn-kix_yly1729bcywk-1 } .lst-kix_6qnkx7t1adn9-4>li:before { content: "\0025cb " } .lst-kix_6qnkx7t1adn9-8>li:before { content: "\0025a0 " } .lst-kix_xv318blpjdo-6>li { counter-increment: lst-ctn-kix_xv318blpjdo-6 } ol.lst-kix_jj5w63toozfm-1.start { counter-reset: lst-ctn-kix_jj5w63toozfm-1 0 } .lst-kix_ne7nl4nhpzqr-1>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-1, lower-latin) ". " } .lst-kix_pcjo479wrta-4>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-8.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-8 0 } .lst-kix_bfzyeb917dp8-4>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-4, decimal) ") " } .lst-kix_x1epm4iu41dp-3>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-8>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-8>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-8, lower-roman) ") " } .lst-kix_fy6y7gyjejoh-2>li:before { content: "\0025a0 " } .lst-kix_fy6y7gyjejoh-6>li:before { content: "\0025cf " } ol.lst-kix_1wulu3ra2vwv-8.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-8 0 } .lst-kix_pcjo479wrta-0>li:before { content: "\0025cf " } ol.lst-kix_s3mi7ukxwiwf-6.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-6 0 } ol.lst-kix_jj5w63toozfm-0.start { counter-reset: lst-ctn-kix_jj5w63toozfm-0 0 } .lst-kix_emhp84jkv42c-2>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-2, decimal) ". " } .lst-kix_emhp84jkv42c-6>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-6, lower-roman) ") " } .lst-kix_686a8e4qhxwx-0>li:before { content: "\0025cf " } .lst-kix_ndaonzmgp8vn-5>li:before { content: "\0025a0 " } .lst-kix_9jxnjym0nges-3>li:before { content: "\0025cf " } .lst-kix_opi66v2qdsjs-7>li:before { content: "\0025cb " } .lst-kix_lemcawe54w5c-7>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-1>li:before { content: "\0025cb " } .lst-kix_gyhqddkw9i05-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-6>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-6, decimal) ". " } .lst-kix_u0uqs69v9qbh-3>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-0>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-4>li:before { content: "\0025cb " } ol.lst-kix_s3mi7ukxwiwf-5.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-5 0 } .lst-kix_opi66v2qdsjs-3>li:before { content: "\0025cf " } .lst-kix_lemcawe54w5c-3>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-3>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-7>li:before { content: "\0025cb " } .lst-kix_l7z426mwssm0-5>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-7>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-0>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-0, upper-roman) ". " } .lst-kix_11a9ub9xa97v-1>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-1, upper-latin) ". " } .lst-kix_gyhqddkw9i05-3>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-7>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-5>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-5, lower-latin) ") " } ol.lst-kix_11a9ub9xa97v-2.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-2 0 } .lst-kix_s3mi7ukxwiwf-4>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-4 } .lst-kix_7tib3jrzu2u9-4>li:before { content: "\0025cb " } .lst-kix_ne7nl4nhpzqr-5>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-5 } ol.lst-kix_xv318blpjdo-4 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-7.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-7 0 } ol.lst-kix_xv318blpjdo-5 { list-style-type: none } ol.lst-kix_xv318blpjdo-6 { list-style-type: none } ol.lst-kix_xv318blpjdo-7 { list-style-type: none } ol.lst-kix_xv318blpjdo-0 { list-style-type: none } ol.lst-kix_xv318blpjdo-1 { list-style-type: none } .lst-kix_7tib3jrzu2u9-1>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-4.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-4 0 } ol.lst-kix_xv318blpjdo-2 { list-style-type: none } ol.lst-kix_xv318blpjdo-3 { list-style-type: none } .lst-kix_q8ok0mh9yyto-6>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-6 } ul.lst-kix_5anu1k9tsyak-7 { list-style-type: none } .lst-kix_jj5w63toozfm-6>li { counter-increment: lst-ctn-kix_jj5w63toozfm-6 } ul.lst-kix_5anu1k9tsyak-8 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-5.start { counter-reset: lst-ctn-kix_yly1729bcywk-5 0 } .lst-kix_11a9ub9xa97v-2>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-2 } ol.lst-kix_1wulu3ra2vwv-0 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-6 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-1 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-3 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-4 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-1 { list-style-type: none } .lst-kix_xv318blpjdo-3>li { counter-increment: lst-ctn-kix_xv318blpjdo-3 } ul.lst-kix_5anu1k9tsyak-2 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-6 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-0 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-7 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-8 { list-style-type: none } .lst-kix_7tib3jrzu2u9-6>li:before { content: "\0025cf " } ol.lst-kix_xv318blpjdo-8 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-2 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-3 { list-style-type: none } .lst-kix_7tib3jrzu2u9-7>li:before { content: "\0025cb " } ol.lst-kix_1wulu3ra2vwv-4 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-5 { list-style-type: none } .lst-kix_vf0l197cqv6l-4>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-4 } ol.lst-kix_1wulu3ra2vwv-5.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-5 0 } ol.lst-kix_11a9ub9xa97v-7.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-7 0 } ol.lst-kix_q8ok0mh9yyto-2.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-2 0 } .lst-kix_11a9ub9xa97v-6>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-6 } .lst-kix_5anu1k9tsyak-7>li:before { content: "\0025cb " } .lst-kix_j42a5dwgnqyq-6>li:before { content: "\0025cf " } ol.lst-kix_xv318blpjdo-2.start { counter-reset: lst-ctn-kix_xv318blpjdo-2 0 } .lst-kix_1wulu3ra2vwv-4>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-4 } .lst-kix_q8ok0mh9yyto-2>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-2 } ol.lst-kix_jj5w63toozfm-4.start { counter-reset: lst-ctn-kix_jj5w63toozfm-4 0 } .lst-kix_vf0l197cqv6l-0>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-0 } ol.lst-kix_yly1729bcywk-0.start { counter-reset: lst-ctn-kix_yly1729bcywk-0 0 } .lst-kix_6qnkx7t1adn9-2>li:before { content: "\0025a0 " } .lst-kix_qeqyxe7gm97l-6>li:before { content: "\0025cf " } .lst-kix_qeqyxe7gm97l-4>li:before { content: "\0025cb " } .lst-kix_j42a5dwgnqyq-1>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-1>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-3>li:before { content: "\0025cf " } .lst-kix_j42a5dwgnqyq-4>li:before { content: "\0025cb " } ol.lst-kix_1wulu3ra2vwv-0.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-0 0 } ol.lst-kix_q8ok0mh9yyto-7.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-7 0 } .lst-kix_j42a5dwgnqyq-3>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-2>li { counter-increment: lst-ctn-kix_jj5w63toozfm-2 } ol.lst-kix_1wulu3ra2vwv-3.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-3 0 } ol.lst-kix_q8ok0mh9yyto-0.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-0 0 } .lst-kix_6qnkx7t1adn9-5>li:before { content: "\0025a0 " } .lst-kix_6qnkx7t1adn9-7>li:before { content: "\0025cb " } ol.lst-kix_yly1729bcywk-3.start { counter-reset: lst-ctn-kix_yly1729bcywk-3 0 } .lst-kix_iv2x96orjh4l-7>li:before { content: "\0025cb " } .lst-kix_pcjo479wrta-3>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-6>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-6, decimal) ". " } .lst-kix_ndaonzmgp8vn-6>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-1>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-8>li:before { content: "\0025a0 " } .lst-kix_pcjo479wrta-1>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-1>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-4>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-4, lower-latin) ". " } .lst-kix_bfzyeb917dp8-8>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-8 } .lst-kix_ne7nl4nhpzqr-1>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-1 } .lst-kix_opi66v2qdsjs-4>li:before { content: "\0025cb " } .lst-kix_fd1rucpc9vz2-1>li:before { content: "\0025cb " } .lst-kix_fd1rucpc9vz2-3>li:before { content: "\0025cf " } .lst-kix_opi66v2qdsjs-6>li:before { content: "\0025cf " } ol.lst-kix_11a9ub9xa97v-4.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-4 0 } .lst-kix_xoos54gyybzj-4>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-1>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-1 } .lst-kix_ndaonzmgp8vn-0>li:before { content: "\0025cf " } ol.lst-kix_jj5w63toozfm-6.start { counter-reset: lst-ctn-kix_jj5w63toozfm-6 0 } .lst-kix_xoos54gyybzj-2>li:before { content: "\0025a0 " } ul.lst-kix_b7256qmdgo85-6 { list-style-type: none } ul.lst-kix_b7256qmdgo85-7 { list-style-type: none } .lst-kix_1wulu3ra2vwv-3>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-3 } ul.lst-kix_b7256qmdgo85-8 { list-style-type: none } ul.lst-kix_b7256qmdgo85-2 { list-style-type: none } ul.lst-kix_b7256qmdgo85-3 { list-style-type: none } .lst-kix_11a9ub9xa97v-4>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-4, decimal) ") " } ul.lst-kix_b7256qmdgo85-4 { list-style-type: none } ul.lst-kix_b7256qmdgo85-5 { list-style-type: none } .lst-kix_f5kb4hocu5hh-1>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-2>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-2, decimal) ". " } .lst-kix_9jxnjym0nges-4>li:before { content: "\0025cb " } .lst-kix_86hsx13ssqid-4>li:before { content: "\0025cb " } ul.lst-kix_b7256qmdgo85-0 { list-style-type: none } ul.lst-kix_b7256qmdgo85-1 { list-style-type: none } .lst-kix_9jxnjym0nges-6>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-2>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-5>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-5 } .lst-kix_h0kibz3smj6t-6>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-3>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-3 } ol.lst-kix_11a9ub9xa97v-5.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-5 0 } ul.lst-kix_x1epm4iu41dp-0 { list-style-type: none } .lst-kix_f5kb4hocu5hh-4>li:before { content: "\0025cb " } ol.lst-kix_xv318blpjdo-0.start { counter-reset: lst-ctn-kix_xv318blpjdo-0 0 } .lst-kix_jkgkf1u9sy0c-0>li:before { content: "\0025cf " } .lst-kix_f5kb4hocu5hh-7>li:before { content: "\0025cb " } ul.lst-kix_x1epm4iu41dp-6 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-5 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-8 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-3>li:before { content: "\0025cf " } ul.lst-kix_x1epm4iu41dp-7 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-2 { list-style-type: none } .lst-kix_xv318blpjdo-0>li { counter-increment: lst-ctn-kix_xv318blpjdo-0 } ol.lst-kix_jj5w63toozfm-8.start { counter-reset: lst-ctn-kix_jj5w63toozfm-8 0 } ul.lst-kix_x1epm4iu41dp-1 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-4 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-3 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-2.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-2 0 } .lst-kix_686a8e4qhxwx-6>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-5>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-5 } .lst-kix_h0kibz3smj6t-1>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-6>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-6, lower-roman) ") " } ul.lst-kix_86hsx13ssqid-3 { list-style-type: none } ul.lst-kix_86hsx13ssqid-2 { list-style-type: none } .lst-kix_xv318blpjdo-3>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-3, lower-latin) ") " } ul.lst-kix_86hsx13ssqid-5 { list-style-type: none } ul.lst-kix_86hsx13ssqid-4 { list-style-type: none } .lst-kix_686a8e4qhxwx-1>li:before { content: "\0025cb " } ol.lst-kix_yly1729bcywk-2.start { counter-reset: lst-ctn-kix_yly1729bcywk-2 0 } ul.lst-kix_86hsx13ssqid-1 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-8>li:before { content: "\0025a0 " } ul.lst-kix_86hsx13ssqid-0 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-0 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-1 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-2 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-3 { list-style-type: none } .lst-kix_b7256qmdgo85-1>li:before { content: "\0025cb " } ul.lst-kix_86hsx13ssqid-7 { list-style-type: none } ul.lst-kix_h9mjmxara98n-0 { list-style-type: none } ul.lst-kix_86hsx13ssqid-6 { list-style-type: none } ul.lst-kix_86hsx13ssqid-8 { list-style-type: none } ul.lst-kix_h9mjmxara98n-3 { list-style-type: none } .lst-kix_4m04az9jmmj8-8>li:before { content: "\0025a0 " } ul.lst-kix_fy6y7gyjejoh-8 { list-style-type: none } ul.lst-kix_h9mjmxara98n-4 { list-style-type: none } ul.lst-kix_h9mjmxara98n-1 { list-style-type: none } ul.lst-kix_h9mjmxara98n-2 { list-style-type: none } ul.lst-kix_h9mjmxara98n-7 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-4 { list-style-type: none } ul.lst-kix_h9mjmxara98n-8 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-5 { list-style-type: none } ul.lst-kix_h9mjmxara98n-5 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-6 { list-style-type: none } ul.lst-kix_h9mjmxara98n-6 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-7 { list-style-type: none } .lst-kix_b7256qmdgo85-6>li:before { content: "\0025cf " } ol.lst-kix_yly1729bcywk-1.start { counter-reset: lst-ctn-kix_yly1729bcywk-1 0 } ol.lst-kix_1wulu3ra2vwv-1.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-1 0 } .lst-kix_ne7nl4nhpzqr-8>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-8 } .lst-kix_q97rvvc7c69e-0>li:before { content: "\0025cf " } .lst-kix_q8ok0mh9yyto-1>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-1, upper-latin) ". " } .lst-kix_4m04az9jmmj8-0>li:before { content: "\0025cf " } ol.lst-kix_11a9ub9xa97v-6.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-6 0 } .lst-kix_q8ok0mh9yyto-4>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-4, decimal) ") " } .lst-kix_emhp84jkv42c-0>li { counter-increment: lst-ctn-kix_emhp84jkv42c-0 } .lst-kix_q8ok0mh9yyto-5>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-5 } ul.lst-kix_lemcawe54w5c-7 { list-style-type: none } ul.lst-kix_lemcawe54w5c-8 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-6>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-6, decimal) ". " } ul.lst-kix_lemcawe54w5c-5 { list-style-type: none } ul.lst-kix_lemcawe54w5c-6 { list-style-type: none } ul.lst-kix_lemcawe54w5c-3 { list-style-type: none } ul.lst-kix_lemcawe54w5c-4 { list-style-type: none } ul.lst-kix_lemcawe54w5c-1 { list-style-type: none } ul.lst-kix_lemcawe54w5c-2 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-1>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-1 } ul.lst-kix_lemcawe54w5c-0 { list-style-type: none } .lst-kix_4m04az9jmmj8-3>li:before { content: "\0025cf " } ul.lst-kix_f5kb4hocu5hh-4 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-3 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-6 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-5 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-8 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-7 { list-style-type: none } .lst-kix_xv318blpjdo-7>li { counter-increment: lst-ctn-kix_xv318blpjdo-7 } ol.lst-kix_xv318blpjdo-7.start { counter-reset: lst-ctn-kix_xv318blpjdo-7 0 } .lst-kix_gfromclascha-1>li:before { content: "\0025cb " } .lst-kix_86hsx13ssqid-7>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-0>li { counter-increment: lst-ctn-kix_yly1729bcywk-0 } .lst-kix_ne7nl4nhpzqr-3>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-3, decimal) ". " } ol.lst-kix_q8ok0mh9yyto-3.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-3 0 } .lst-kix_1wulu3ra2vwv-7>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-7 } ul.lst-kix_f5kb4hocu5hh-0 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-2 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-1 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-0 { list-style-type: none } .lst-kix_fy6y7gyjejoh-0>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-1 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-2 { list-style-type: none } .lst-kix_yly1729bcywk-1>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-1, lower-latin) ". " } ul.lst-kix_fd1rucpc9vz2-3 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-6.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-6 0 } ul.lst-kix_fd1rucpc9vz2-8 { list-style-type: none } .lst-kix_pcjo479wrta-6>li:before { content: "\0025cf " } .lst-kix_bfzyeb917dp8-6>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-6, lower-roman) ") " } .lst-kix_6ril5iwt0fcl-3>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-4 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-5 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-6 { list-style-type: none } .lst-kix_fd1rucpc9vz2-6>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-7 { list-style-type: none } .lst-kix_5anu1k9tsyak-4>li:before { content: "\0025cb " } .lst-kix_vf0l197cqv6l-7>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-7 } .lst-kix_s3mi7ukxwiwf-8>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-8 } .lst-kix_iv2x96orjh4l-4>li:before { content: "\0025cb " } .lst-kix_s3mi7ukxwiwf-6>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-6, decimal) ". " } .lst-kix_fy6y7gyjejoh-8>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-4.start { counter-reset: lst-ctn-kix_xv318blpjdo-4 0 } .lst-kix_x1epm4iu41dp-1>li:before { content: "\0025cb " } .lst-kix_q97rvvc7c69e-8>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-5.start { counter-reset: lst-ctn-kix_xv318blpjdo-5 0 } ul.lst-kix_8p26nc4xx5n8-0 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-1 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-2 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-3 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-4 { list-style-type: none } .lst-kix_emhp84jkv42c-0>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-0, upper-roman) ". " } .lst-kix_emhp84jkv42c-8>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-8, lower-roman) ") " } .lst-kix_9jxnjym0nges-1>li:before { content: "\0025cb " } .lst-kix_xoos54gyybzj-7>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-5.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-5 0 } .lst-kix_ndaonzmgp8vn-3>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-8>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-8, lower-roman) ". " } .lst-kix_u0uqs69v9qbh-1>li:before { content: "\0025cb " } .lst-kix_opi66v2qdsjs-1>li:before { content: "\0025cb " } .lst-kix_lemcawe54w5c-1>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-7>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-7, lower-latin) ") " } .lst-kix_8p26nc4xx5n8-5>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-6.start { counter-reset: lst-ctn-kix_xv318blpjdo-6 0 } .lst-kix_l7z426mwssm0-7>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-0>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-0 } .lst-kix_gyhqddkw9i05-5>li:before { content: "\0025a0 " } .lst-kix_hchtl271h88l-2>li:before { content: "\0025a0 " } ul.lst-kix_6qnkx7t1adn9-8 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-4.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-4 0 } ul.lst-kix_6qnkx7t1adn9-7 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-5 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-6 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-6 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-5 { list-style-type: none } .lst-kix_sholqrhc62dh-3>li:before { content: "\0025cf " } ul.lst-kix_8p26nc4xx5n8-7 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-4 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-8 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-3 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-2 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-1 { list-style-type: none } .lst-kix_1wulu3ra2vwv-1>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-1, upper-latin) ". " } ul.lst-kix_6qnkx7t1adn9-0 { list-style-type: none } ol { margin: 0; padding: 0 } table td, table th { padding: 0 } .c4 { color: #ff5e0e; font-weight: 700; text-decoration: none; vertical-align: baseline; font-size: 18pt; font-family: "PT Sans Narrow"; font-style: normal } .c7 { color: #38761d; font-weight: 400; text-decoration: none; vertical-align: baseline; font-size: 16pt; font-family: "PT Sans Narrow"; font-style: normal } .c14 { color: #695d46; font-weight: 700; text-decoration: none; vertical-align: baseline; font-size: 42pt; font-family: "PT Sans Narrow"; font-style: normal } .c0 { color: #695d46; font-weight: 400; text-decoration: none; vertical-align: baseline; font-size: 11pt; font-family: "Open Sans"; font-style: normal } .c1 { padding-top: 6pt; padding-bottom: 0pt; line-height: 1.2; orphans: 2; widows: 2; text-align: left } .c8 { padding-top: 18pt; padding-bottom: 6pt; line-height: 1.2; page-break-after: avoid; text-align: left } .c11 { padding-top: 24pt; padding-bottom: 0pt; line-height: 1.3; page-break-after: avoid; text-align: left } .c17 { padding-top: 6pt; padding-bottom: 0pt; line-height: 1.2; page-break-after: avoid; text-align: left } .c19 { text-decoration: none; vertical-align: baseline; font-size: 12pt; font-style: normal } .c9 { padding-top: 16pt; padding-bottom: 0pt; line-height: 1.0; text-align: left } .c18 { padding-top: 0pt; padding-bottom: 0pt; line-height: 1.2; text-align: left } .c10 { font-size: 18pt; font-family: "PT Sans Narrow"; color: #ff5e0e; font-weight: 700 } .c13 { font-family: "Open Sans"; color: #695d46; font-weight: 400 } .c12 { background-color: #ffffff; max-width: 468pt; padding: 72pt 72pt 72pt 72pt } .c5 { padding: 0; margin: 0 } .c15 { color: inherit; text-decoration: inherit } .c16 { color: #1155cc; text-decoration: underline } .c3 { padding-left: 0pt } .c6 { margin-left: 72pt } .c2 { margin-left: 36pt } .title { padding-top: 0pt; color: #695d46; font-size: 26pt; padding-bottom: 3pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } .subtitle { padding-top: 0pt; color: #666666; font-size: 15pt; padding-bottom: 16pt; font-family: "Arial"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } li { color: #695d46; font-size: 11pt; font-family: "Open Sans" } p { margin: 0; color: #695d46; font-size: 11pt; font-family: "Open Sans" } h1 { padding-top: 24pt; color: #ff5e0e; font-weight: 700; font-size: 18pt; padding-bottom: 0pt; font-family: "PT Sans Narrow"; line-height: 1.3; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h2 { padding-top: 18pt; color: #38761d; font-size: 16pt; padding-bottom: 6pt; font-family: "PT Sans Narrow"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h3 { padding-top: 16pt; color: #434343; font-size: 14pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h4 { padding-top: 14pt; color: #666666; font-size: 12pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h5 { padding-top: 12pt; color: #666666; font-size: 11pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h6 { padding-top: 12pt; color: #666666; font-size: 11pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; font-style: italic; orphans: 2; widows: 2; text-align: left }  

Oracle Fusion Middleware Deployments Using Docker Swarm Part III

Overview

This is the third in a series of blogs that describe how to build a Fusion Middleware (FMW) Cluster that runs as a number of Docker images that run in docker containers.  These containers are coordinated using Docker Swarm and can be deployed to a single host machine or multiple hosts.  This simplifies the task of building FMW clusters and also makes it easier to scale them in and out (adding or subtracting host machines) as well as up and down (using bigger or smaller host machines).  Using docker also helps us to avoid port conflicts when running multiple servers on the same physical machine.  When we use swarm we will see that we also get benefits from a built in load balancer.

This blog uses Oracle Service Bus as an FMW product but the principles are applicable to other FMW products.

In our previous blog we talked about how to build the required docker images for running FMW on Docker Swarm and created a database container.

In this entry we will explain how to create an FMW domain image and how to run that in a docker container.  The next blog will cover how to run this in Docker Swarm.

Key Steps in Creating a Service Bus Cluster

When creating a service bus cluster we need to do the following:

  1. Create the required schemas in a database.
  • Service Bus 12.1 adds a number of new features such as re-sequencing that require the use of SOA Suite schemas.  These are in addition to the database requirements for Web Services Security Manager that existed in Service Bus 11g.
  • The Repository Creation Utility is used to create the schemas in a database.
  1. Create service bus domain.
  • The service bus domain contains all the required service bus binaries and associated configuration.  Within the domain we will create a service bus cluster.
  • The domain can be created using the WebLogic scripting tool by applying the service bus domain template.
  1. Create a Service Bus cluster within the domain.
  • The service bus cluster allows us to have multiple service bus servers running the same proxy services and sharing the load.
  • The cluster can be created and servers assigned using the WebLogic scripting tool.

These steps need to be factored into the way we build our docker images and containers and ultimately into how we create Docker Swarm services.

Mapping the Service Bus Cluster onto Docker

There are a number of ways in which we could map a Service Bus cluster onto Docker.  We have chosen the following approach:

  • Create a Docker image that contains the Service Bus domain configuration.
  • This is layered on top of the OSB installation image.  This allows us to modify and rebuild the scripts without having to reinstall the FMW software.  This speeds up the development cycle of the image.  Once the scripts are working they could be placed in the FMW binary image, reducing the number of layers.
  • When creating a container from the image we run the RCU to create the schemas in the database.  We also run scripts to create the domain and add servers to the domain as needed.
  • The same Docker image is used for both Admin and Managed Servers.
  • Depending on parameters the container decides if it is an admin server or a member of a cluster.
  • All servers need access to the database.
  • All servers need access to the Admin server.
  • The admin server requires access to all servers.
Container Summary

We effectively have two images, which are both built from multiple layers as explained previously.

  1. Database image holds the binaries for database and scripts to create a database instance.
  2. Fusion Middleware image holds the FMW binaries and scripts to create a domain, or extend an existing domain.

We have a single Docker Container to run the database from the database image.

We have multiple Docker Containers, one per managed server, to run Fusion Middleware from the single domain image.

To simplify starting the containers the git project includes run scripts (run.sh for database and runNode.sh for FMW) that can be used to create containers.

Database Container

The database container runs from the database image and has the following characteristics:

  • When the container is created it creates and starts a database instance.
  • After starting the database we change the database password.
  • When the container is stopped it shuts down the database instance.
  • When the container is started it starts the database instance.
  • The database container exposes the database port (1521 in this case)
  • Only a single container runs a given database.

The database container is started using the following command:

docker run -d -it --name Oracle12cDB --hostname osbdb -p 1521:1521 -p 5500:5500 -e ORACLE_SID=ORCL -e ORACLE_PDB=OSB -v /opt/oracle/oradata/OracleDB oracle/database:12.1.0.2-ee

We expose ports 1521 (database) and 5500 (em).

Admin Server Container

The admin server container runs from the FMW domain image, or just the FMW image if the layers have been collapsed.  It has the following characteristics:

  • When the container is created it runs the RCU to configure the database.
  • When the container is created it creates an FMW domain and cluster.
  • When the container is created it starts the Admin Server.
  • When the container is stopped its stops the Admin Server.
  • When the container is started it starts the Admin Server.
  • The Admin Server exposes the admin console port (7001 in this case)
  • Only a single Admin Server container runs in a given domain.
  • The same image is used for both Admin and Managed Servers.

We start the admin server using the following command

runNode.sh admin

This translates to

docker run -d -it \

        -e "MS_NAME=AdminServer" \

        -e "MACHINE_NAME=AdminServerMachine" \

        --name wlsadmin \

        --add-host osbdb:172.17.0.2 \

        --add-host wlsadmin:172.17.0.3 \

        --add-host wls1:172.17.0.4 \

        --add-host wls2:172.17.0.5 \

        --add-host wls3:172.17.0.6 \

        --add-host wls4:172.17.0.7 \

        --hostname wlsadmin \

        -p 7001:7001 \

        oracle/osb_domain:12.2.1.2 \

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

We need to add the hostnames of the managed servers and the database to the /etc/hosts file so that the admin server can access them.  We will show how to avoid doing this in the final blog post.

Managed Server Containers

The managed server containers runs from the same FMW domain image as the Admin Server.  It has the following characteristics:

  • When the container is created it creates a new server in the domain and adds it to the FMW cluster
  • When the container is created it creates a local copy of the domain files.
  • When the container is created it starts the Managed Server.
  • When the container is stopped its stops the Managed Server.
  • When the container is started it starts the Managed Server.
  • The Managed Server exposes the admin console port (8011 in this case)
  • Multiple Managed Server containers may run in a given domain.
  • The same image is used for both Admin and Managed Servers.

We start the managed servers using the following command

runNode.sh N

Where N is the number of the managed server.

When N=2 this  translates to

docker run -d -it \

        -e "MS_NAME=osb_server2" \

        -e "MACHINE_NAME=OsbServer2Machine" \

        --name wls2 \

        --add-host osbdb:172.17.0.2 \

        --add-host wlsadmin:172.17.0.3 \

        --add-host wls1:172.17.0.4 \

        --add-host wls2:172.17.0.5 \

        --add-host wls3:172.17.0.6 \

        --add-host wls4:172.17.0.7 \

        --hostname wlsadmin \

        -p 8013:8011 \

        oracle/osb_domain:12.2.1.2 \

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

Note that all the managed servers listen on port 8011.  Because they each run in their own container their is no conflict in their port numbers but we need to map them so that they can be accessed externally without conflicts. Special Notes for Service Bus

The first managed server in a Service Bus cluster is special because it runs singleton tasks related to reporting, collecting performance information from other nodes in the cluster and aggregating it and making it available to the console.  Because of this we decided to always create a Service Bus domain with a pre-existing single Managed Server in the cluster with the correct singleton targeting.

Because this server already exists if a container detects it is supposed to run Managed Server 1 then it does not create the server or associate it with a cluster, it justs assigns it to a machine (see next section for details) and creates the local managed server domain.

Containers and FMW Mapping

Each container maps to a single WebLogic server, either Admin Server or a Managed Server in a cluster.

The Admin Server container is responsible for running the repository configuration utility, creating the domain and configuring it for that particular FMW product (in our case Service Bus).

The Managed Server containers are responsible for adding a new Managed Server to the cluster and creating a local managed server domain.

Both Admin and Managed Server containers need to figure out key facts about themselves:

  • Hostname - used to set the listen address for the server and also the address of the machine
  • Type - admin or managed server to decide what to do on creation
  • Server identifier - managed servers need to make sure they have unique server names.
  • Associated Admin Server - managed servers must contact the admin server to obtain and update domain configuration.
  • Database Server - admin servers must know about the database to be able to run the RCU and create data sources required by the FMW product.
Starting the FMW Cluster

The FMW cluster is started as follows:

  1. A database container is created/started
  2. An admin server is created/started
  3. One or more managed servers are created/started

Containers are created using the “docker run” command.  We use the “-d” flag to run them as daemon processes.  By default the CMD directive in the dockerfile is used choose the command or script to run on container startup.  We use this for the database container.  For the admin and managed containers we identify which type of container they are and pass in an appropriate script to the “docker run” command.

Containers are started using the “docker start” command and the container uses the same command or script as when it was created.  That means we must detect if this is a new container or a container being started after previously being shutdown.  With the FMW containers we do this by looking for the existence of the domain directory, if it exists we have previously been started, if not this must be our first run.

Tools such as docker compose and docker compose simplify the task of deploying our multiple container FMW cluster and we will look at these in the next blog entry.  One of the benefits we will find with swarm is that it includes a load balancer.  The current multi-container approach would require either another container to run a load balancer or an external load balancer, we will see that swarm removes this need.

Retrieving Docker Files for OSB Cluster

We are posting all the required files to go along with this blog on github.  You are welcome to fork from this and improve it.  We cloned many of these files from the official Oracle docker github.  We removed unused versions and added a simplified build.sh file to each product directory to make it easy to see how we actually built our environment.  We are still updating the files online and will shortly add details on building the swarm services.

Summary

In this entry we have explained how to create a Fusion Middleware Domain and run it on docker containers.  In our next entry we will simplify the deploymentof of our cluster by taking advatage of swarm mode by defining swarm services for the database, WebLogic Admin Server and WebLogic managed servers.

SQLcl: Make NULLs “visible”

Galo Balda's Blog - Sun, 2017-03-12 21:40

One of the nice features in SQL Developer is to be able to define a value to replace NULLs (for display purpose only) in the data grids. Jeff Smith has a blog post about it in case you are interested.

You can achieve something similar in your SQLcl session by using set null some_string.

And here is  the output from a query after setting the system variable.

 


Filed under: Oracle, SQLcl Tagged: Oracle, SQLcl
Categories: DBA Blogs

Introduction to SequoiaDB and SequoiaCM

DBMS2 - Sun, 2017-03-12 13:19

For starters, let me say:

  • SequoiaDB, the company, is my client.
  • SequoiaDB, the product, is the main product of SequoiaDB, the company.
  • SequoiaDB, the company, has another product line SequoiaCM, which subsumes SequoiaDB in content management use cases.
  • SequoiaDB, the product, is fundamentally a JSON data store. But it has a relational front end …
  • … and is usually sold for RDBMS-like use cases …
  • … except when it is sold as part of SequoiaCM, which adds in a large object/block store and a content-management-oriented library.
  • SequoiaDB’s products are open source.
  • SequoiaDB’s largest installation seems to be 2 PB across 100 nodes; that includes block storage.
  • Figures for DBMS-only database sizes aren’t as clear, but the sweet spot of the cluster-size range for such use cases seems to be 6-30 nodes.

Also:

  • SequoiaDB, the company, was founded in Toronto, by former IBM DB2 folks.
  • Even so, it’s fairly accurate to view SequoiaDB as a Chinese company. Specifically:
    • SequoiaDB’s founders were Chinese nationals.
    • Most of them went back to China.
    • Other employees to date have been entirely Chinese.
    • Sales to date have been entirely in China, but SequoiaDB has international aspirations
  • SequoiaDB has >100 employees, a large majority of which are split fairly evenly between “engineering” and “implementation and technical support”.
  • SequoiaDB’s marketing (as opposed to sales) department is astonishingly tiny.
  • SequoiaDB cites >100 subscription customers, including 10 in the global Fortune 500, a large fraction of which are in the banking sector. (Other sectors mentioned repeatedly are government and telecom.)

Unfortunately, SequoiaDB has not captured a lot of detailed information about unpaid open source production usage.

While I usually think that the advantages of open source are overstated, in SequoiaDB’s case open source will have an additional benefit when SequoiaDB does go international — it addresses any concerns somebody might have about using Chinese technology.

SequoiaDB’s technology story starts:

  • SequoiaDB is a layered DBMS.
  • It manages JSON via update-in-place. MVCC (Multi-Version Concurrency Control) is on the roadmap.
  • Indexes are B-tree.
  • Transparent sharding and elasticity happen in what by now is the industry-standard/best-practices way:
    • There are many (typically 4096) logical partitions, many of which are assigned to each physical partition.
    • If the number of physical partitions changes, logical partitions are reassigned accordingly.
  • Relational OLTP (OnLine Transaction Processing) functionality is achieved by using a kind of PostgreSQL front end.
  • Relational batch processing is done via SparkSQL.
  • There also is a block/LOB (Large OBject) storage engine meant for content management applications.
  • SequoiaCM boils down technically to:
    • SequoiaDB, which is used to store JSON metadata about the LOBs …
    • … and whose generic-DBMS coordination capabilities are also used over the block/LOB engine.
    • A Java library focused on content management.

SequoiaDB’s relationship with PostgreSQL is complicated, but as best I understand SequoiaDB’s relational operations:

  • SQL parsing, optimization, and so on rely mainly on PostgreSQL code. (Of course, there are some hacks, such as to the optimizer’s cost functions.)
  • Actual data storage is done via SequoiaDB’s JSON store, using PostgreSQL Foreign Data Wrappers. Each record goes in a separate JSON document. Locks, commits and so on — i.e. “write prevention” :) — are handled by the JSON store.
  • PostgreSQL’s own storage engine is actually part of the stack, but only to manage temp space and the like.

PostgreSQL stored procedures are already in the SequoiaDB product. Triggers and referential integrity are not. Neither, so far as I can tell, are PostgreSQL’s datatype extensibility capabilities.

I neglected to ask how much of that remains true when SparkSQL is invoked.

SequoiaDB’s use cases to date seem to fall mainly into three groups:

  • Content management via SequoiaCM.
  • “Operational data lakes”.
  • Pretty generic replacement of legacy RDBMS.

Internet back-ends, however — and this is somewhat counter-intuitive for an open-source JSON store — are rare, at least among paying subscription customers. But SequoiaDB did tell me of one classic IoT (Internet of Things) application, with lots of devices “phoning home” and the results immediately feeding a JSON-based dashboard.

To understand SequoiaDB’s “operational data lake” story, it helps to understand the typical state of data warehousing at SequoiaDB’s customers and prospects, which isn’t great:

  • 2-3 years of data, and not all the data even from that time period.
  • Only enough processing power to support structured business intelligence …
  • … and hence little opportunity for ad-hoc query.

SequoiaDB operational data lakes offer multiple improvements over that scenario:

  • They hold as much relational data as customers choose to dump there.
  • That data can be simply copied from operational stores, with no transformation.
  • Or if data arrives via JSON — from external organizations or micro-services as the case may be — the JSON can be stored unmodified as well.
  • Queries can be run straight against this data soup.
  • Of course, views can also be set up in advance to help with querying.

Views are particularly useful with what might be called slowly changing schemas. (I didn’t check whether what SequoiaDB is talking about matches precisely with the more common term “slowly changing dimensions”.) Each time the schema changes, a new table is created in SequoiaDB to receive copies of the data. If one wants to query against the parts of the database structure that didn’t change — well, a view can be establish to allow for that.

Finally, it seems that SequoiaCM uses are concentrated in what might be called “security and checking-up” areas, such:

  • Photographs as part of an authentication process.
  • Video of in-person banking transactions, both for fraud prevention and for general service quality assurance.
  • Storage of security videos (for example from automated teller machines).

SequoiaCM deals seem to be bigger than other SequoiaDB ones, surely in part because the amounts of data managed are larger.

Categories: Other

Google Cloud Platform instances and Oracle database performance

Yann Neuhaus - Sun, 2017-03-12 13:00

When it comes to choose a cloud instance to run Oracle Database, you want to be able to run your workload on the minimum CPU cores. This is why in a previous post I measured how many logical reads per seconds can be achieved with a SLOB workload, on AWS which is often the first considered, and will probably do it on Azure in the future. I did the same on the Oracle Cloud which is the only one where Oracle make it easy to run an license the Oracle Database.

CaptureGCPlogoPNGToday, I’ve seen that the Google Cloud offers a 1 year trial (1 year instead of 3 months) with 300$ free credits where you are sure that your credit card will not be debited before you accept it. Of course I wanted to play with it and tested the IaaS instance types with same method: SLOB.

Licencing No-Go

I said ‘play with it’ because you cannot consider Google Cloud as a platform for Oracle Database. Not because of the Google Cloud: it is on the top 3 cloud vendors with AWS and Azure. But just because Oracle doesn’t want to:

  • It is not an ‘authorized cloud’ where Oracle accepts the virtual cores as a metric
  • It is not running with an hypervisor where Oracle accepts the virtual cores as a metric
  • It is not the Oracle Cloud where Oracle accepts to count the virtual cores, and even apply the core factor

So, the sad truth is that if you want to run an Oracle Database on the Google Cloud, you may have to pay Oracle Licences to cover the whole physical infrastructure of Google data center… This is clearly a No-Go for processor metrics licenses. You may think about NUP+ licensing where the metric is not the processors, but the number of users. This was possible for Standard Edition for 11g (and for 12.1.0.1 but this is out of support now). But with 12.1.0.2 they changed the Standard Edition rules and, even when the metric is the number of users, you have to count the number of servers. This is again a No-Go for a public cloud environment.

So let’s play in the hope that one day the rules will change. For the moment, they think that this strategy will push the current Oracle Database users to the Oracle Cloud. They may realize one day that it increases the counterflow of users going to Open Source databases to run away from those arbitrary licensing rules.

Machine types

There are 3 types of processors available for Europe (datacenter in Brussels) Sandy Bridge, Ivy Bridge and Haswell. The regions are detailed in regions-zones documentation and there is more detail in machine_types.

Ivy Brige

Here I choose europe-west1-c and created an VM running RHEL7 on 4 vCPU Ivy Brige:

CaptureGCP00Ivy

Note that the price is the same for all kind of processors within the same region.

SLOB

Here is cached SLOB (UPDATE_PCT=0 RUN_TIME=300 SCALE=80M WORK_UNIT=64)

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 1.0 30.3 0.00 4.74
DB CPU(s): 1.0 29.4 0.00 4.59
Redo size (bytes): 14,254.9 433,831.2
Logical read (blocks): 674,052.6 20,513,983.3

This is 674 kLIOPS per vCPU.

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 2.0 25.0 0.00 7.24
DB CPU(s): 2.0 24.6 0.00 7.11
Logical read (blocks): 1,377,553.4 17,267,173.0

This is 689 kLIOPS per vCPU. We are running on two cores

Now, let’s see if those 4 VCPUs are threads or cores.

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 3.0 1.6 0.00 12.10
DB CPU(s): 2.9 1.6 0.00 11.93
Logical read (blocks): 1,493,775.4 815,084.0

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 4.0 54.6 0.00 13.80
DB CPU(s): 4.0 54.0 0.00 13.64
Logical read (blocks): 1,780,041.3 24,329,604.1

This is 498 kLIOPS per vCPU with 3 threads and 445 kLIOPS per vCPU with 4 threads. We are obviously running on 2 hyper-threaded cores, where hyper-threading here gives only 30% additional LIOPS.

When going further, the performance will decrease:

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 5.0 48.5 0.00 15.81
DB CPU(s): 3.0 29.0 0.00 9.46
Logical read (blocks): 1,460,029.2 14,233,024.3

It is interesting to see that when running 5 sessions on 4 vCPU then actually 3 threads only are used on average.

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 6.0 72.1 0.00 16.24
DB CPU(s): 3.0 36.5 0.00 8.22
Logical read (blocks): 1,458,749.6 17,651,628.4

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 7.0 72.5 0.00 20.42
DB CPU(s): 3.0 31.5 0.00 8.86
Logical read (blocks): 1,445,423.3 15,073,622.1

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 8.0 82.9 0.00 18.93
DB CPU(s): 3.0 31.4 0.00 7.17
Logical read (blocks): 1,436,355.2 14,986,038.9

Those 8 runs are visible on the CPU usage graph from the VM dashboard where maximum CPU usage is when running 4 sessions on those 4 threads.

CaptureGCP00Ivy001

Here is the CPU description that we can see from lscpu and /proc/cpuinfo where we can see that we are virtualized with KVM:

InkedCaptureGCP00Ivy002_LI

For tty output I usually prefer to paste the text rather than a screenshot, but I wanted to show the ssh screen that you get on your browser with a simple click. This is very convenient. We are really in easy and fast provisioning here.

Haswell

Just to compare, here is the same running on the Haswell machine type.

CaptureGCP00Haswel

Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 1.0 25.4 0.00 5.53
DB CPU(s): 1.0 24.4 0.00 5.32
Logical read (blocks): 598,274.2 15,275,586.5
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 2.0 27.3 0.00 8.46
DB CPU(s): 2.0 26.8 0.00 8.29
Logical read (blocks): 1,155,681.9 15,814,666.6
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 3.0 34.7 0.00 12.34
DB CPU(s): 3.0 34.2 0.00 12.18
Logical read (blocks): 1,300,659.1 15,052,978.1
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 4.0 54.6 0.00 13.80
DB CPU(s): 3.9 53.8 0.00 13.61
Logical read (blocks): 1,541,843.0 21,098,158.6

Sandy Brige

here is the same running on the Sandy Brige machine type.

CaptureGCP00Sandy


Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 1.0 25.2 0.00 2.16
DB CPU(s): 1.0 25.0 0.00 2.14
Logical read (blocks): 668,393.8 16,935,651.8
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 2.0 23.1 0.00 11.13
DB CPU(s): 2.0 22.6 0.00 10.86
Logical read (blocks): 1,204,487.9 13,938,751.4
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 3.0 37.5 0.00 13.65
DB CPU(s): 3.0 36.9 0.00 13.43
Logical read (blocks): 1,383,602.0 17,334,975.8
 
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~~~~ --------------- --------------- --------- ---------
DB Time(s): 4.0 50.0 0.00 16.23
DB CPU(s): 3.9 49.3 0.00 15.98
Logical read (blocks): 1,656,216.2 20,782,477.0

So what?

Whether you like it or not, you cannot run Oracle Database on the Google Cloud because Oracle licensing rules are set to make life difficult for running Oracle Database outside of the Oracle Cloud. For performance, it is still the Oracle IaaS that shows the best performance for this test. But of course, there are lot of other points to consider. You don’t run only the database, but application should be located in the same data center.

The Google Cloud Platform looks good and I’ll probably use my Google Cloud trial to test Spanner, and maybe the new PostgreSQL service. I love Oracle Database technology. But the customers going to a public cloud will tend migrate to database systems which can run on any virtualized environments without certification, support and licensing risks.

 

Cet article Google Cloud Platform instances and Oracle database performance est apparu en premier sur Blog dbi services.

12cR1 RAC Posts -- 8b : DUPLICATE DATABASE FOR STANDBY

Hemant K Chitale - Sun, 2017-03-12 10:27
Continuing the previous post, where I have done the pre-setup...
(A reminder : This is a SingleInstance Standby on FileSystem for a RAC Database with a PDB on ASM)


On the SingleInstance Node (for the Standby database)

Precreate the required folders for the database (and redo and control) files (I later realised that the "onlinelog" folders for the SEED and PDB are not required)

[oracle@oem132 ~]$ cd /u01/app/oracle/oradata
[oracle@oem132 oradata]$ mkdir STBY
[oracle@oem132 oradata]$ cd STBY
[oracle@oem132 STBY]$ mkdir datafile
[oracle@oem132 STBY]$ mkdir onlinelog
[oracle@oem132 STBY]$ mkdir 44bbc69ce8f552aee053334ea8c07365
[oracle@oem132 STBY]$ mkdir fd9ac20f64d244d7e043b6a9e80a2f2f
[oracle@oem132 STBY]$ cd 44*
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ mkdir datafile tempfile
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ cd ../fd*
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$ mkdir datafile tempfile
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$
[oracle@oem132 STBY]$
[oracle@oem132 STBY]$ cd /u01/app/oracle/fast_recovery_area
[oracle@oem132 fast_recovery_area]$ mkdir STBY
[oracle@oem132 fast_recovery_area]$ cd STBY
[oracle@oem132 STBY]$ mkdir onlinelog
[oracle@oem132 STBY]$ mkdir 44bbc69ce8f552aee053334ea8c07365
[oracle@oem132 STBY]$ mkdir fd9ac20f64d244d7e043b6a9e80a2f2f
[oracle@oem132 STBY]$ cd 44*
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ mkdir onlinelog
[oracle@oem132 44bbc69ce8f552aee053334ea8c07365]$ cd ../fd*
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$ mkdir onlinelog
[oracle@oem132 fd9ac20f64d244d7e043b6a9e80a2f2f]$
[oracle@oem132 STBY]$

Note that the names of the two folders for the SEED and the PDB are in *lower case*.

Next start the listener for STBY.

[oracle@oem132 STBY]$ cd
[oracle@oem132 ~]$ tail -1 /etc/oratab
STBY:/u01/app/oracle/product/12.1.0/dbhome_1:N
[oracle@oem132 ~]$ . oraenv
ORACLE_SID = [oracle] ? STBY
The Oracle base has been set to /u01/app/oracle
[oracle@oem132 ~]$ ls -l $ORACLE_HOME/dbs/*STBY*
-rw-r--r-- 1 oracle oinstall 508 Mar 6 22:11 /u01/app/oracle/product/12.1.0/dbhome_1/dbs/initSTBY.ora
-rw-r----- 1 oracle oinstall 7680 Mar 6 22:13 /u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwSTBY
[oracle@oem132 ~]$ sqlplus '/ as sysdba'

SQL*Plus: Release 12.1.0.2.0 Production on Sun Mar 12 23:03:43 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.

Total System Global Area 838860800 bytes
Fixed Size 2929936 bytes
Variable Size 230689520 bytes
Database Buffers 599785472 bytes
Redo Buffers 5455872 bytes
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
[oracle@oem132 ~]$ lsnrctl start

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 12-MAR-2017 23:04:28

Copyright (c) 1991, 2014, Oracle. All rights reserved.

Starting /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.1.0.2.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oem132/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oem132.racattack)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oem132.racattack)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 12-MAR-2017 23:04:28
Uptime 0 days 0 hr. 0 min. 12 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oem132/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oem132.racattack)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "STBY" has 1 instance(s).
Instance "STBY", status UNKNOWN, has 2 handler(s) for this service...
The command completed successfully
[oracle@oem132 ~]$

I am now ready to issue the DUPLICATE DATABASE command from the RAC Primary.

[oracle@collabn1 ~]$ . oraenv
ORACLE_SID = [RAC1] ? RAC1
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@collabn1 ~]$ rman

Recovery Manager: Release 12.1.0.2.0 - Production on Sun Mar 12 23:17:27 2017

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.

RMAN> connect target sys/racattack

connected to target database: RAC (DBID=2519807290)

RMAN> connect auxiliary sys/racattack@STBY

connected to auxiliary database: RAC (not mounted)

RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE ;

Starting Duplicate Db at 12-MAR-17
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=12 device type=DISK

contents of Memory Script:
{
backup as copy reuse
targetfile '+DATA/RAC/PASSWORD/pwdrac.277.931824933' auxiliary format
'/u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwSTBY' ;
}
executing Memory Script

Starting backup at 12-MAR-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=273 instance=RAC1 device type=DISK
Finished backup at 12-MAR-17

contents of Memory Script:
{
sql clone "alter system set control_files =
''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment=
''Set by RMAN'' scope=spfile";
backup as copy current controlfile for standby auxiliary format '/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl';
restore clone primary controlfile to '/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl' from
'/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl';
sql clone "alter system set control_files =
''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment=
''Set by RMAN'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script

sql statement: alter system set control_files = ''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment= ''Set by RMAN'' scope=spfile

Starting backup at 12-MAR-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl tag=TAG20170312T231755
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 12-MAR-17

Starting restore at 12-MAR-17
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 12-MAR-17

sql statement: alter system set control_files = ''/u01/app/oracle/oradata/STBY/controlfile/o1_mf_ddbs0p3w_.ctl'', ''/u01/app/oracle/fast_recovery_area/STBY/controlfile/o1_mf_ddbs0p40_.ctl'' comment= ''Set by RMAN'' scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area 838860800 bytes

Fixed Size 2929936 bytes
Variable Size 230689520 bytes
Database Buffers 599785472 bytes
Redo Buffers 5455872 bytes

contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script

sql statement: alter database mount standby database

contents of Memory Script:
{
set newname for tempfile 1 to
"/u01/app/oracle/oradata/STBY/tempfile/temp.285.931825311";
set newname for tempfile 2 to
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/pdbseed_temp012016-12-29_12-23-03-am.dbf";
set newname for tempfile 3 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/tempfile/temp.295.931827153";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/app/oracle/oradata/STBY/datafile/system.279.931825083";
set newname for datafile 3 to
"/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019";
set newname for datafile 4 to
"/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149";
set newname for datafile 5 to
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323";
set newname for datafile 6 to
"/u01/app/oracle/oradata/STBY/datafile/users.280.931825149";
set newname for datafile 7 to
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323";
set newname for datafile 8 to
"/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143";
set newname for datafile 9 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089";
set newname for datafile 10 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089";
set newname for datafile 11 to
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189";
backup as copy reuse
datafile 1 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/system.279.931825083" datafile
3 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019" datafile
4 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149" datafile
5 auxiliary format
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323" datafile
6 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/users.280.931825149" datafile
7 auxiliary format
"/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323" datafile
8 auxiliary format
"/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143" datafile
9 auxiliary format
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089" datafile
10 auxiliary format
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089" datafile
11 auxiliary format
"/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189" ;
sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

renamed tempfile 1 to /u01/app/oracle/oradata/STBY/tempfile/temp.285.931825311 in control file
renamed tempfile 2 to /u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/pdbseed_temp012016-12-29_12-23-03-am.dbf in control file
renamed tempfile 3 to /u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/tempfile/temp.295.931827153 in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting backup at 12-MAR-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DATA/RAC/DATAFILE/system.279.931825083
output file name=/u01/app/oracle/oradata/STBY/datafile/system.279.931825083 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DATA/RAC/DATAFILE/sysaux.278.931825019
output file name=/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00007 name=+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.286.931825323
output file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00010 name=+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/sysaux.294.931827089
output file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile file number=00009 name=+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/system.293.931827089
output file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.287.931825323
output file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA/RAC/DATAFILE/undotbs1.281.931825149
output file name=/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00008 name=+DATA/RAC/DATAFILE/undotbs2.289.931826143
output file name=/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=+DATA/RAC/DATAFILE/users.280.931825149
output file name=/u01/app/oracle/oradata/STBY/datafile/users.280.931825149 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00011 name=+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/users.296.931827189
output file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189 tag=TAG20170312T231824
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 12-MAR-17

sql statement: alter system archive log current

contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=3 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/system.279.931825083
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149
datafile 5 switched to datafile copy
input datafile copy RECID=6 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.287.931825323
datafile 6 switched to datafile copy
input datafile copy RECID=7 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/users.280.931825149
datafile 7 switched to datafile copy
input datafile copy RECID=8 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.286.931825323
datafile 8 switched to datafile copy
input datafile copy RECID=9 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143
datafile 9 switched to datafile copy
input datafile copy RECID=10 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.293.931827089
datafile 10 switched to datafile copy
input datafile copy RECID=11 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.294.931827089
datafile 11 switched to datafile copy
input datafile copy RECID=12 STAMP=938474501 file name=/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296.931827189
Finished Duplicate Db at 12-MAR-17

RMAN>

The DUPLICATE ... FOR STANDBY has completed.  Let me just run two verification checks.

On the Standby :

[oracle@oem132 ~]$ sqlplus '/ as sysdba'

SQL*Plus: Release 12.1.0.2.0 Production on Sun Mar 12 23:24:05 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

SQL>
SQL> select file#, name from v$datafile order by 1;

FILE#
----------
NAME
--------------------------------------------------------------------------------
1
/u01/app/oracle/oradata/STBY/datafile/system.279.931825083

3
/u01/app/oracle/oradata/STBY/datafile/sysaux.278.931825019

4
/u01/app/oracle/oradata/STBY/datafile/undotbs1.281.931825149

5
/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/system.28
7.931825323

6
/u01/app/oracle/oradata/STBY/datafile/users.280.931825149

7
/u01/app/oracle/oradata/STBY/fd9ac20f64d244d7e043b6a9e80a2f2f/datafile/sysaux.28
6.931825323

8
/u01/app/oracle/oradata/STBY/datafile/undotbs2.289.931826143

9
/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/system.29
3.931827089

10
/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/sysaux.29
4.931827089

11
/u01/app/oracle/oradata/STBY/44bbc69ce8f552aee053334ea8c07365/datafile/users.296
.931827189


10 rows selected.

SQL>
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
[oracle@oem132 ~]$ cd $ORACLE_HOME/dbs
[oracle@oem132 dbs]$ ls -ltr *STBY*
-rw-r--r-- 1 oracle oinstall 508 Mar 6 22:11 initSTBY.ora
-rw-r----- 1 oracle oinstall 24 Mar 12 23:07 lkSTBY
-rw-r----- 1 oracle oinstall 7680 Mar 12 23:17 orapwSTBY
-rw-rw---- 1 oracle oinstall 1544 Mar 12 23:18 hc_STBY.dat
-rw-r----- 1 oracle oinstall 17920 Mar 12 23:18 spfileSTBY.ora
[oracle@oem132 dbs]$

On the Primary :

RMAN> exit


Recovery Manager complete.
[oracle@collabn1 ~]$ sqlplus '/ as sysdba'

SQL*Plus: Release 12.1.0.2.0 Production on Sun Mar 12 23:26:17 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PRIMARY

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

SQL> set pages600
SQL> select file#, name from v$datafile order by 1;

FILE#
----------
NAME
--------------------------------------------------------------------------------
1
+DATA/RAC/DATAFILE/system.279.931825083

3
+DATA/RAC/DATAFILE/sysaux.278.931825019

4
+DATA/RAC/DATAFILE/undotbs1.281.931825149

5
+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.287.931825323

6
+DATA/RAC/DATAFILE/users.280.931825149

7
+DATA/RAC/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.286.931825323

8
+DATA/RAC/DATAFILE/undotbs2.289.931826143

9
+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/system.293.931827089

10
+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/sysaux.294.931827089

11
+DATA/RAC/44BBC69CE8F552AEE053334EA8C07365/DATAFILE/users.296.931827189


10 rows selected.

SQL>

All datafiles (CDB, SEED and 1 PDB) are replicated.  Note how the folder names for the SEED and PDB are in lower-case on the Standby.  Since the source database is RAC, it has two Undo Tablespaces.  (This is 12.1 so I do not have the 12.2 feature of Local Undo in PDBs)

The next few posts will be on the DataGuard Broker and Redo Shipping and Applly.
(Should I also do a SWITCHOVER ?)
.
.
.


Categories: DBA Blogs

login issue using net service

Tom Kyte - Sun, 2017-03-12 10:26
when I used to login my account using net service name then ora-12514 error occurs and when i try to without net service name then i login successfully so what's a problem? c:\>sqlplus sys@mycon as sysdba SQL*Plus: Release 11.2.0.1.0 Production...
Categories: DBA Blogs

Pages

Subscribe to Oracle FAQ aggregator