From 7cae7b9d6582d6a482dbbebe99d439b7dbdc5d90 Mon Sep 17 00:00:00 2001 From: Karl-Hermann Wieners <karl-hermann.wieners@mpimet.mpg.de> Date: Thu, 25 Jul 2024 14:49:03 +0200 Subject: [PATCH] Global: move mkexp/*.* to mkexp/defaults/ --- CHANGES.rst | 2 +- doc/mkexp.fodt | 2079 +++++++++-------- doc/mkexp.pdf | Bin 210970 -> 210966 bytes expconfig.py | 3 +- mkexp | 4 +- .../standard_experiments/DEFAULT.config | 2 +- .../legacy/standard_experiments/namelist.tmpl | 2 +- test/mkexp/{ => defaults}/DEFAULT.config | 0 test/mkexp/{ => defaults}/namelist.tmpl | 0 9 files changed, 1050 insertions(+), 1042 deletions(-) rename test/mkexp/{ => defaults}/DEFAULT.config (100%) rename test/mkexp/{ => defaults}/namelist.tmpl (100%) diff --git a/CHANGES.rst b/CHANGES.rst index da6156e..e8e58ad 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -13,7 +13,7 @@ Global --------- * Move ``standard_*`` directories to ``mkexp/*``, - rename ``experiments`` to ``types``, move defaults to ``mkexp/``. + rename ``experiments`` to ``types``, move defaults to ``mkexp/defaults``. ``standard_*`` is still supported Templates diff --git a/doc/mkexp.fodt b/doc/mkexp.fodt index 45f3690..aabea8b 100644 --- a/doc/mkexp.fodt +++ b/doc/mkexp.fodt @@ -1,28 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <office:document xmlns:officeooo="http://openoffice.org/2009/office" xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rpt="http://openoffice.org/2005/report" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:xforms="http://www.w3.org/2002/xforms" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text"> - <office:meta><meta:creation-date>2015-01-05T17:44:27.618344249</meta:creation-date><dc:title>Make Experiments!</dc:title><meta:editing-duration>P12DT8H1M15S</meta:editing-duration><meta:editing-cycles>212</meta:editing-cycles><meta:generator>LibreOffice/7.3.7.2$Linux_X86_64 LibreOffice_project/30$Build-2</meta:generator><meta:initial-creator>Karl-Hermann Wieners</meta:initial-creator><dc:date>2024-07-24T11:54:20.940967988</dc:date><dc:creator>Karl-Hermann Wieners</dc:creator><meta:printed-by>Karl-Hermann Wieners</meta:printed-by><meta:print-date>2015-01-20T10:55:48.576690105</meta:print-date><dc:subject>Run-script generation for earth system models</dc:subject><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="34" meta:paragraph-count="757" meta:word-count="9941" meta:character-count="63359" meta:non-whitespace-character-count="53569"/><meta:template xlink:type="simple" xlink:actuate="onRequest" xlink:title="A4" xlink:href="../../../run/user/1001/gvfs/sftp:host=levante.dkrz.de/home/m221078/.config/libreoffice/4/user/template/A4.ott" meta:date="2015-01-05T17:44:27.463210655"/></office:meta> + <office:meta><meta:creation-date>2015-01-05T17:44:27.618344249</meta:creation-date><dc:title>Make Experiments!</dc:title><meta:editing-duration>P12DT8H4M2S</meta:editing-duration><meta:editing-cycles>214</meta:editing-cycles><meta:generator>LibreOffice/7.3.7.2$Linux_X86_64 LibreOffice_project/30$Build-2</meta:generator><meta:initial-creator>Karl-Hermann Wieners</meta:initial-creator><dc:date>2024-07-25T14:47:37.084780179</dc:date><dc:creator>Karl-Hermann Wieners</dc:creator><meta:printed-by>Karl-Hermann Wieners</meta:printed-by><meta:print-date>2015-01-20T10:55:48.576690105</meta:print-date><dc:subject>Run-script generation for earth system models</dc:subject><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="34" meta:paragraph-count="758" meta:word-count="9949" meta:character-count="63423" meta:non-whitespace-character-count="53626"/><meta:template xlink:type="simple" xlink:actuate="onRequest" xlink:title="A4" xlink:href="../../../run/user/1001/gvfs/sftp:host=levante.dkrz.de/home/m221078/.config/libreoffice/4/user/template/A4.ott" meta:date="2015-01-05T17:44:27.463210655"/></office:meta> <office:settings> <config:config-item-set config:name="ooo:view-settings"> - <config:config-item config:name="ViewAreaTop" config:type="long">10550</config:config-item> + <config:config-item config:name="ViewAreaTop" config:type="long">55575</config:config-item> <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item> - <config:config-item config:name="ViewAreaWidth" config:type="long">22038</config:config-item> - <config:config-item config:name="ViewAreaHeight" config:type="long">10585</config:config-item> + <config:config-item config:name="ViewAreaWidth" config:type="long">22087</config:config-item> + <config:config-item config:name="ViewAreaHeight" config:type="long">9793</config:config-item> <config:config-item config:name="ShowRedlineChanges" config:type="boolean">false</config:config-item> <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item> <config:config-item-map-indexed config:name="Views"> <config:config-item-map-entry> <config:config-item config:name="ViewId" config:type="string">view2</config:config-item> - <config:config-item config:name="ViewLeft" config:type="long">2519</config:config-item> - <config:config-item config:name="ViewTop" config:type="long">33126</config:config-item> + <config:config-item config:name="ViewLeft" config:type="long">19523</config:config-item> + <config:config-item config:name="ViewTop" config:type="long">57894</config:config-item> <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item> - <config:config-item config:name="VisibleTop" config:type="long">10550</config:config-item> - <config:config-item config:name="VisibleRight" config:type="long">22036</config:config-item> - <config:config-item config:name="VisibleBottom" config:type="long">21133</config:config-item> + <config:config-item config:name="VisibleTop" config:type="long">55575</config:config-item> + <config:config-item config:name="VisibleRight" config:type="long">22086</config:config-item> + <config:config-item config:name="VisibleBottom" config:type="long">65366</config:config-item> <config:config-item config:name="ZoomType" config:type="short">3</config:config-item> <config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item> <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item> - <config:config-item config:name="ZoomFactor" config:type="short">225</config:config-item> + <config:config-item config:name="ZoomFactor" config:type="short">167</config:config-item> <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item> <config:config-item config:name="KeepRatio" config:type="boolean">false</config:config-item> <config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item> @@ -86,9 +86,9 @@ <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item> <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item> <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrinterSetup" config:type="base64Binary">sAH+/0hQLU9mZmljZWpldC00NjIwLXNlcmllcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ1VQUzpIUC1PZmZpY2VqZXQtNDYyMC1zZXJpZXMAAAAWAAMAzQAAAAAAAAAEAAhSAAAEdAAASm9iRGF0YSAxCnByaW50ZXI9SFAtT2ZmaWNlamV0LTQ2MjAtc2VyaWVzCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luYWRqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4dERhdGEKSW5wdXRTbG90OkF1dG8AUGFnZVNpemU6QTQAABIAQ09NUEFUX0RVUExFWF9NT0RFEwBEdXBsZXhNb2RlOjpVbmtub3du</config:config-item> + <config:config-item config:name="PrinterSetup" config:type="base64Binary">sAH+/0hQLU9mZmljZWpldC00NjIwLXNlcmllcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ1VQUzpIUC1PZmZpY2VqZXQtNDYyMC1zZXJpZXMAAAAWAAMAzQAAAAAAAAAEAAhSAAAEdAAASm9iRGF0YSAxCnByaW50ZXI9SFAtT2ZmaWNlamV0LTQ2MjAtc2VyaWVzCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luYWRqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4dERhdGEKUGFnZVNpemU6QTQASW5wdXRTbG90OkF1dG8AABIAQ09NUEFUX0RVUExFWF9NT0RFEwBEdXBsZXhNb2RlOjpVbmtub3du</config:config-item> <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item> - <config:config-item config:name="Rsid" config:type="int">22958180</config:config-item> + <config:config-item config:name="Rsid" config:type="int">23076726</config:config-item> <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/> <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item> <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item> @@ -155,7 +155,7 @@ <office:styles> <style:default-style style:family="graphic"> <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/> - <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> + <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:font-independent-line-spacing="false"> <style:tab-stops/> </style:paragraph-properties> <style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="en" fo:country="US" style:letter-kerning="true" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="FreeSans1" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/> @@ -515,1309 +515,1312 @@ <style:text-properties officeooo:rsid="00264cfc" officeooo:paragraph-rsid="00264cfc"/> </style:style> <style:style style:name="P27" style:family="paragraph" style:parent-style-name="Text_20_body"> - <style:text-properties officeooo:rsid="00275051" officeooo:paragraph-rsid="00275051"/> + <style:text-properties officeooo:rsid="00264cfc" officeooo:paragraph-rsid="015e5064"/> </style:style> <style:style style:name="P28" style:family="paragraph" style:parent-style-name="Text_20_body"> - <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="00288fc1"/> + <style:text-properties officeooo:rsid="00275051" officeooo:paragraph-rsid="00275051"/> </style:style> <style:style style:name="P29" style:family="paragraph" style:parent-style-name="Text_20_body"> - <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="001888a2"/> + <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="00288fc1"/> </style:style> <style:style style:name="P30" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="001888a2"/> + </style:style> + <style:style style:name="P31" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="00423119"/> </style:style> - <style:style style:name="P31" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P32" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="00423119"/> </style:style> - <style:style style:name="P32" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P33" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00292fe5" officeooo:paragraph-rsid="00292fe5"/> </style:style> - <style:style style:name="P33" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P34" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="002a37cf" officeooo:paragraph-rsid="002a37cf"/> </style:style> - <style:style style:name="P34" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P35" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="002c80eb" officeooo:paragraph-rsid="002c80eb"/> </style:style> - <style:style style:name="P35" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P36" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="002c80eb" officeooo:paragraph-rsid="002d3283"/> </style:style> - <style:style style:name="P36" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P37" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="002d3283" officeooo:paragraph-rsid="002d3283"/> </style:style> - <style:style style:name="P37" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P38" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="002df45a" officeooo:paragraph-rsid="002df45a"/> </style:style> - <style:style style:name="P38" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P39" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="002df45a" officeooo:paragraph-rsid="002df45a"/> </style:style> - <style:style style:name="P39" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P40" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0031081b" officeooo:paragraph-rsid="0031081b"/> </style:style> - <style:style style:name="P40" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P41" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0031081b" officeooo:paragraph-rsid="003212b8"/> </style:style> - <style:style style:name="P41" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P42" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0031081b" officeooo:paragraph-rsid="003212b8"/> </style:style> - <style:style style:name="P42" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P43" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="003317d4" officeooo:paragraph-rsid="003317d4"/> </style:style> - <style:style style:name="P43" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P44" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0034e855" officeooo:paragraph-rsid="0034e855"/> </style:style> - <style:style style:name="P44" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P45" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="003775b5" officeooo:paragraph-rsid="003775b5"/> </style:style> - <style:style style:name="P45" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P46" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0038d36e" officeooo:paragraph-rsid="003d6783"/> </style:style> - <style:style style:name="P46" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P47" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0038d36e" officeooo:paragraph-rsid="004133c6"/> </style:style> - <style:style style:name="P47" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P48" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="003a5594" officeooo:paragraph-rsid="003a5594"/> </style:style> - <style:style style:name="P48" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P49" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="001a0ed6" officeooo:paragraph-rsid="001a0ed6"/> </style:style> - <style:style style:name="P49" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P50" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="003212b8" officeooo:paragraph-rsid="003317d4"/> </style:style> - <style:style style:name="P50" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P51" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00493380" officeooo:paragraph-rsid="004a6d15"/> </style:style> - <style:style style:name="P51" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P52" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties officeooo:rsid="00493380" officeooo:paragraph-rsid="004e33b4"/> </style:style> - <style:style style:name="P52" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P53" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00493380" officeooo:paragraph-rsid="00493380"/> </style:style> - <style:style style:name="P53" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P54" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="004a6d15" officeooo:paragraph-rsid="004a6d15"/> </style:style> - <style:style style:name="P54" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P55" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="004ba389" officeooo:paragraph-rsid="004ba389"/> </style:style> - <style:style style:name="P55" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P56" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="004133c6" officeooo:paragraph-rsid="004133c6"/> </style:style> - <style:style style:name="P56" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P57" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00469c32" officeooo:paragraph-rsid="004e33b4"/> </style:style> - <style:style style:name="P57" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P58" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties officeooo:rsid="00469c32" officeooo:paragraph-rsid="004e33b4"/> </style:style> - <style:style style:name="P58" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P59" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties officeooo:rsid="00469c32" officeooo:paragraph-rsid="00469c32"/> </style:style> - <style:style style:name="P59" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P60" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00469c32" officeooo:paragraph-rsid="00469c32"/> </style:style> - <style:style style:name="P60" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P61" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="italic" officeooo:rsid="004584b6" officeooo:paragraph-rsid="004584b6" style:font-style-asian="italic" style:font-style-complex="italic"/> </style:style> - <style:style style:name="P61" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P62" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="italic" officeooo:rsid="004e33b4" officeooo:paragraph-rsid="004e33b4" style:font-style-asian="italic" style:font-style-complex="italic"/> </style:style> - <style:style style:name="P62" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P63" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="italic" officeooo:rsid="007ab691" officeooo:paragraph-rsid="007ab691" style:font-style-asian="italic" style:font-style-complex="italic"/> </style:style> - <style:style style:name="P63" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P64" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="italic" officeooo:rsid="00925c69" officeooo:paragraph-rsid="00925c69" style:font-style-asian="italic" style:font-style-complex="italic"/> </style:style> - <style:style style:name="P64" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P65" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties fo:font-style="italic" officeooo:rsid="00925c69" officeooo:paragraph-rsid="00925c69" style:font-style-asian="italic" style:font-style-complex="italic"/> </style:style> - <style:style style:name="P65" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P66" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="italic" officeooo:rsid="00779a5b" officeooo:paragraph-rsid="00a52bc9" style:font-style-asian="italic" style:font-style-complex="italic"/> </style:style> - <style:style style:name="P66" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P67" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="004e33b4" officeooo:paragraph-rsid="004e33b4"/> </style:style> - <style:style style:name="P67" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P68" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="004584b6" officeooo:paragraph-rsid="004584b6"/> </style:style> - <style:style style:name="P68" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P69" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="004584b6" officeooo:paragraph-rsid="004584b6"/> </style:style> - <style:style style:name="P69" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P70" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="004584b6" officeooo:paragraph-rsid="00615b4d"/> </style:style> - <style:style style:name="P70" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P71" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="004584b6" officeooo:paragraph-rsid="015b1008"/> </style:style> - <style:style style:name="P71" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P72" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0051a8b5" officeooo:paragraph-rsid="0051a8b5"/> </style:style> - <style:style style:name="P72" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P73" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0051a8b5" officeooo:paragraph-rsid="0051a8b5"/> </style:style> - <style:style style:name="P73" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P74" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00551136" officeooo:paragraph-rsid="00551136"/> </style:style> - <style:style style:name="P74" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P75" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0056317a" officeooo:paragraph-rsid="0056317a"/> </style:style> - <style:style style:name="P75" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P76" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0056317a" officeooo:paragraph-rsid="0056317a"/> </style:style> - <style:style style:name="P76" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P77" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0056317a" officeooo:paragraph-rsid="00c2926f"/> </style:style> - <style:style style:name="P77" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P78" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0056317a" officeooo:paragraph-rsid="00c2926f"/> </style:style> - <style:style style:name="P78" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P79" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0056fcb8" officeooo:paragraph-rsid="0056fcb8"/> </style:style> - <style:style style:name="P79" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P80" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="0053695f" officeooo:paragraph-rsid="0053695f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P80" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P81" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="0056317a" officeooo:paragraph-rsid="0056317a" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P81" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P82" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="0056317a" officeooo:paragraph-rsid="00c2926f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P82" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P83" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="0056317a" officeooo:paragraph-rsid="00551136" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P83" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P84" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00584c1a" officeooo:paragraph-rsid="00584c1a" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P84" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P85" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00584c1a" officeooo:paragraph-rsid="005fe3dc" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P85" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P86" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00584c1a" officeooo:paragraph-rsid="005a5c62" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P86" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P87" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00657146" officeooo:paragraph-rsid="00657146" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P87" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P88" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00657146" officeooo:paragraph-rsid="00657146" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P88" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P89" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="009beecc" officeooo:paragraph-rsid="009beecc" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P89" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P90" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="009beecc" officeooo:paragraph-rsid="009beecc" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P90" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P91" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="009beecc" officeooo:paragraph-rsid="009beecc" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P91" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P92" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="009beecc" officeooo:paragraph-rsid="009beecc" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P92" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P93" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P93" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P94" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:paragraph-rsid="005a5c62" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P94" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P95" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="005ac4c7" officeooo:paragraph-rsid="005ac4c7" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P95" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P96" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:paragraph-rsid="005ac4c7" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P96" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P97" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="005b6c85" officeooo:paragraph-rsid="005b6c85" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P97" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P98" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:paragraph-rsid="00657146" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P98" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P99" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P99" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P100" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P100" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P101" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:paragraph-rsid="00c2926f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P101" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P102" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00551136" officeooo:paragraph-rsid="015b1008" style:font-style-asian="normal" style:font-style-complex="normal"/> + </style:style> + <style:style style:name="P103" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal" officeooo:rsid="00e1d614" officeooo:paragraph-rsid="00e1d614" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P102" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P104" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" officeooo:rsid="00931d47" officeooo:paragraph-rsid="00931d47" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P103" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P105" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" officeooo:rsid="00c85300" officeooo:paragraph-rsid="00c85300" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P104" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P106" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" officeooo:rsid="010d55f9" officeooo:paragraph-rsid="010d55f9" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P105" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P107" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" officeooo:rsid="01114cfa" officeooo:paragraph-rsid="01114cfa" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P106" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P108" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties fo:font-style="normal" officeooo:rsid="0112f1e6" officeooo:paragraph-rsid="01114cfa" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P107" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P109" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P108" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P110" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" officeooo:rsid="00c4ca99" officeooo:paragraph-rsid="00c4ca99" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P109" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P111" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" officeooo:rsid="00136724" officeooo:paragraph-rsid="010b31a7" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P110" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P112" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" officeooo:rsid="00136724" officeooo:paragraph-rsid="010c8232" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P111" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P113" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P112" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P114" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:rsid="004584b6" officeooo:paragraph-rsid="004584b6" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P113" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P115" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:rsid="0045d600" officeooo:paragraph-rsid="0045d600" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P114" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P116" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="0045d600" officeooo:paragraph-rsid="0045d600" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P115" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P117" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:rsid="00469c32" officeooo:paragraph-rsid="00469c32" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P116" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P118" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00469c32" officeooo:paragraph-rsid="00469c32" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P117" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P119" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:rsid="00493380" officeooo:paragraph-rsid="00493380" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P118" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P120" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00493380" officeooo:paragraph-rsid="00493380" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P119" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P121" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00493380" officeooo:paragraph-rsid="004e33b4" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P120" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P122" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00493380" officeooo:paragraph-rsid="00d7adce" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P121" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P123" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="00493380" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P122" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P124" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:rsid="009d837c" officeooo:paragraph-rsid="009d837c" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P123" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P125" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="009d837c" officeooo:paragraph-rsid="009d837c" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P124" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P126" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:rsid="00d7adce" officeooo:paragraph-rsid="00d7adce" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P125" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P127" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00484f3f" officeooo:paragraph-rsid="004e33b4" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P126" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P128" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="007ab691" officeooo:paragraph-rsid="007ab691" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P127" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P129" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00719334" officeooo:paragraph-rsid="00719334" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P128" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P130" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00dbc83d" officeooo:paragraph-rsid="00dbc83d" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P129" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P131" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="00e102d3" officeooo:paragraph-rsid="00e102d3" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P130" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P132" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="01037e2c" officeooo:paragraph-rsid="01037e2c" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P131" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P133" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties fo:font-style="normal" officeooo:rsid="008f3b90" officeooo:paragraph-rsid="008f3b90" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P132" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P134" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P133" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P135" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="00931d47" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P134" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P136" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="009715be" officeooo:paragraph-rsid="009acc7d" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P135" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P137" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="009715be" officeooo:paragraph-rsid="00c6886f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P136" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P138" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="01416e92" officeooo:paragraph-rsid="01461d35" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P137" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P139" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="01418b91" officeooo:paragraph-rsid="01418b91" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P138" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P140" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="01461d35" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P139" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P141" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="0086f697" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P140" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P142" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" officeooo:rsid="014a269c" officeooo:paragraph-rsid="014a269c" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P141" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P143" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" officeooo:rsid="014f8ff6" officeooo:paragraph-rsid="014f8ff6" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P142" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P144" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" officeooo:rsid="01597a60" officeooo:paragraph-rsid="01597a60" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P143" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P145" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties fo:font-style="normal" officeooo:rsid="01597a60" officeooo:paragraph-rsid="01597a60" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P144" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P146" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" fo:font-weight="bold" officeooo:rsid="00881a06" officeooo:paragraph-rsid="00881a06" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P145" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P147" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00c6886f" officeooo:paragraph-rsid="00c6886f" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P146" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P148" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00136724" officeooo:paragraph-rsid="00c6886f" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P147" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P149" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="011f7d97" officeooo:paragraph-rsid="01434378" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P148" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P150" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00925c69" officeooo:paragraph-rsid="00925c69" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P149" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P151" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00cef9a3" officeooo:paragraph-rsid="00d08d3b" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P150" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P152" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00cba5e3" officeooo:paragraph-rsid="00d15d24" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P151" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P153" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00d15d24" officeooo:paragraph-rsid="00d15d24" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P152" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P154" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="005a5c62" officeooo:paragraph-rsid="005a5c62"/> </style:style> - <style:style style:name="P153" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P155" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="005b6c85" officeooo:paragraph-rsid="005b6c85"/> </style:style> - <style:style style:name="P154" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P156" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="005b6c85" officeooo:paragraph-rsid="005b6c85"/> </style:style> - <style:style style:name="P155" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P157" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00617108" officeooo:paragraph-rsid="00617108"/> </style:style> - <style:style style:name="P156" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P158" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0063d022" officeooo:paragraph-rsid="006727cc"/> </style:style> - <style:style style:name="P157" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P159" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="0063d022" officeooo:paragraph-rsid="0063d022"/> </style:style> - <style:style style:name="P158" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P160" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00657146" officeooo:paragraph-rsid="00657146"/> </style:style> - <style:style style:name="P159" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P161" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00657146" officeooo:paragraph-rsid="00e1d614"/> </style:style> - <style:style style:name="P160" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P162" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="006727cc" officeooo:paragraph-rsid="006727cc"/> </style:style> - <style:style style:name="P161" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P163" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="006e58f1" officeooo:paragraph-rsid="006e58f1"/> </style:style> - <style:style style:name="P162" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P164" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="006e58f1" officeooo:paragraph-rsid="0086f697"/> </style:style> - <style:style style:name="P163" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P165" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="006e58f1" officeooo:paragraph-rsid="00881a06"/> </style:style> - <style:style style:name="P164" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P166" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00823929" officeooo:paragraph-rsid="00823929"/> </style:style> - <style:style style:name="P165" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P167" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00823929" officeooo:paragraph-rsid="00823929"/> </style:style> - <style:style style:name="P166" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P168" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00823929" officeooo:paragraph-rsid="010b31a7"/> </style:style> - <style:style style:name="P167" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P169" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00823929" officeooo:paragraph-rsid="010c8232"/> </style:style> - <style:style style:name="P168" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P170" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="0086f697"/> </style:style> - <style:style style:name="P169" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P171" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0081efeb" officeooo:paragraph-rsid="00881a06"/> </style:style> - <style:style style:name="P170" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P172" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0081efeb" officeooo:paragraph-rsid="010c8232"/> </style:style> - <style:style style:name="P171" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P173" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="00881a06"/> </style:style> - <style:style style:name="P172" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P174" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="00881a06"/> </style:style> - <style:style style:name="P173" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P175" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00895410" officeooo:paragraph-rsid="0089d9b6"/> </style:style> - <style:style style:name="P174" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P176" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0089d9b6" officeooo:paragraph-rsid="0089d9b6"/> </style:style> - <style:style style:name="P175" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P177" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0089d9b6" officeooo:paragraph-rsid="008a0101"/> </style:style> - <style:style style:name="P176" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P178" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0089d9b6"/> </style:style> - <style:style style:name="P177" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P179" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="008a0101" officeooo:paragraph-rsid="008a0101"/> </style:style> - <style:style style:name="P178" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P180" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="008a0101" officeooo:paragraph-rsid="008a0101"/> </style:style> - <style:style style:name="P179" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P181" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="008b134d" officeooo:paragraph-rsid="008b134d"/> </style:style> - <style:style style:name="P180" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P182" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="008b134d" officeooo:paragraph-rsid="008b134d"/> </style:style> - <style:style style:name="P181" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P183" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="008b134d" officeooo:paragraph-rsid="014e14fb"/> </style:style> - <style:style style:name="P182" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P184" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="008c2cba" officeooo:paragraph-rsid="008c2cba"/> </style:style> - <style:style style:name="P183" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P185" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="008c2cba" officeooo:paragraph-rsid="008c2cba"/> </style:style> - <style:style style:name="P184" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P186" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="008c2cba" officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P185" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P187" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="008e158e" officeooo:paragraph-rsid="008e158e"/> </style:style> - <style:style style:name="P186" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P188" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="008e53fe" officeooo:paragraph-rsid="008e53fe"/> </style:style> - <style:style style:name="P187" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P189" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="008e53fe" officeooo:paragraph-rsid="008e53fe"/> </style:style> - <style:style style:name="P188" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P190" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="008e53fe" officeooo:paragraph-rsid="008f3b90"/> </style:style> - <style:style style:name="P189" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P191" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="008e53fe" officeooo:paragraph-rsid="00fa446c"/> </style:style> - <style:style style:name="P190" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P192" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00931d47" officeooo:paragraph-rsid="009475bb"/> </style:style> - <style:style style:name="P191" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P193" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00931d47" officeooo:paragraph-rsid="00931d47"/> </style:style> - <style:style style:name="P192" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P194" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> <style:text-properties officeooo:rsid="00973c25" officeooo:paragraph-rsid="009acc7d"/> </style:style> - <style:style style:name="P193" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P195" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="000a3505"/> </style:style> - <style:style style:name="P194" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P196" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="00423119"/> </style:style> - <style:style style:name="P195" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P197" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00423119"/> </style:style> - <style:style style:name="P196" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P198" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00c20e43" officeooo:paragraph-rsid="00c20e43"/> </style:style> - <style:style style:name="P197" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P199" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties officeooo:rsid="00c20e43" officeooo:paragraph-rsid="00c20e43"/> </style:style> - <style:style style:name="P198" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P200" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00c20e43" officeooo:paragraph-rsid="00c20e43"/> </style:style> - <style:style style:name="P199" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P201" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00c20e43" officeooo:paragraph-rsid="00e102d3"/> </style:style> - <style:style style:name="P200" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P202" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00c2926f" officeooo:paragraph-rsid="00c2926f"/> </style:style> - <style:style style:name="P201" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P203" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00c4ca99" officeooo:paragraph-rsid="00c4ca99"/> </style:style> - <style:style style:name="P202" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P204" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00c4ca99" officeooo:paragraph-rsid="00c4ca99"/> </style:style> - <style:style style:name="P203" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P205" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00c6886f" officeooo:paragraph-rsid="00c6886f"/> </style:style> - <style:style style:name="P204" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P206" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00c6886f" officeooo:paragraph-rsid="00c6886f"/> </style:style> - <style:style style:name="P205" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P207" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00c85300" officeooo:paragraph-rsid="00c85300"/> </style:style> - <style:style style:name="P206" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P208" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00cba5e3" officeooo:paragraph-rsid="00cba5e3"/> </style:style> - <style:style style:name="P207" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P209" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00cba5e3" officeooo:paragraph-rsid="00cba5e3"/> </style:style> - <style:style style:name="P208" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P210" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00cba5e3" officeooo:paragraph-rsid="00ccb67c"/> </style:style> - <style:style style:name="P209" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P211" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00cba5e3" officeooo:paragraph-rsid="00ccb67c"/> </style:style> - <style:style style:name="P210" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P212" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="00d15d24"/> </style:style> - <style:style style:name="P211" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P213" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00d7adce" officeooo:paragraph-rsid="00d97987"/> </style:style> - <style:style style:name="P212" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P214" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00d7bd9c" officeooo:paragraph-rsid="00d97987"/> </style:style> - <style:style style:name="P213" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P215" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00d7bd9c" officeooo:paragraph-rsid="00d7bd9c"/> </style:style> - <style:style style:name="P214" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P216" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00e102d3" officeooo:paragraph-rsid="00e102d3"/> </style:style> - <style:style style:name="P215" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P217" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00e102d3" officeooo:paragraph-rsid="00e102d3"/> </style:style> - <style:style style:name="P216" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P218" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00f3a79a" officeooo:paragraph-rsid="00f46829"/> </style:style> - <style:style style:name="P217" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P219" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00f3a79a" officeooo:paragraph-rsid="00f3a79a"/> </style:style> - <style:style style:name="P218" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P220" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="00fb6b92"/> </style:style> - <style:style style:name="P219" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P221" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="00fb6b92"/> </style:style> - <style:style style:name="P220" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P222" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="00840f80" officeooo:paragraph-rsid="00fb6b92"/> </style:style> - <style:style style:name="P221" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P223" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00840f80" officeooo:paragraph-rsid="00840f80"/> </style:style> - <style:style style:name="P222" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P224" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00840f80" officeooo:paragraph-rsid="00881a06"/> </style:style> - <style:style style:name="P223" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P225" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="010b31a7" officeooo:paragraph-rsid="010b31a7"/> </style:style> - <style:style style:name="P224" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P226" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="010b31a7" officeooo:paragraph-rsid="010d55f9"/> </style:style> - <style:style style:name="P225" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P227" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="010d55f9" officeooo:paragraph-rsid="010d55f9"/> </style:style> - <style:style style:name="P226" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P228" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="01114cfa" officeooo:paragraph-rsid="01114cfa"/> </style:style> - <style:style style:name="P227" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P229" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="011bfd3c" officeooo:paragraph-rsid="011bfd3c"/> </style:style> - <style:style style:name="P228" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P230" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="011bfd3c" officeooo:paragraph-rsid="011bfd3c"/> </style:style> - <style:style style:name="P229" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P231" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="011bfd3c" officeooo:paragraph-rsid="011cd839"/> </style:style> - <style:style style:name="P230" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P232" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="011d9d28" officeooo:paragraph-rsid="011d9d28"/> </style:style> - <style:style style:name="P231" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P233" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="012b9712"/> </style:style> - <style:style style:name="P232" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P234" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0112f1e6" officeooo:paragraph-rsid="01114cfa"/> </style:style> - <style:style style:name="P233" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P235" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="012bb748"/> </style:style> - <style:style style:name="P234" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P236" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="01311b9e"/> </style:style> - <style:style style:name="P235" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P237" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="01311b9e"/> </style:style> - <style:style style:name="P236" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P238" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="01311b9e"/> </style:style> - <style:style style:name="P237" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P239" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties officeooo:paragraph-rsid="01311b9e"/> </style:style> - <style:style style:name="P238" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P240" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="01418b91"/> </style:style> - <style:style style:name="P239" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P241" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="0145e267"/> </style:style> - <style:style style:name="P240" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P242" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="0145e267"/> </style:style> - <style:style style:name="P241" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P243" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="01461d35"/> </style:style> - <style:style style:name="P242" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P244" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="01461d35"/> </style:style> - <style:style style:name="P243" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> + <style:style style:name="P245" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> <style:text-properties officeooo:paragraph-rsid="01461d35"/> </style:style> - <style:style style:name="P244" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P246" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0146ffdf" officeooo:paragraph-rsid="0146ffdf"/> </style:style> - <style:style style:name="P245" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P247" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0146ffdf" officeooo:paragraph-rsid="0146ffdf"/> </style:style> - <style:style style:name="P246" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> + <style:style style:name="P248" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> <style:text-properties officeooo:rsid="0146ffdf" officeooo:paragraph-rsid="0146ffdf"/> </style:style> - <style:style style:name="P247" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P249" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0146ffdf" officeooo:paragraph-rsid="0158f5ac"/> </style:style> - <style:style style:name="P248" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P250" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="0146ffdf"/> </style:style> - <style:style style:name="P249" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P251" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="0146ffdf"/> </style:style> - <style:style style:name="P250" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> + <style:style style:name="P252" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> <style:text-properties officeooo:paragraph-rsid="0146ffdf"/> </style:style> - <style:style style:name="P251" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P253" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="000ef722"/> </style:style> - <style:style style:name="P252" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P254" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0010c1fe" officeooo:paragraph-rsid="0010c1fe"/> </style:style> - <style:style style:name="P253" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P255" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00120dec" officeooo:paragraph-rsid="00120dec"/> </style:style> - <style:style style:name="P254" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P256" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00120dec" officeooo:paragraph-rsid="0056317a"/> </style:style> - <style:style style:name="P255" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P257" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00120dec" officeooo:paragraph-rsid="00c2926f"/> </style:style> - <style:style style:name="P256" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P258" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00120dec" officeooo:paragraph-rsid="00c2ee8b"/> </style:style> - <style:style style:name="P257" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P259" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P258" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P260" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:paragraph-rsid="00145993" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P259" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P261" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00120dec" officeooo:paragraph-rsid="00145993" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P260" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P262" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:paragraph-rsid="0040993d" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P261" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P263" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00136724" officeooo:paragraph-rsid="00823929" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P262" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P264" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00136724" officeooo:paragraph-rsid="00c6886f" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P263" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P265" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00136724" officeooo:paragraph-rsid="010b31a7" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P264" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P266" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00136724" officeooo:paragraph-rsid="010c8232" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P265" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P267" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00823929" officeooo:paragraph-rsid="00823929" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P266" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P268" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:paragraph-rsid="00881a06" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P267" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P269" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00cfb468" officeooo:paragraph-rsid="00cfb468" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P268" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P270" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00cfb468" officeooo:paragraph-rsid="00cfb468" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P269" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P271" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="011cd839" officeooo:paragraph-rsid="011cd839" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P270" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P272" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="bold" officeooo:paragraph-rsid="0145e267" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P271" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P273" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00d08d3b" officeooo:paragraph-rsid="00d08d3b" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P272" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P274" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00d08d3b" officeooo:paragraph-rsid="00d08d3b" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P273" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P275" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00e1d614" officeooo:paragraph-rsid="00e1d614" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P274" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P276" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00e1d614" officeooo:paragraph-rsid="00e1d614" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="P275" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P277" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="002df45a"/> </style:style> - <style:style style:name="P276" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P278" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="003212b8"/> </style:style> - <style:style style:name="P277" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P279" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="003b8120"/> </style:style> - <style:style style:name="P278" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P280" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="0040993d" officeooo:paragraph-rsid="0040993d"/> </style:style> - <style:style style:name="P279" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P281" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00405b5f"/> </style:style> - <style:style style:name="P280" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P282" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="00551136"/> </style:style> - <style:style style:name="P281" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P283" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="005ac4c7"/> </style:style> - <style:style style:name="P282" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P284" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="005b6c85"/> </style:style> - <style:style style:name="P283" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P285" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="00657146"/> </style:style> - <style:style style:name="P284" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P286" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="006e58f1"/> </style:style> - <style:style style:name="P285" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P287" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="008a0101"/> </style:style> - <style:style style:name="P286" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P288" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="008ba54a" officeooo:paragraph-rsid="008c2cba"/> </style:style> - <style:style style:name="P287" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P289" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="008ba54a" officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P288" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P290" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="00c6886f"/> </style:style> - <style:style style:name="P289" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P291" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="00c85300"/> </style:style> - <style:style style:name="P290" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P292" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="00ccb67c" officeooo:paragraph-rsid="00ccb67c"/> </style:style> - <style:style style:name="P291" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P293" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="010b31a7"/> </style:style> - <style:style style:name="P292" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P294" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="010c8232"/> </style:style> - <style:style style:name="P293" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P295" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="011cd839"/> </style:style> - <style:style style:name="P294" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P296" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:paragraph-rsid="011cd839" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P295" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P297" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:paragraph-rsid="011e9cc8" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P296" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P298" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011f7d97" officeooo:paragraph-rsid="011f7d97" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P297" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P299" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011f7d97" officeooo:paragraph-rsid="011e9cc8" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P298" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P300" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011f7d97" officeooo:paragraph-rsid="01434378" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P299" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P301" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011f7d97" officeooo:paragraph-rsid="01461d35" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P300" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P302" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011f7d97" officeooo:paragraph-rsid="0146ffdf" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P301" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P303" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011f7d97" officeooo:paragraph-rsid="0158f5ac" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P302" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P304" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:paragraph-rsid="011f7d97" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P303" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P305" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:paragraph-rsid="0146ffdf" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P304" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P306" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="01461d35" officeooo:paragraph-rsid="01461d35" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P305" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P307" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:paragraph-rsid="0158f5ac" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P306" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P308" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="01418b91" officeooo:paragraph-rsid="0158f5ac" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P307" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P309" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="011e9cc8"/> </style:style> - <style:style style:name="P308" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P310" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="011f7d97" officeooo:paragraph-rsid="011f7d97"/> </style:style> - <style:style style:name="P309" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P311" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="013547d3"/> </style:style> - <style:style style:name="P310" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P312" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="01434378"/> </style:style> - <style:style style:name="P311" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> + <style:style style:name="P313" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> <style:text-properties officeooo:paragraph-rsid="01434378"/> </style:style> - <style:style style:name="P312" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P314" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="normal" officeooo:rsid="01461d35" officeooo:paragraph-rsid="01461d35" style:font-name-asian="Droid Sans Fallback" style:font-size-asian="10pt" style:font-weight-asian="normal" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="P313" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P315" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties officeooo:rsid="00484f3f" officeooo:paragraph-rsid="004e33b4"/> </style:style> - <style:style style:name="P314" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P316" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00484f3f" officeooo:paragraph-rsid="004e33b4"/> </style:style> - <style:style style:name="P315" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P317" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties officeooo:rsid="00719334" officeooo:paragraph-rsid="00719334"/> </style:style> - <style:style style:name="P316" style:family="paragraph" style:parent-style-name="List_20_Heading"> + <style:style style:name="P318" style:family="paragraph" style:parent-style-name="List_20_Heading"> <style:text-properties officeooo:rsid="01268a0d" officeooo:paragraph-rsid="0139830f"/> </style:style> - <style:style style:name="P317" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P319" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="01268a0d" officeooo:paragraph-rsid="0139830f"/> </style:style> - <style:style style:name="P318" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P320" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="01268a0d" officeooo:paragraph-rsid="01268a0d"/> </style:style> - <style:style style:name="P319" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P321" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="01268a0d" officeooo:paragraph-rsid="012dcfed"/> </style:style> - <style:style style:name="P320" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P322" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="006c5326" officeooo:paragraph-rsid="006c5326"/> </style:style> - <style:style style:name="P321" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P323" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="00779a5b"/> </style:style> - <style:style style:name="P322" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P324" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="007a1e4b" officeooo:paragraph-rsid="007a1e4b"/> </style:style> - <style:style style:name="P323" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P325" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="007ab691" officeooo:paragraph-rsid="007ab691"/> </style:style> - <style:style style:name="P324" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P326" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="007ab691" officeooo:paragraph-rsid="007ab691"/> </style:style> - <style:style style:name="P325" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P327" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="007bf983" officeooo:paragraph-rsid="007bf983"/> </style:style> - <style:style style:name="P326" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P328" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="007bf983" officeooo:paragraph-rsid="00dd5dd8"/> </style:style> - <style:style style:name="P327" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P329" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="0090e55e" officeooo:paragraph-rsid="00913e1d"/> </style:style> - <style:style style:name="P328" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P330" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00beeeb9" officeooo:paragraph-rsid="00beeeb9"/> </style:style> - <style:style style:name="P329" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P331" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="00beeeb9" officeooo:paragraph-rsid="00beeeb9"/> </style:style> - <style:style style:name="P330" style:family="paragraph" style:parent-style-name="Subtitle"> + <style:style style:name="P332" style:family="paragraph" style:parent-style-name="Subtitle"> <style:text-properties officeooo:rsid="00beeeb9" officeooo:paragraph-rsid="00beeeb9"/> </style:style> - <style:style style:name="P331" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P333" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00beeeb9" officeooo:paragraph-rsid="00c0dbdb"/> </style:style> - <style:style style:name="P332" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P334" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="00beeeb9" officeooo:paragraph-rsid="00c0dbdb"/> </style:style> - <style:style style:name="P333" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P335" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00cef9a3" officeooo:paragraph-rsid="00cef9a3"/> </style:style> - <style:style style:name="P334" style:family="paragraph" style:parent-style-name="Title" style:master-page-name=""> + <style:style style:name="P336" style:family="paragraph" style:parent-style-name="Title" style:master-page-name=""> <style:paragraph-properties style:page-number="auto"/> <style:text-properties officeooo:rsid="00cef9a3" officeooo:paragraph-rsid="00cef9a3"/> </style:style> - <style:style style:name="P335" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P337" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00cef9a3" officeooo:paragraph-rsid="01311b9e"/> </style:style> - <style:style style:name="P336" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P338" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00cfb468" officeooo:paragraph-rsid="00cfb468"/> </style:style> - <style:style style:name="P337" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P339" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00d15d24" officeooo:paragraph-rsid="00d15d24"/> </style:style> - <style:style style:name="P338" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P340" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties officeooo:rsid="00d15d24" officeooo:paragraph-rsid="00d15d24"/> </style:style> - <style:style style:name="P339" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P341" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00dbc83d" officeooo:paragraph-rsid="00dbc83d"/> </style:style> - <style:style style:name="P340" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P342" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00e4d644" officeooo:paragraph-rsid="00e4d644"/> </style:style> - <style:style style:name="P341" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P343" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="00f02006"/> </style:style> - <style:style style:name="P342" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P344" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="00f02006"/> </style:style> - <style:style style:name="P343" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P345" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00f02006"/> </style:style> - <style:style style:name="P344" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P346" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00f0bb68" officeooo:paragraph-rsid="00f0bb68"/> </style:style> - <style:style style:name="P345" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P347" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00f0bb68" officeooo:paragraph-rsid="00f87427"/> </style:style> - <style:style style:name="P346" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P348" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="00fa446c"/> </style:style> - <style:style style:name="P347" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P349" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="00fe6ad2"/> </style:style> - <style:style style:name="P348" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P350" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="00fe6ad2"/> </style:style> - <style:style style:name="P349" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P351" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="00fe6ad2" officeooo:paragraph-rsid="00fe6ad2"/> </style:style> - <style:style style:name="P350" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P352" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:rsid="01037e2c" officeooo:paragraph-rsid="01037e2c"/> </style:style> - <style:style style:name="P351" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P353" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="0118a9d0"/> </style:style> - <style:style style:name="P352" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P354" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="012d37cc"/> </style:style> - <style:style style:name="P353" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P355" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="012d37cc"/> </style:style> - <style:style style:name="P354" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P356" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="012dcfed"/> </style:style> - <style:style style:name="P355" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P357" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="012dcfed"/> </style:style> - <style:style style:name="P356" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P358" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="012dcfed"/> </style:style> - <style:style style:name="P357" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P359" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="01329ffa"/> </style:style> - <style:style style:name="P358" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P360" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="0133eb9d"/> </style:style> - <style:style style:name="P359" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P361" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="013b96cc"/> </style:style> - <style:style style:name="P360" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P362" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="013c4814"/> </style:style> - <style:style style:name="P361" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P363" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="013c4814"/> </style:style> - <style:style style:name="P362" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P364" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="013de464"/> </style:style> - <style:style style:name="P363" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P365" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="013de464"/> </style:style> - <style:style style:name="P364" style:family="paragraph" style:parent-style-name="List_20_Contents"> + <style:style style:name="P366" style:family="paragraph" style:parent-style-name="List_20_Contents"> <style:text-properties officeooo:paragraph-rsid="0140b1a7"/> </style:style> - <style:style style:name="P365" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P367" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="0140b1a7"/> </style:style> - <style:style style:name="P366" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P368" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="007a1e4b"/> </style:style> - <style:style style:name="P367" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P369" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="007bf983"/> </style:style> - <style:style style:name="P368" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P370" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="0090e55e"/> </style:style> - <style:style style:name="P369" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P371" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="00925c69" officeooo:paragraph-rsid="00925c69"/> </style:style> - <style:style style:name="P370" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P372" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="00d08d3b" officeooo:paragraph-rsid="00d08d3b"/> </style:style> - <style:style style:name="P371" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P373" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties officeooo:rsid="00d08d3b" officeooo:paragraph-rsid="00d08d3b"/> </style:style> - <style:style style:name="P372" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P374" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="00dbc83d"/> </style:style> - <style:style style:name="P373" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P375" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="00dd5dd8"/> </style:style> - <style:style style:name="P374" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P376" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="00fff904" officeooo:paragraph-rsid="00fff904"/> </style:style> - <style:style style:name="P375" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P377" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="01037e2c"/> </style:style> - <style:style style:name="P376" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P378" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="010837cd" officeooo:paragraph-rsid="010837cd"/> </style:style> - <style:style style:name="P377" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P379" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="01161488"/> </style:style> - <style:style style:name="P378" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P380" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="01230203" officeooo:paragraph-rsid="01230203"/> </style:style> - <style:style style:name="P379" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P381" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:rsid="01230203" officeooo:paragraph-rsid="012dcfed"/> </style:style> - <style:style style:name="P380" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> + <style:style style:name="P382" style:family="paragraph" style:parent-style-name="Preformatted_20_List_20_Heading"> <style:text-properties officeooo:paragraph-rsid="0139830f"/> </style:style> - <style:style style:name="P381" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> + <style:style style:name="P383" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> <style:text-properties officeooo:paragraph-rsid="008c2cba"/> </style:style> - <style:style style:name="P382" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P384" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties officeooo:paragraph-rsid="00cfb468"/> </style:style> - <style:style style:name="P383" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> + <style:style style:name="P385" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Indented"> <style:text-properties officeooo:paragraph-rsid="0136a7ba"/> </style:style> - <style:style style:name="P384" style:family="paragraph" style:parent-style-name="Caption"> + <style:style style:name="P386" style:family="paragraph" style:parent-style-name="Caption"> <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> </style:style> - <style:style style:name="P385" style:family="paragraph" style:parent-style-name="Contents_20_Heading"> + <style:style style:name="P387" style:family="paragraph" style:parent-style-name="Contents_20_Heading"> <style:paragraph-properties fo:break-before="page"/> </style:style> - <style:style style:name="P386" style:family="paragraph" style:parent-style-name="Contents_20_1"> + <style:style style:name="P388" style:family="paragraph" style:parent-style-name="Contents_20_1"> <style:paragraph-properties> <style:tab-stops> <style:tab-stop style:position="17cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> </style:tab-stops> </style:paragraph-properties> </style:style> - <style:style style:name="P387" style:family="paragraph" style:parent-style-name="Contents_20_2"> + <style:style style:name="P389" style:family="paragraph" style:parent-style-name="Contents_20_2"> <style:paragraph-properties> <style:tab-stops> <style:tab-stop style:position="16.501cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> </style:tab-stops> </style:paragraph-properties> </style:style> - <style:style style:name="P388" style:family="paragraph" style:parent-style-name="Contents_20_3"> + <style:style style:name="P390" style:family="paragraph" style:parent-style-name="Contents_20_3"> <style:paragraph-properties> <style:tab-stops> <style:tab-stop style:position="16.002cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> </style:tab-stops> </style:paragraph-properties> </style:style> - <style:style style:name="P389" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P391" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00750ebf" officeooo:paragraph-rsid="0074d148"/> </style:style> - <style:style style:name="P390" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P392" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00750ebf" officeooo:paragraph-rsid="00750ebf"/> </style:style> - <style:style style:name="P391" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P393" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="00931d47"/> </style:style> - <style:style style:name="P392" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P394" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00b17591"/> </style:style> - <style:style style:name="P393" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P395" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="0063d022"/> </style:style> - <style:style style:name="P394" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P396" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00f3a79a"/> </style:style> - <style:style style:name="P395" style:family="paragraph" style:parent-style-name="Footnote"> + <style:style style:name="P397" style:family="paragraph" style:parent-style-name="Footnote"> <style:text-properties officeooo:rsid="00f46600" officeooo:paragraph-rsid="00f46600"/> </style:style> - <style:style style:name="P396" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P398" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="014a04f7" officeooo:paragraph-rsid="014a04f7"/> </style:style> - <style:style style:name="P397" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P399" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="014a04f7" officeooo:paragraph-rsid="014a04f7"/> </style:style> - <style:style style:name="P398" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P400" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P399" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P401" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P400" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P402" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="014a269c" officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P401" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> + <style:style style:name="P403" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> <style:text-properties officeooo:rsid="014a269c" officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P402" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P404" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="014a269c" officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P403" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P405" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="014a269c" officeooo:paragraph-rsid="014c3465"/> </style:style> - <style:style style:name="P404" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P406" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="014a269c" officeooo:paragraph-rsid="0150cca4"/> </style:style> - <style:style style:name="P405" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P407" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="014a65a8" officeooo:paragraph-rsid="014a65a8"/> </style:style> - <style:style style:name="P406" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P408" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="014f8ff6" officeooo:paragraph-rsid="014f8ff6"/> </style:style> - <style:style style:name="P407" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P409" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="014a65a8"/> </style:style> - <style:style style:name="P408" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P410" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> <style:text-properties officeooo:rsid="01521a08" officeooo:paragraph-rsid="01521a08"/> </style:style> - <style:style style:name="P409" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P411" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> <style:text-properties officeooo:rsid="01521a08" officeooo:paragraph-rsid="0156a28a"/> </style:style> - <style:style style:name="P410" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P412" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="0156a28a"/> </style:style> - <style:style style:name="P411" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P413" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:paragraph-rsid="0158f5ac"/> </style:style> - <style:style style:name="P412" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> + <style:style style:name="P414" style:family="paragraph" style:parent-style-name="Preformatted_20_Text_20_Interrupt"> <style:text-properties officeooo:paragraph-rsid="0158f5ac"/> </style:style> - <style:style style:name="P413" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P415" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:paragraph-rsid="0158f5ac"/> </style:style> - <style:style style:name="P414" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:style style:name="P416" style:family="paragraph" style:parent-style-name="Text_20_body"> <style:text-properties officeooo:rsid="0158f5ac" officeooo:paragraph-rsid="0158f5ac"/> </style:style> - <style:style style:name="P415" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> + <style:style style:name="P417" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> <style:text-properties officeooo:rsid="015b1008" officeooo:paragraph-rsid="015b1008"/> </style:style> - <style:style style:name="P416" style:family="paragraph" style:parent-style-name="Title" style:master-page-name="First_20_Page"> + <style:style style:name="P418" style:family="paragraph" style:parent-style-name="Footnote"> + <style:text-properties officeooo:paragraph-rsid="015ce51d"/> + </style:style> + <style:style style:name="P419" style:family="paragraph" style:parent-style-name="Footnote"> + <style:text-properties officeooo:paragraph-rsid="015e5064"/> + </style:style> + <style:style style:name="P420" style:family="paragraph" style:parent-style-name="Title" style:master-page-name="First_20_Page"> <style:paragraph-properties style:page-number="auto"/> <style:text-properties officeooo:rsid="00cef9a3" officeooo:paragraph-rsid="00cef9a3"/> </style:style> - <style:style style:name="P417" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> - <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00551136" officeooo:paragraph-rsid="015b1008" style:font-style-asian="normal" style:font-style-complex="normal"/> - </style:style> - <style:style style:name="P418" style:family="paragraph" style:parent-style-name="Contents_20_1"> + <style:style style:name="P421" style:family="paragraph" style:parent-style-name="Contents_20_1"> <style:paragraph-properties> <style:tab-stops> <style:tab-stop style:position="17cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> </style:tab-stops> </style:paragraph-properties> </style:style> - <style:style style:name="P419" style:family="paragraph" style:parent-style-name="Contents_20_2"> + <style:style style:name="P422" style:family="paragraph" style:parent-style-name="Contents_20_2"> <style:paragraph-properties> <style:tab-stops> <style:tab-stop style:position="16.501cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> </style:tab-stops> </style:paragraph-properties> </style:style> - <style:style style:name="P420" style:family="paragraph" style:parent-style-name="Contents_20_3"> + <style:style style:name="P423" style:family="paragraph" style:parent-style-name="Contents_20_3"> <style:paragraph-properties> <style:tab-stops> <style:tab-stop style:position="16.002cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> </style:tab-stops> </style:paragraph-properties> </style:style> - <style:style style:name="P421" style:family="paragraph" style:parent-style-name="Contents_20_Heading"> + <style:style style:name="P424" style:family="paragraph" style:parent-style-name="Contents_20_Heading"> <style:paragraph-properties fo:break-before="page"/> </style:style> - <style:style style:name="P422" style:family="paragraph" style:parent-style-name="Footnote"> - <style:text-properties officeooo:paragraph-rsid="015ce51d"/> - </style:style> - <style:style style:name="P423" style:family="paragraph" style:parent-style-name="Footnote"> - <style:text-properties officeooo:paragraph-rsid="015e5064"/> - </style:style> - <style:style style:name="P424" style:family="paragraph" style:parent-style-name="Heading_20_1"> + <style:style style:name="P425" style:family="paragraph" style:parent-style-name="Heading_20_1"> <style:paragraph-properties fo:break-before="page"/> <style:text-properties officeooo:rsid="000a3505" officeooo:paragraph-rsid="000a3505"/> </style:style> - <style:style style:name="P425" style:family="paragraph" style:parent-style-name="Heading_20_1"> + <style:style style:name="P426" style:family="paragraph" style:parent-style-name="Heading_20_1"> <style:text-properties officeooo:rsid="001888a2" officeooo:paragraph-rsid="009eea28"/> </style:style> - <style:style style:name="P426" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P427" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00b17591"/> </style:style> - <style:style style:name="P427" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P428" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="00423119"/> </style:style> - <style:style style:name="P428" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P429" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="012dcfed"/> </style:style> - <style:style style:name="P429" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P430" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00f3a79a"/> </style:style> - <style:style style:name="P430" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P431" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="0063d022"/> </style:style> - <style:style style:name="P431" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P432" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="0086f697" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P432" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P433" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00750ebf" officeooo:paragraph-rsid="0074d148"/> </style:style> - <style:style style:name="P433" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P434" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00750ebf" officeooo:paragraph-rsid="00750ebf"/> </style:style> - <style:style style:name="P434" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P435" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="014a04f7" officeooo:paragraph-rsid="014a04f7"/> </style:style> - <style:style style:name="P435" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P436" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="014a269c"/> </style:style> - <style:style style:name="P436" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P437" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00f3a79a" officeooo:paragraph-rsid="00f3a79a"/> </style:style> - <style:style style:name="P437" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P438" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00d7bd9c" officeooo:paragraph-rsid="00d7bd9c"/> </style:style> - <style:style style:name="P438" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P439" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="009beecc" officeooo:paragraph-rsid="009beecc" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P439" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P440" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P440" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P441" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:paragraph-rsid="00c2926f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P441" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P442" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P442" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P443" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="01418b91" officeooo:paragraph-rsid="01418b91" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P443" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P444" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="01416e92" officeooo:paragraph-rsid="01461d35" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P444" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P445" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="01461d35" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P445" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P446" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="009715be" officeooo:paragraph-rsid="00c6886f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P446" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P447" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="0063d022" officeooo:paragraph-rsid="0063d022"/> </style:style> - <style:style style:name="P447" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P448" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="00fb6b92"/> </style:style> - <style:style style:name="P448" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P449" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="011bfd3c" officeooo:paragraph-rsid="011bfd3c"/> </style:style> - <style:style style:name="P449" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P450" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00c6886f" officeooo:paragraph-rsid="00c6886f"/> </style:style> - <style:style style:name="P450" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P451" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="0156a28a"/> </style:style> - <style:style style:name="P451" style:family="paragraph" style:parent-style-name="Text_20_body"> - <style:text-properties officeooo:rsid="00264cfc" officeooo:paragraph-rsid="015e5064"/> + <style:style style:name="P452" style:family="paragraph" style:parent-style-name="Text_20_body"> + <style:text-properties officeooo:paragraph-rsid="01601f76"/> </style:style> <style:style style:name="T1" style:family="text"> <style:text-properties officeooo:rsid="000be205"/> @@ -3169,6 +3172,9 @@ <style:style style:name="T450" style:family="text"> <style:text-properties officeooo:rsid="015e5064"/> </style:style> + <style:style style:name="T451" style:family="text"> + <style:text-properties officeooo:rsid="01601f76"/> + </style:style> <style:style style:name="Sect1" style:family="section"> <style:section-properties style:editable="false"> <style:columns fo:column-count="1" fo:column-gap="0cm"/> @@ -3222,7 +3228,7 @@ <office:master-styles> <style:master-page style:name="Standard" style:page-layout-name="pm1" draw:style-name="dp1"> <style:footer> - <text:p text:style-name="Footer"><text:page-number text:select-page="current">34</text:page-number><text:tab/><text:tab/><text:modification-date style:data-style-name="N49">2024-07-24</text:modification-date>, <text:modification-time style:data-style-name="N61">11:54:20</text:modification-time></text:p> + <text:p text:style-name="Footer"><text:page-number text:select-page="current">34</text:page-number><text:tab/><text:tab/><text:modification-date style:data-style-name="N49">2024-07-25</text:modification-date>, <text:modification-time style:data-style-name="N61">14:47:37</text:modification-time></text:p> </style:footer> </style:master-page> <style:master-page style:name="First_20_Page" style:display-name="First Page" style:page-layout-name="pm2" draw:style-name="dp2" style:next-style-name="Standard"/> @@ -3238,10 +3244,10 @@ <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> <text:sequence-decl text:display-outline-level="0" text:name="Figure"/> </text:sequence-decls> - <text:p text:style-name="P416">Make Experiments!</text:p> + <text:p text:style-name="P420">Make Experiments!</text:p> <text:p text:style-name="P5">Run-script generation for earth system models</text:p> - <text:p text:style-name="P330">Release 1.4.1</text:p> - <text:p text:style-name="P384">Karl-Hermann Wieners<text:line-break/><text:span text:style-name="T320">Max-Planck-Institut für Meteorologie<text:line-break/>Hamburg</text:span></text:p> + <text:p text:style-name="P332">Release 1.4.1</text:p> + <text:p text:style-name="P386">Karl-Hermann Wieners<text:line-break/><text:span text:style-name="T320">Max-Planck-Institut für Meteorologie<text:line-break/>Hamburg</text:span></text:p> <text:table-of-content text:style-name="Sect1" text:protected="true" text:name="Table of Contents1"> <text:table-of-content-source text:outline-level="10"> <text:index-title-template text:style-name="Contents_20_Heading">Table of Contents</text:index-title-template> @@ -3328,85 +3334,85 @@ </text:table-of-content-source> <text:index-body> <text:index-title text:style-name="Sect1" text:name="Table of Contents1_Head"> - <text:p text:style-name="P385">Table of Contents</text:p> + <text:p text:style-name="P387">Table of Contents</text:p> </text:index-title> - <text:p text:style-name="P418"><text:a xlink:type="simple" xlink:href="#__RefHeading__2518_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1 <text:s/>Introduction<text:tab/>4</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2520_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1 <text:s/>Example: ECHAM experiment setup<text:tab/>4</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2522_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.1 <text:s/>Experiments are defined by custom and default settings<text:tab/>4</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2524_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.2 <text:s/>Job templates are completed by settings to create scripts<text:tab/>5</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2526_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.3 <text:s/>Generating scripts only refers to the custom settings' file<text:tab/>7</text:a></text:p> - <text:p text:style-name="P418"><text:a xlink:type="simple" xlink:href="#__RefHeading__2528_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2 <text:s/>Details on experiment definition<text:tab/>7</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2530_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.1 <text:s/>Design<text:tab/>7</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2532_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.2 <text:s/>Tools<text:tab/>8</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2534_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3 <text:s/>Format of .config files<text:tab/>10</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__1669_1438093122" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.1 <text:s/>Variables<text:tab/>10</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2536_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.2 <text:s/>Sections<text:tab/>11</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2538_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.3 <text:s/>Special variables and sections<text:tab/>12</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2540_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.4 <text:s/>Variable interpolation<text:tab/>13</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2542_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.5 <text:s/>Evaluation of interpolation<text:tab/>14</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5510_529880935" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.6 <text:s/>Incremental changes to list values<text:tab/>15</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2544_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.7 <text:s/>Special expressions<text:tab/>16</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2546_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4 <text:s/>Format of .tmpl files<text:tab/>17</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2548_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.1 <text:s/>Placeholders<text:tab/>17</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2550_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.2 <text:s/>Variables in sections<text:tab/>17</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2552_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.3 <text:s/>Expressions<text:tab/>18</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2554_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.4 <text:s/>Loops<text:tab/>19</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2556_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.5 <text:s/>Conditions<text:tab/>19</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2558_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.6 <text:s/>Comments<text:tab/>20</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3658_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.7 <text:s/>Block statements and block comments<text:tab/>20</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2560_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.5 <text:s/>Standard experiments<text:tab/>20</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2562_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6 <text:s/>Standard options<text:tab/>21</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3660_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6.1 <text:s/>Options set due to model configuration<text:tab/>21</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__1508_1711940803" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7 <text:s/>Generating jobs<text:tab/>21</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.1 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">C</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">hanging the model job list</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>22</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2568_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.2 <text:s/>Pre-defined job variables<text:tab/>23</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.3 <text:s/>Overriding namelist settings in derived jobs<text:tab/>23</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2572_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.4 <text:s/>Native script variables<text:tab/>24</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2574_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.5 <text:s/>Initializing native script variables<text:tab/>25</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2576_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.6 <text:s/>Re-generation of scripts and backup<text:tab/>25</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2564_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.8 <text:s/>Standard environments<text:tab/>26</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__1883_1672291846" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9 <text:s/>Defining namelists and other configuration files<text:tab/>26</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2578_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.1 <text:s/>Formatting the namelist information<text:tab/>27</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.2 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">S</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">uppressing namelist </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">files, </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">groups, or variables</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>27</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc4310_4067847427" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.3 <text:s/>Comments in namelists<text:tab/>28</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5131_2397857290" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.4 <text:s/>Derived namelist groups<text:tab/>29</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5133_2397857290" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.5 <text:s/>Repeated namelist groups, auto-derivation<text:tab/>29</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2714_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.6 <text:s/>Using the namelist text<text:tab/>30</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3662_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.7 <text:s/>Using native script variables in namelists<text:tab/>32</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading__2584_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.8 <text:s/>Non-namelist parameter files<text:tab/>32</text:a></text:p> - <text:p text:style-name="P420"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5414_906201810" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.9 <text:s/>Access full configuration in parameter files - and namelists<text:tab/>32</text:a></text:p> - <text:p text:style-name="P419"><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">D</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">efining input files for an experiment</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>33</text:a></text:p> - <text:p text:style-name="P420"><text:soft-page-break/><text:a xlink:type="simple" xlink:href="#__RefHeading__2833_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10.1 <text:s/>Overriding input files for certain jobs<text:tab/>33</text:a></text:p> + <text:p text:style-name="P421"><text:a xlink:type="simple" xlink:href="#__RefHeading__2518_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1 <text:s/>Introduction<text:tab/>4</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2520_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1 <text:s/>Example: ECHAM experiment setup<text:tab/>4</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2522_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.1 <text:s/>Experiments are defined by custom and default settings<text:tab/>4</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2524_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.2 <text:s/>Job templates are completed by settings to create scripts<text:tab/>5</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2526_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.3 <text:s/>Generating scripts only refers to the custom settings' file<text:tab/>7</text:a></text:p> + <text:p text:style-name="P421"><text:a xlink:type="simple" xlink:href="#__RefHeading__2528_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2 <text:s/>Details on experiment definition<text:tab/>7</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2530_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.1 <text:s/>Design<text:tab/>7</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2532_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.2 <text:s/>Tools<text:tab/>8</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2534_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3 <text:s/>Format of .config files<text:tab/>10</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__1669_1438093122" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.1 <text:s/>Variables<text:tab/>11</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2536_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.2 <text:s/>Sections<text:tab/>11</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2538_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.3 <text:s/>Special variables and sections<text:tab/>12</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2540_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.4 <text:s/>Variable interpolation<text:tab/>13</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2542_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.5 <text:s/>Evaluation of interpolation<text:tab/>14</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5510_529880935" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.6 <text:s/>Incremental changes to list values<text:tab/>15</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2544_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.7 <text:s/>Special expressions<text:tab/>16</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2546_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4 <text:s/>Format of .tmpl files<text:tab/>17</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2548_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.1 <text:s/>Placeholders<text:tab/>17</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2550_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.2 <text:s/>Variables in sections<text:tab/>17</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2552_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.3 <text:s/>Expressions<text:tab/>18</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2554_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.4 <text:s/>Loops<text:tab/>19</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2556_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.5 <text:s/>Conditions<text:tab/>19</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2558_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.6 <text:s/>Comments<text:tab/>20</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3658_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.7 <text:s/>Block statements and block comments<text:tab/>20</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2560_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.5 <text:s/>Standard experiments<text:tab/>20</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2562_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6 <text:s/>Standard options<text:tab/>21</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3660_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6.1 <text:s/>Options set due to model configuration<text:tab/>21</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__1508_1711940803" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7 <text:s/>Generating jobs<text:tab/>21</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.1 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">C</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">hanging the model job list</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>22</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2568_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.2 <text:s/>Pre-defined job variables<text:tab/>23</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.3 <text:s/>Overriding namelist settings in derived jobs<text:tab/>23</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2572_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.4 <text:s/>Native script variables<text:tab/>24</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2574_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.5 <text:s/>Initializing native script variables<text:tab/>25</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2576_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.6 <text:s/>Re-generation of scripts and backup<text:tab/>25</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2564_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.8 <text:s/>Standard environments<text:tab/>26</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__1883_1672291846" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9 <text:s/>Defining namelists and other configuration files<text:tab/>26</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2578_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.1 <text:s/>Formatting the namelist information<text:tab/>27</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.2 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">S</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">uppressing namelist </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">files, </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">groups, or variables</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>27</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc4310_4067847427" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.3 <text:s/>Comments in namelists<text:tab/>28</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5131_2397857290" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.4 <text:s/>Derived namelist groups<text:tab/>29</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5133_2397857290" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.5 <text:s/>Repeated namelist groups, auto-derivation<text:tab/>29</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2714_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.6 <text:s/>Using the namelist text<text:tab/>30</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3662_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.7 <text:s/>Using native script variables in namelists<text:tab/>32</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading__2584_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.8 <text:s/>Non-namelist parameter files<text:tab/>32</text:a></text:p> + <text:p text:style-name="P423"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc5414_906201810" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.9 <text:s/>Access full configuration in parameter files - and namelists<text:tab/>32</text:a></text:p> + <text:p text:style-name="P422"><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">D</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T62">efining input files for an experiment</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>33</text:a></text:p> + <text:p text:style-name="P423"><text:soft-page-break/><text:a xlink:type="simple" xlink:href="#__RefHeading__2833_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10.1 <text:s/>Overriding input files for certain jobs<text:tab/>33</text:a></text:p> </text:index-body> </text:table-of-content> - <text:p text:style-name="P193"/> + <text:p text:style-name="P195"/> <text:h text:style-name="P2" text:outline-level="1"><text:bookmark-start text:name="__RefHeading__2518_1114405012"/>Introduction<text:bookmark-end text:name="__RefHeading__2518_1114405012"/></text:h> <text:p text:style-name="Text_20_body">Running a numerical earth system model experiment requires a number of preparatory and processing steps like staging input data files, providing namelists and other configuration data, housekeeping duties like model-time management, post-processing and storing <text:span text:style-name="T1">of </text:span>output data. These steps are usually put into scripts or another kind of job description that is finally executed on some high-performance computing system.</text:p> <text:p text:style-name="P1">The <text:span text:style-name="T214">Make Experiments! (</text:span>mkexp<text:span text:style-name="T214">)</text:span> toolbox provides a generic interface to setting up such a<text:span text:style-name="T1">n experiment</text:span>. At the heart of this <text:span text:style-name="T1">lies</text:span> the so-called .config file. This is a simple <text:span text:style-name="T1">text </text:span>file that contains the model settings for your experiment in a way that is <text:span text:style-name="T1">largely </text:span>independent of the job description that is later used to run it.</text:p> <text:p text:style-name="P8">To make this an easy task, MPI-M's models are delivered with a number of standard experiment types. Your own .config file will chose one of these, thus inheriting their settings for use in your experiment. Typically, it will also override or amend these settings for the purpose of your experiment.</text:p> <text:p text:style-name="P6">While the .config fil<text:span text:style-name="T2">e contains all necessary settings, there is much more to the actual job description. Therefore, the standard experiment types also provide templates (.tmpl files) for the jobs to run, that are then converted to the final job step descriptions, using the .config file settings. Besides, the .config file contains a 'jobs' section, where the job control flow and parameters of the job description itself may be adjusted, e.g. requiring more resources or disabling certain job steps.</text:span></text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2520_1114405012"/>Example: <text:span text:style-name="T3">ECHAM experiment setup</text:span><text:bookmark-end text:name="__RefHeading__2520_1114405012"/></text:h> - <text:p text:style-name="P48">To illustrate the way <text:span text:style-name="T9">mkexp</text:span> works, let us look at the way that experiments with ECHAM, MPI-M's atmospheric circulation model, are set up.</text:p> - <text:h text:style-name="P389" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2522_1114405012"/>Experiments are defined by custom and default settings<text:bookmark-end text:name="__RefHeading__2522_1114405012"/></text:h> + <text:p text:style-name="P49">To illustrate the way <text:span text:style-name="T9">mkexp</text:span> works, let us look at the way that experiments with ECHAM, MPI-M's atmospheric circulation model, are set up.</text:p> + <text:h text:style-name="P391" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2522_1114405012"/>Experiments are defined by custom and default settings<text:bookmark-end text:name="__RefHeading__2522_1114405012"/></text:h> <text:p text:style-name="P7">ECHAM comes with five <text:span text:style-name="T290">pre-defined </text:span>experiment types, amip-LR, amip-MR, amip-HR, sstClim-LR and sstClim-MR. <text:span text:style-name="T3">To set up an experiment based on one of these, like amip-LR, all you have to do is create your own experiment configuration file within ECHAM's run subdirectory, e.g. 'joe1234.config', setting amip-LR as experiment type and providing an experiment description with the header comment:</text:span></text:p> - <text:p text:style-name="P252"># Standard AMIP experiment as baseline for further experiments (LR)</text:p> - <text:p text:style-name="P252"/> - <text:p text:style-name="P252">EXP_TYPE = amip-LR</text:p> - <text:p text:style-name="P7">For each <text:span text:style-name="T4">experiment type</text:span>, you will find a .config file in the run/standard_experiments<text:note text:id="ftn4" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body> - <text:p text:style-name="P423"><text:span text:style-name="T450">Since</text:span><text:span text:style-name="T449"> 1.4.1, this </text:span><text:span text:style-name="T450">should get </text:span><text:span text:style-name="T449">replace</text:span><text:span text:style-name="T450">d by</text:span><text:span text:style-name="T449"> </text:span>'<text:span text:style-name="T450">mkexp/types</text:span>'</text:p></text:note-body></text:note> subdirectory. For instance, <text:span text:style-name="T289">'</text:span>amip-LR.config<text:span text:style-name="T289">'</text:span> includes these settings</text:p> + <text:p text:style-name="P254"># Standard AMIP experiment as baseline for further experiments (LR)</text:p> + <text:p text:style-name="P254"/> + <text:p text:style-name="P254">EXP_TYPE = amip-LR</text:p> + <text:p text:style-name="P7">For each <text:span text:style-name="T4">experiment type</text:span>, you will find a .config file in the run/standard_experiments<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body> + <text:p text:style-name="P419"><text:span text:style-name="T450">Since</text:span><text:span text:style-name="T449"> 1.4.1, this </text:span><text:span text:style-name="T450">should get </text:span><text:span text:style-name="T449">replace</text:span><text:span text:style-name="T450">d by</text:span><text:span text:style-name="T449"> </text:span>'<text:span text:style-name="T450">mkexp/types</text:span>'</text:p></text:note-body></text:note> subdirectory. For instance, <text:span text:style-name="T289">'</text:span>amip-LR.config<text:span text:style-name="T289">'</text:span> includes these settings</text:p> <text:p text:style-name="P10"><text:soft-page-break/># Default definitions for amip-LR experiments </text:p> - <text:p text:style-name="P251"/> - <text:p text:style-name="P251">RES = 63 </text:p> + <text:p text:style-name="P253"/> + <text:p text:style-name="P253">RES = 63 </text:p> <text:p text:style-name="Preformatted_20_Text"/> <text:p text:style-name="Preformatted_20_Text">[namelists] </text:p> - <text:p text:style-name="P251"/> - <text:p text:style-name="P251"><text:s text:c="2"/>[[namelist.echam]] </text:p> + <text:p text:style-name="P253"/> + <text:p text:style-name="P253"><text:s text:c="2"/>[[namelist.echam]] </text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="3"/>[[[runctl]]] </text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="6"/>lamip = true</text:p> - <text:p text:style-name="P253"/> - <text:p text:style-name="P253"><text:s text:c="2"/>[[namelist.jsbach]] </text:p> - <text:p text:style-name="P253"><text:s text:c="4"/>[[[jsbach_ctl]]] </text:p> - <text:p text:style-name="P253"><text:s text:c="6"/>use_dynveg <text:s/>= false </text:p> + <text:p text:style-name="P255"/> + <text:p text:style-name="P255"><text:s text:c="2"/>[[namelist.jsbach]] </text:p> + <text:p text:style-name="P255"><text:s text:c="4"/>[[[jsbach_ctl]]] </text:p> + <text:p text:style-name="P255"><text:s text:c="6"/>use_dynveg <text:s/>= false </text:p> <text:p text:style-name="P9">As you can see, settings are simple name = value pairs that may be organized in sections. Sections are defined by a bracketed section name. They may contain subsections, where the number of brackets define<text:span text:style-name="T212">s</text:span> the hierarchy depth. The pre-defined sections [namelists] and [jobs] are used for special purposes within <text:span text:style-name="T9">mkexp</text:span>.</text:p> <text:p text:style-name="P9"><text:span text:style-name="T289">Some s</text:span>ettings apply to all <text:span text:style-name="T289">ECHAM </text:span>experiment types. <text:span text:style-name="T289">They</text:span> go into a file named <text:span text:style-name="T289">'</text:span>DEFAULT.config<text:span text:style-name="T289">'</text:span>. <text:span text:style-name="T9">mkexp</text:span> will <text:span text:style-name="T289">always </text:span>read this file <text:span text:style-name="T289">first, </text:span>before applying <text:span text:style-name="T289">any </text:span>settings from <text:span text:style-name="T289">a specific experiment type like 'amip-LR.config'.</text:span> <text:span text:style-name="T289">Such settings might be default paths for input data, as in</text:span></text:p> <text:p text:style-name="P12"># <text:span text:style-name="T289">Default definitions for all </text:span>ECHAM experiment<text:span text:style-name="T289">s</text:span></text:p> @@ -3414,7 +3420,7 @@ <text:p text:style-name="P12">ATMO_INPUT_ROOT = /pool/data/ECHAM6/input/r0004 </text:p> <text:p text:style-name="P12">LAND_INPUT_ROOT = /pool/data/JSBACH/input/r0004 </text:p> <text:p text:style-name="P11">The final configuration is then merged from all of these three sources, where the experiment configuration may override <text:span text:style-name="T59">or amend </text:span>settings from the experiment type, and the type config may in turn change the model defaults.</text:p> - <text:h text:style-name="P390" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2524_1114405012"/>Job templates are completed by settings to create scripts<text:bookmark-end text:name="__RefHeading__2524_1114405012"/></text:h> + <text:h text:style-name="P392" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2524_1114405012"/>Job templates are completed by settings to create scripts<text:bookmark-end text:name="__RefHeading__2524_1114405012"/></text:h> <text:p text:style-name="P11"><text:span text:style-name="T289">Now the experiment configuration is finalized, the </text:span>settings are used to fill in <text:span text:style-name="T289">a kind of job description forms, so called </text:span><text:span text:style-name="T9">templates</text:span><text:span text:style-name="T289">, </text:span>from which eventually the <text:span text:style-name="T289">actual </text:span>job description files are created. As the structure of<text:span text:style-name="T289"> </text:span>jobs is largely independent of the model resolution, all amip- experiment types share the same set of template files. One of them is <text:span text:style-name="T310">'</text:span>amip.run.tmpl<text:span text:style-name="T310">'</text:span>, also within the run/standard_experiments subdirectory. <text:span text:style-name="T6">The excerpt below shows that t</text:span>his looks mostly like a shell script, but contains <text:span text:style-name="T213">placeholders</text:span> that are filled using the .config file information:</text:p> <text:p text:style-name="P12">#! /bin/bash</text:p> <text:p text:style-name="P12"/> @@ -3464,239 +3470,239 @@ <text:p text:style-name="P13"># ECHAM6 namelist </text:p> <text:p text:style-name="P13"># </text:p> <text:p text:style-name="P13">cat > namelist.echam << EOF </text:p> - <text:p text:style-name="P258"><text:span text:style-name="T6">&</text:span>runctl </text:p> - <text:p text:style-name="P258"><text:s text:c="4"/>lamip = .true.</text:p> - <text:p text:style-name="P259">/</text:p> + <text:p text:style-name="P260"><text:span text:style-name="T6">&</text:span>runctl </text:p> + <text:p text:style-name="P260"><text:s text:c="4"/>lamip = .true.</text:p> + <text:p text:style-name="P261">/</text:p> <text:p text:style-name="P13">EOF </text:p> <text:p text:style-name="P13"/> <text:p text:style-name="P13"># </text:p> <text:p text:style-name="P13"># JSBACH namelist</text:p> <text:p text:style-name="P13"># </text:p> <text:p text:style-name="P13">cat > namelist.jsbach << EOF </text:p> - <text:p text:style-name="P259"><text:span text:style-name="T6">&</text:span>jsbach_ctl </text:p> - <text:p text:style-name="P259"><text:s text:c="4"/>use_dynveg = .false.</text:p> - <text:p text:style-name="P259"><text:soft-page-break/>/</text:p> + <text:p text:style-name="P261"><text:span text:style-name="T6">&</text:span>jsbach_ctl </text:p> + <text:p text:style-name="P261"><text:soft-page-break/><text:s text:c="4"/>use_dynveg = .false.</text:p> + <text:p text:style-name="P261">/</text:p> <text:p text:style-name="P13">EOF </text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2526_1114405012"/><text:span text:style-name="T290">G</text:span>enerat<text:span text:style-name="T290">ing scripts only refers to the custom settings' file</text:span><text:bookmark-end text:name="__RefHeading__2526_1114405012"/></text:h> <text:p text:style-name="P26"><text:span text:style-name="T289">So, as soon as</text:span> <text:span text:style-name="T289">you have set up '</text:span>joe1234.config<text:span text:style-name="T289">'</text:span>, you may create the job scripts that are needed to run your experiment. Still within ECHAM's <text:span text:style-name="T291">'</text:span>run<text:span text:style-name="T291">'</text:span> subdirectory, type the following into your terminal:</text:p> <text:p text:style-name="Preformatted_20_Text">../util/mkexp/mkexp joe1234.config</text:p> - <text:p text:style-name="P27">This will <text:span text:style-name="T214">read all configuration information and </text:span>create all job scripts that are defined within your experiment's setup, <text:span text:style-name="T214">using their respective templates as shown in the previous section</text:span>. <text:span text:style-name="T9">mkexp</text:span> will put these <text:span text:style-name="T214">scripts </text:span>in <text:span text:style-name="T214">a common</text:span> directory defined by the .config variable <text:span text:style-name="T291">'</text:span>SCRIPT_DIR<text:span text:style-name="T291">'</text:span>, and <text:span text:style-name="T291">print</text:span> the name of this directory on your terminal.</text:p> + <text:p text:style-name="P28">This will <text:span text:style-name="T214">read all configuration information and </text:span>create all job scripts that are defined within your experiment's setup, <text:span text:style-name="T214">using their respective templates as shown in the previous section</text:span>. <text:span text:style-name="T9">mkexp</text:span> will put these <text:span text:style-name="T214">scripts </text:span>in <text:span text:style-name="T214">a common</text:span> directory defined by the .config variable <text:span text:style-name="T291">'</text:span>SCRIPT_DIR<text:span text:style-name="T291">'</text:span>, and <text:span text:style-name="T291">print</text:span> the name of this directory on your terminal.</text:p> <text:h text:style-name="P22" text:outline-level="1"><text:bookmark-start text:name="__RefHeading__2528_1114405012"/>Details on <text:span text:style-name="T309">experiment</text:span> <text:span text:style-name="T309">definition</text:span><text:bookmark-end text:name="__RefHeading__2528_1114405012"/></text:h> - <text:p text:style-name="P28">With the introductory example of the previous section in mind, this section will give some more detailed information on specific aspects of <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62">.</text:span></text:p> - <text:h text:style-name="P392" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2530_1114405012"/>Design<text:bookmark-end text:name="__RefHeading__2530_1114405012"/></text:h> - <text:p text:style-name="P50">Experiment definition with <text:span text:style-name="T9">mkexp</text:span> <text:span text:style-name="T250">is organized</text:span> <text:span text:style-name="T250">in</text:span> three levels.</text:p> - <text:p text:style-name="P50">The first level is the <text:span text:style-name="T9">mkexp</text:span> toolbox. It provides the front end to create an executable job description from a generic experiment configuration, <text:span text:style-name="T249">but does not contain any model specific information. Instead a basic set of conventions is defined that should be applicable to a very large range of model systems. When this document uses the term </text:span><text:span text:style-name="T18">mkexp</text:span><text:span text:style-name="T68">, it refers to this system level.</text:span></text:p> - <text:p text:style-name="P50"><text:span text:style-name="T249">At a second level, a model needs to provide a number of files containing the information needed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T249">: the required job steps and their interaction, the basic contents of job scripts, model specific information, and building blocks that may be combined to define a specific experiment. This is called the </text:span><text:span text:style-name="T17">model setup</text:span><text:span text:style-name="T67">. The files must maintain the naming conventions prescribed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T67">.</text:span></text:p> - <text:p text:style-name="P53"><text:span text:style-name="T62">Finally, the third level is the actual experiment definition. Here the user decides which of the building blocks from the previous level are needed, and </text:span><text:span text:style-name="T99">defines</text:span><text:span text:style-name="T62"> experiment specific settings that override or amend the information from the model setup. It is also essential to supply an experiment description and a – possibly unique – experiment identifier. All this is called the </text:span><text:span text:style-name="T9">user setup</text:span><text:span text:style-name="T62">.</text:span></text:p> - <text:p text:style-name="P54"><text:span text:style-name="T62">All levels should make a clear distinction </text:span><text:span text:style-name="T69">between </text:span><text:span text:style-name="T62">the .config files, containing the experiment's configuration information, </text:span><text:span text:style-name="T69">and </text:span><text:span text:style-name="T62">the .tmpl files, containing the actual job description and job control syntax.</text:span></text:p> - <text:h text:style-name="P31" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2532_1114405012"/><text:soft-page-break/>Tools<text:bookmark-end text:name="__RefHeading__2532_1114405012"/></text:h> - <text:p text:style-name="P194"><text:span text:style-name="T214">The </text:span><text:span text:style-name="T32">mkexp</text:span><text:span text:style-name="T214"> package provides a number of tools for working with script configurations and setups.</text:span></text:p> + <text:p text:style-name="P29">With the introductory example of the previous section in mind, this section will give some more detailed information on specific aspects of <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62">.</text:span></text:p> + <text:h text:style-name="P394" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2530_1114405012"/>Design<text:bookmark-end text:name="__RefHeading__2530_1114405012"/></text:h> + <text:p text:style-name="P51">Experiment definition with <text:span text:style-name="T9">mkexp</text:span> <text:span text:style-name="T250">is organized</text:span> <text:span text:style-name="T250">in</text:span> three levels.</text:p> + <text:p text:style-name="P51">The first level is the <text:span text:style-name="T9">mkexp</text:span> toolbox. It provides the front end to create an executable job description from a generic experiment configuration, <text:span text:style-name="T249">but does not contain any model specific information. Instead a basic set of conventions is defined that should be applicable to a very large range of model systems. When this document uses the term </text:span><text:span text:style-name="T18">mkexp</text:span><text:span text:style-name="T68">, it refers to this system level.</text:span></text:p> + <text:p text:style-name="P51"><text:span text:style-name="T249">At a second level, a model needs to provide a number of files containing the information needed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T249">: the required job steps and their interaction, the basic contents of job scripts, model specific information, and building blocks that may be combined to define a specific experiment. This is called the </text:span><text:span text:style-name="T17">model setup</text:span><text:span text:style-name="T67">. The files must maintain the naming conventions prescribed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T67">.</text:span></text:p> + <text:p text:style-name="P54"><text:span text:style-name="T62">Finally, the third level is the actual experiment definition. Here the user decides which of the building blocks from the previous level are needed, and </text:span><text:span text:style-name="T99">defines</text:span><text:span text:style-name="T62"> experiment specific settings that override or amend the information from the model setup. It is also essential to supply an experiment description and a – possibly unique – experiment identifier. All this is called the </text:span><text:span text:style-name="T9">user setup</text:span><text:span text:style-name="T62">.</text:span></text:p> + <text:p text:style-name="P55"><text:span text:style-name="T62">All levels should make a clear distinction </text:span><text:span text:style-name="T69">between </text:span><text:span text:style-name="T62">the .config files, containing the experiment's configuration information, </text:span><text:span text:style-name="T69">and </text:span><text:span text:style-name="T62">the .tmpl files, containing the actual job </text:span><text:soft-page-break/><text:span text:style-name="T62">description and job control syntax.</text:span></text:p> + <text:h text:style-name="P32" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2532_1114405012"/>Tools<text:bookmark-end text:name="__RefHeading__2532_1114405012"/></text:h> + <text:p text:style-name="P196"><text:span text:style-name="T214">The </text:span><text:span text:style-name="T32">mkexp</text:span><text:span text:style-name="T214"> package provides a number of tools for working with script configurations and setups.</text:span></text:p> <text:p text:style-name="Preformatted_20_List_20_Heading">mkexp <text:span text:style-name="T339">[-m] [-g] </text:span><text:span text:style-name="T23">file</text:span><text:span text:style-name="T80">.</text:span><text:span text:style-name="T62">config</text:span> [<text:span text:style-name="T9">name</text:span>=<text:span text:style-name="T9">value</text:span> ...]</text:p> - <text:p text:style-name="P321"><text:span text:style-name="T214">This is the main tool for generating an experiment setup. It </text:span>takes <text:span text:style-name="T292">the given</text:span> <text:span text:style-name="T292">user setup</text:span> and <text:span text:style-name="T311">the model setup that is referenced by the user setup </text:span>to generate <text:span text:style-name="T292">the</text:span> <text:span text:style-name="T292">job description files or</text:span> scripts that <text:span text:style-name="T311">are required to run a model experiment as specified in </text:span><text:span text:style-name="T21">file.</text:span><text:span text:style-name="T80">config</text:span><text:span text:style-name="T292">.</text:span></text:p> - <text:p text:style-name="P322">When running, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> creates three directories, one each for the job scripts, run-time data, and output data, as defined by the setup. The names of these are printed, plus warnings if they already exist.</text:span></text:p> - <text:p text:style-name="P65">mkexp<text:span text:style-name="T62"> allows to override </text:span><text:span text:style-name="T78">or amend </text:span><text:span text:style-name="T62">the .config file settings on the command line </text:span><text:span text:style-name="T78">by defining or re-defining a variable </text:span><text:span text:style-name="T293">name</text:span><text:span text:style-name="T78"> set to </text:span><text:span text:style-name="T293">value</text:span><text:span text:style-name="T78">. Section variables are referenced as </text:span><text:span text:style-name="T293">sectionname</text:span><text:span text:style-name="T78">.</text:span><text:span text:style-name="T293">variablename</text:span><text:span text:style-name="T78">. Any periods in the variable name have to be duplicated, e.g. to set '.remove' in section 'jobs' to 'post', use 'jobs...remove=post'. Note that three periods will always be read as '.' followed by '..', thus it is not possible to use variable names th</text:span><text:span text:style-name="T100">at</text:span><text:span text:style-name="T78"> </text:span><text:span text:style-name="T293">end</text:span><text:span text:style-name="T78"> </text:span><text:span text:style-name="T100">i</text:span><text:span text:style-name="T78">n a period.</text:span></text:p> - <text:p text:style-name="P339"><text:span text:style-name="T78">W</text:span><text:span text:style-name="T62">hen given the '-m' or '--no-make-dirs' option, only the </text:span><text:span text:style-name="T79">script</text:span><text:span text:style-name="T62"> directory is created while creation of the </text:span><text:span text:style-name="T79">run-time and outpu</text:span><text:span text:style-name="T62">t directories is skipped.</text:span></text:p> - <text:p text:style-name="P340">With '-g' or '--getexp', instead of a .config file, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> expects a dump generated by </text:span><text:span text:style-name="T9">getexp -vv</text:span><text:span text:style-name="T62"> (see below). The experiment setup is regenerated from this dump, overriding any model setup.</text:span></text:p> - <text:p text:style-name="P324"><text:span text:style-name="T78">g</text:span><text:span text:style-name="T62">etexp [-v ...] </text:span><text:span text:style-name="T111">[-R]</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T117">[-k </text:span><text:span text:style-name="T39">key</text:span><text:span text:style-name="T117">] </text:span><text:span text:style-name="T9">file</text:span><text:span text:style-name="T62">.config [</text:span><text:span text:style-name="T9">name</text:span><text:span text:style-name="T62">=</text:span><text:span text:style-name="T9">value ...</text:span><text:span text:style-name="T62">]</text:span></text:p> - <text:p text:style-name="P62">getexp<text:span text:style-name="T62"> reads the experiment setup the same way </text:span><text:span text:style-name="T100">as</text:span><text:span text:style-name="T62"> </text:span>mkexp<text:span text:style-name="T62">, but does not generate job scripts. Instead it prints the experiment name and directories to be generated in a shell-readable form. It is intended for debugging or passing setup information to utility scripts.</text:span></text:p> - <text:p text:style-name="P323"><text:span text:style-name="T62">When given the '-v' </text:span><text:span text:style-name="T111">or '--</text:span><text:span text:style-name="T62">verbose</text:span><text:span text:style-name="T111">'</text:span><text:span text:style-name="T62"> option, all </text:span><text:span text:style-name="T9">global</text:span><text:span text:style-name="T62"> configuration variables and their values are printed in alphabetical order. </text:span><text:span text:style-name="T111">When given twice, the whole configuration is dumped </text:span><text:span text:style-name="T116">to the screen</text:span><text:span text:style-name="T111">. </text:span><text:span text:style-name="T116">Save this to a file for use with </text:span><text:span text:style-name="T38">mkexp -g</text:span><text:span text:style-name="T116">.</text:span></text:p> - <text:p text:style-name="P128">When given the '-R' or '--readme' option, the header comment text is printed.</text:p> - <text:p text:style-name="P345">When given the '-k' or '--key' option, only the configured value for <text:span text:style-name="T9">key</text:span> is printed. Section variables may be referenced as described above for <text:span text:style-name="T9">name</text:span>=<text:span text:style-name="T9">value</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T119">This option may be used more than once to print additional values.</text:span><text:span text:style-name="T62"> </text:span></text:p> - <text:p text:style-name="P372">diffexp <text:span text:style-name="T22">file</text:span><text:span text:style-name="T23">1</text:span><text:span text:style-name="T294">.config </text:span><text:span text:style-name="T22">file2</text:span><text:span text:style-name="T79">.</text:span><text:span text:style-name="T80">config</text:span></text:p> - <text:p text:style-name="P126">For an easy comparison of the whole set of generated scripts for two different experiments, this tool takes the directories defined in each configuration, locates the job scripts corresponding to each other (e.g. exp0001.run and exp0002.run), equalizes all occurrences of the experiment name in the scripts and then uses the diff tool to show differences. The environment variable 'DIFF' may be set to an alternative tool to be called instead.</text:p> - <text:p text:style-name="P367">rmexp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T295">.config</text:span><text:span text:style-name="T81"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T81">]</text:span></text:p> - <text:p text:style-name="P326">This allows <text:span text:style-name="T298">interactive </text:span>remov<text:span text:style-name="T298">al for </text:span>all data of an experiment without having to <text:soft-page-break/>deal with path names, as these are read from the configuration.</text:p> - <text:p text:style-name="P342"><text:span text:style-name="T340">cp</text:span>exp <text:span text:style-name="T375">[-n] </text:span><text:span text:style-name="T24">file</text:span><text:span text:style-name="T295">.config</text:span><text:span text:style-name="T81"> </text:span><text:span text:style-name="T37">new_name</text:span><text:span text:style-name="T112"> </text:span><text:span text:style-name="T81">[</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T81">]</text:span></text:p> - <text:p text:style-name="P341"><text:span text:style-name="T341">Replicates all data </text:span>of an experiment <text:span text:style-name="T340">to a new experiment name; also updates text files by rewriting references to the old name</text:span>. <text:span text:style-name="T375">With '-n', shows what would be done instead of actually doing it</text:span></text:p> - <text:p text:style-name="P348"><text:span text:style-name="T350">du</text:span>exp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T295">.config</text:span><text:span text:style-name="T81"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T81">]</text:span></text:p> - <text:p text:style-name="P347"><text:span text:style-name="T122">Shows disk usage for all data that has been created by</text:span><text:span text:style-name="T81"> </text:span><text:span text:style-name="T122">an</text:span><text:span text:style-name="T81"> experiment.</text:span></text:p> - <text:p text:style-name="P375"><text:span text:style-name="T361">upexp </text:span><text:span text:style-name="Variable"><text:span text:style-name="T361">file</text:span></text:span><text:span text:style-name="T361">.config </text:span><text:span text:style-name="T81">[</text:span><text:span text:style-name="Variable">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="Variable">value</text:span><text:span text:style-name="Variable"><text:span text:style-name="T24"> </text:span></text:span><text:span text:style-name="T24">...</text:span><text:span text:style-name="T81">]</text:span></text:p> - <text:p text:style-name="P130">Update generated scripts for the given experiment with the same mkexp version, environment and command line, as saved in the corresponding 'update' script.</text:p> - <text:p text:style-name="P374">edit<text:span text:style-name="T360">exp</text:span> [<text:span text:style-name="Variable">file</text:span>]</text:p> - <text:p text:style-name="P349">Reads <text:span text:style-name="T359">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and <text:span text:style-name="T359">launches a program to edit the </text:span>corresponding config file. <text:span text:style-name="T359">The program is taken from the environment variables 'VISUAL' or 'EDITOR' if defined, otherwise </text:span><text:span text:style-name="T42">vi</text:span><text:span text:style-name="T359"> is launched.</text:span></text:p> - <text:p text:style-name="P342"><text:span text:style-name="T358">getconfig</text:span> <text:span text:style-name="T358">[</text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="T295">]</text:span></text:p> - <text:p text:style-name="P349">Documentation tool for experiments that were created using command line assignments. Reads <text:span text:style-name="T361">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and prints the corresponding config file with command line settings from the update script included.</text:p> + <text:p text:style-name="P323"><text:span text:style-name="T214">This is the main tool for generating an experiment setup. It </text:span>takes <text:span text:style-name="T292">the given</text:span> <text:span text:style-name="T292">user setup</text:span> and <text:span text:style-name="T311">the model setup that is referenced by the user setup </text:span>to generate <text:span text:style-name="T292">the</text:span> <text:span text:style-name="T292">job description files or</text:span> scripts that <text:span text:style-name="T311">are required to run a model experiment as specified in </text:span><text:span text:style-name="T21">file.</text:span><text:span text:style-name="T80">config</text:span><text:span text:style-name="T292">.</text:span></text:p> + <text:p text:style-name="P324">When running, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> creates three directories, one each for the job scripts, run-time data, and output data, as defined by the setup. The names of these are printed, plus warnings if they already exist.</text:span></text:p> + <text:p text:style-name="P66">mkexp<text:span text:style-name="T62"> allows to override </text:span><text:span text:style-name="T78">or amend </text:span><text:span text:style-name="T62">the .config file settings on the command line </text:span><text:span text:style-name="T78">by defining or re-defining a variable </text:span><text:span text:style-name="T293">name</text:span><text:span text:style-name="T78"> set to </text:span><text:span text:style-name="T293">value</text:span><text:span text:style-name="T78">. Section variables are referenced as </text:span><text:span text:style-name="T293">sectionname</text:span><text:span text:style-name="T78">.</text:span><text:span text:style-name="T293">variablename</text:span><text:span text:style-name="T78">. Any periods in the variable name have to be duplicated, e.g. to set '.remove' in section 'jobs' to 'post', use 'jobs...remove=post'. Note that three periods will always be read as '.' followed by '..', thus it is not possible to use variable names th</text:span><text:span text:style-name="T100">at</text:span><text:span text:style-name="T78"> </text:span><text:span text:style-name="T293">end</text:span><text:span text:style-name="T78"> </text:span><text:span text:style-name="T100">i</text:span><text:span text:style-name="T78">n a period.</text:span></text:p> + <text:p text:style-name="P341"><text:span text:style-name="T78">W</text:span><text:span text:style-name="T62">hen given the '-m' or '--no-make-dirs' option, only the </text:span><text:span text:style-name="T79">script</text:span><text:span text:style-name="T62"> directory is created while creation of the </text:span><text:span text:style-name="T79">run-time and outpu</text:span><text:span text:style-name="T62">t directories is skipped.</text:span></text:p> + <text:p text:style-name="P342">With '-g' or '--getexp', instead of a .config file, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> expects a dump generated by </text:span><text:span text:style-name="T9">getexp -vv</text:span><text:span text:style-name="T62"> (see below). The experiment setup is regenerated from this dump, overriding any model setup.</text:span></text:p> + <text:p text:style-name="P326"><text:span text:style-name="T78">g</text:span><text:span text:style-name="T62">etexp [-v ...] </text:span><text:span text:style-name="T111">[-R]</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T117">[-k </text:span><text:span text:style-name="T39">key</text:span><text:span text:style-name="T117">] </text:span><text:span text:style-name="T9">file</text:span><text:span text:style-name="T62">.config [</text:span><text:span text:style-name="T9">name</text:span><text:span text:style-name="T62">=</text:span><text:span text:style-name="T9">value ...</text:span><text:span text:style-name="T62">]</text:span></text:p> + <text:p text:style-name="P63">getexp<text:span text:style-name="T62"> reads the experiment setup the same way </text:span><text:span text:style-name="T100">as</text:span><text:span text:style-name="T62"> </text:span>mkexp<text:span text:style-name="T62">, but does not generate job scripts. Instead it prints the experiment name and directories to be generated in a shell-readable form. It is intended for debugging or passing setup information to utility scripts.</text:span></text:p> + <text:p text:style-name="P325"><text:span text:style-name="T62">When given the '-v' </text:span><text:span text:style-name="T111">or '--</text:span><text:span text:style-name="T62">verbose</text:span><text:span text:style-name="T111">'</text:span><text:span text:style-name="T62"> option, all </text:span><text:span text:style-name="T9">global</text:span><text:span text:style-name="T62"> configuration variables and their values are printed in alphabetical order. </text:span><text:span text:style-name="T111">When given twice, the whole configuration is dumped </text:span><text:span text:style-name="T116">to the screen</text:span><text:span text:style-name="T111">. </text:span><text:span text:style-name="T116">Save this to a file for use with </text:span><text:span text:style-name="T38">mkexp -g</text:span><text:span text:style-name="T116">.</text:span></text:p> + <text:p text:style-name="P130">When given the '-R' or '--readme' option, the header comment text is printed.</text:p> + <text:p text:style-name="P347">When given the '-k' or '--key' option, only the configured value for <text:span text:style-name="T9">key</text:span> is printed. Section variables may be referenced as described above for <text:span text:style-name="T9">name</text:span>=<text:span text:style-name="T9">value</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T119">This option may be used more than once to print additional values.</text:span><text:span text:style-name="T62"> </text:span></text:p> + <text:p text:style-name="P374">diffexp <text:span text:style-name="T22">file</text:span><text:span text:style-name="T23">1</text:span><text:span text:style-name="T294">.config </text:span><text:span text:style-name="T22">file2</text:span><text:span text:style-name="T79">.</text:span><text:span text:style-name="T80">config</text:span></text:p> + <text:p text:style-name="P128">For an easy comparison of the whole set of generated scripts for two different experiments, this tool takes the directories defined in each configuration, locates the job scripts corresponding to each other (e.g. exp0001.run and exp0002.run), equalizes all occurrences of the experiment name in the scripts and then uses the diff tool to show differences. The environment variable 'DIFF' may be set to an alternative tool to be called instead.</text:p> + <text:p text:style-name="P369"><text:soft-page-break/>rmexp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T295">.config</text:span><text:span text:style-name="T81"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T81">]</text:span></text:p> + <text:p text:style-name="P328">This allows <text:span text:style-name="T298">interactive </text:span>remov<text:span text:style-name="T298">al for </text:span>all data of an experiment without having to deal with path names, as these are read from the configuration.</text:p> + <text:p text:style-name="P344"><text:span text:style-name="T340">cp</text:span>exp <text:span text:style-name="T375">[-n] </text:span><text:span text:style-name="T24">file</text:span><text:span text:style-name="T295">.config</text:span><text:span text:style-name="T81"> </text:span><text:span text:style-name="T37">new_name</text:span><text:span text:style-name="T112"> </text:span><text:span text:style-name="T81">[</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T81">]</text:span></text:p> + <text:p text:style-name="P343"><text:span text:style-name="T341">Replicates all data </text:span>of an experiment <text:span text:style-name="T340">to a new experiment name; also updates text files by rewriting references to the old name</text:span>. <text:span text:style-name="T375">With '-n', shows what would be done instead of actually doing it</text:span></text:p> + <text:p text:style-name="P350"><text:span text:style-name="T350">du</text:span>exp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T295">.config</text:span><text:span text:style-name="T81"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T81">]</text:span></text:p> + <text:p text:style-name="P349"><text:span text:style-name="T122">Shows disk usage for all data that has been created by</text:span><text:span text:style-name="T81"> </text:span><text:span text:style-name="T122">an</text:span><text:span text:style-name="T81"> experiment.</text:span></text:p> + <text:p text:style-name="P377"><text:span text:style-name="T361">upexp </text:span><text:span text:style-name="Variable"><text:span text:style-name="T361">file</text:span></text:span><text:span text:style-name="T361">.config </text:span><text:span text:style-name="T81">[</text:span><text:span text:style-name="Variable">name</text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="Variable">value</text:span><text:span text:style-name="Variable"><text:span text:style-name="T24"> </text:span></text:span><text:span text:style-name="T24">...</text:span><text:span text:style-name="T81">]</text:span></text:p> + <text:p text:style-name="P132">Update generated scripts for the given experiment with the same mkexp version, environment and command line, as saved in the corresponding 'update' script.</text:p> + <text:p text:style-name="P376">edit<text:span text:style-name="T360">exp</text:span> [<text:span text:style-name="Variable">file</text:span>]</text:p> + <text:p text:style-name="P351">Reads <text:span text:style-name="T359">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and <text:span text:style-name="T359">launches a program to edit the </text:span>corresponding config file. <text:span text:style-name="T359">The program is taken from the environment variables 'VISUAL' or 'EDITOR' if defined, otherwise </text:span><text:span text:style-name="T42">vi</text:span><text:span text:style-name="T359"> is launched.</text:span></text:p> + <text:p text:style-name="P344"><text:span text:style-name="T358">getconfig</text:span> <text:span text:style-name="T358">[</text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="T295">]</text:span></text:p> + <text:p text:style-name="P351">Documentation tool for experiments that were created using command line assignments. Reads <text:span text:style-name="T361">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and prints the corresponding config file with command line settings from the update script included.</text:p> <text:p text:style-name="Preformatted_20_List_20_Heading"><text:span text:style-name="T368">setconfig</text:span> <text:span text:style-name="T369">[-d </text:span><text:span text:style-name="Variable"><text:span text:style-name="T369">key</text:span></text:span><text:span text:style-name="T369">] [-H </text:span><text:span text:style-name="Variable"><text:span text:style-name="T369">text</text:span></text:span><text:span text:style-name="T369">] [-a </text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span>.<text:span text:style-name="T370">config] [</text:span><text:span text:style-name="Variable">file</text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T81"> [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T295">name</text:span></text:span><text:span text:style-name="T81">=</text:span><text:span text:style-name="Variable"><text:span text:style-name="T295">value</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T24"> </text:span></text:span><text:span text:style-name="T24">...</text:span><text:span text:style-name="T81">]</text:span><text:span text:style-name="T130">]</text:span></text:p> - <text:p text:style-name="P351"><text:span text:style-name="T368">Filter tool to alter configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config = '-') and prints the filtered configuration to standard output. Add or alter variables by </text:span><text:span text:style-name="T43">name</text:span><text:span text:style-name="T368">=</text:span><text:span text:style-name="T43">value </text:span><text:span text:style-name="T368">as described before. With '-d' or '--delete', the variable </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">key</text:span></text:span><text:span text:style-name="T368"> is removed from the configuration. </text:span><text:span text:style-name="T129">With '-H' or '--header', </text:span><text:span text:style-name="Variable"><text:span text:style-name="T369">text</text:span></text:span> <text:span text:style-name="T369">is appended to the configuration's header comment. For files given with '-a' or '--add', all settings are merged with </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config.</text:span></text:p> - <text:p text:style-name="P353"><text:span text:style-name="T368">se</text:span><text:span text:style-name="T412">l</text:span><text:span text:style-name="T368">config</text:span><text:span text:style-name="T369"> [-</text:span><text:span text:style-name="T260">t</text:span><text:span text:style-name="T369">]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">section</text:span> <text:span text:style-name="T370">[</text:span><text:span text:style-name="Variable">file</text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130">]</text:span></text:p> - <text:p text:style-name="P352"><text:span text:style-name="T368">Filter tool to </text:span><text:span text:style-name="T398">extract</text:span><text:span text:style-name="T412"> sections from </text:span><text:span text:style-name="T368">configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config = '-') and prints the filtered configuration to standard output. </text:span><text:span text:style-name="Variable"><text:span text:style-name="T412">section</text:span></text:span><text:span text:style-name="T412"> is specified as described for </text:span><text:span text:style-name="T45">mkexp. </text:span><text:span text:style-name="T368">With '-</text:span><text:span text:style-name="T412">t</text:span><text:span text:style-name="T368">' or '--trailing-space', t</text:span><text:span text:style-name="T412">railing space is </text:span><text:span text:style-name="T368">removed from the </text:span><text:span text:style-name="T412">output lines</text:span><text:span text:style-name="T368">. </text:span><text:span text:style-name="T129">With '-</text:span><text:span text:style-name="T136">c</text:span><text:span text:style-name="T129">' or '--</text:span><text:span text:style-name="T383">inline-comments</text:span><text:span text:style-name="T129">', </text:span><text:span text:style-name="T136">multiple spaces between a variable value and an inline comment are reduced to a single space.</text:span></text:p> - <text:p text:style-name="P365"><text:span text:style-name="T431">comp</text:span><text:span text:style-name="T368">config</text:span><text:span text:style-name="T369"> [-</text:span><text:span text:style-name="T431">t]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">1</text:span></text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">2</text:span></text:span><text:span text:style-name="T130">.config [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="T130">.config ...]</text:span></text:p> - <text:p text:style-name="P364"><text:span text:style-name="T388">Filter tool to </text:span><text:span text:style-name="T389">select</text:span><text:span text:style-name="T387"> all settings from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">1</text:span></text:span><text:span text:style-name="T388">.config </text:span><text:span text:style-name="T387">that are </text:span><text:span text:style-name="T389">common to</text:span><text:span text:style-name="T387"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">2</text:span></text:span><text:span text:style-name="T388">.config </text:span><text:span text:style-name="T389">and every </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="T388">.config. </text:span><text:span text:style-name="T387">Useful to </text:span><text:span text:style-name="T389">extract a default config for a number of experiment type configs. </text:span><text:span text:style-name="T387">Takes the same options as </text:span><text:span text:style-name="T408">selconfig</text:span><text:span text:style-name="T387">.</text:span></text:p> - <text:p text:style-name="P365"><text:span text:style-name="T430">diff</text:span><text:span text:style-name="T368">config</text:span><text:span text:style-name="T369"> [-</text:span><text:span text:style-name="T260">t</text:span><text:span text:style-name="T369">]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">1</text:span></text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">2</text:span></text:span><text:span text:style-name="T130">.config</text:span></text:p> - <text:p text:style-name="P360"><text:span text:style-name="T128">Filter tool to </text:span><text:span text:style-name="T387">remove all settings from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">1</text:span></text:span><text:span text:style-name="T388">.config </text:span><text:span text:style-name="T387">that are duplicated in </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">2</text:span></text:span><text:span text:style-name="T388">.config. </text:span><text:span text:style-name="T387">Useful to check new experiment type configs against the default </text:span><text:soft-page-break/><text:span text:style-name="T387">config. Takes the same options as </text:span><text:span text:style-name="T408">selconfig</text:span><text:span text:style-name="T387">.</text:span></text:p> - <text:p text:style-name="P365"><text:span text:style-name="T369">unmergeconfig [-</text:span><text:span text:style-name="T431">t]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">1</text:span></text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">2</text:span></text:span><text:span text:style-name="T130">.config</text:span></text:p> + <text:p text:style-name="P353"><text:span text:style-name="T368">Filter tool to alter configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config = '-') and prints the filtered configuration to standard output. Add or alter variables by </text:span><text:span text:style-name="T43">name</text:span><text:span text:style-name="T368">=</text:span><text:span text:style-name="T43">value </text:span><text:span text:style-name="T368">as described before. With '-d' or '--delete', the variable </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">key</text:span></text:span><text:span text:style-name="T368"> is removed from the configuration. </text:span><text:span text:style-name="T129">With '-H' or '--header', </text:span><text:span text:style-name="Variable"><text:span text:style-name="T369">text</text:span></text:span> <text:span text:style-name="T369">is appended to the configuration's header comment. For files given with '-a' or '--add', all settings are merged with </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config.</text:span></text:p> + <text:p text:style-name="P355"><text:span text:style-name="T368">se</text:span><text:span text:style-name="T412">l</text:span><text:span text:style-name="T368">config</text:span><text:span text:style-name="T369"> [-</text:span><text:span text:style-name="T260">t</text:span><text:span text:style-name="T369">]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">section</text:span> <text:span text:style-name="T370">[</text:span><text:span text:style-name="Variable">file</text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130">]</text:span></text:p> + <text:p text:style-name="P354"><text:span text:style-name="T368">Filter tool to </text:span><text:span text:style-name="T398">extract</text:span><text:span text:style-name="T412"> sections from </text:span><text:span text:style-name="T368">configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T368">file</text:span></text:span><text:span text:style-name="T368">.config = '-') and prints the filtered configuration to standard output. </text:span><text:span text:style-name="Variable"><text:span text:style-name="T412">section</text:span></text:span><text:span text:style-name="T412"> is specified as described for </text:span><text:span text:style-name="T45">mkexp. </text:span><text:span text:style-name="T368">With '-</text:span><text:span text:style-name="T412">t</text:span><text:span text:style-name="T368">' or '--trailing-space', t</text:span><text:span text:style-name="T412">railing space is </text:span><text:span text:style-name="T368">removed from the </text:span><text:span text:style-name="T412">output lines</text:span><text:span text:style-name="T368">. </text:span><text:span text:style-name="T129">With '-</text:span><text:span text:style-name="T136">c</text:span><text:span text:style-name="T129">' or '--</text:span><text:span text:style-name="T383">inline-comments</text:span><text:span text:style-name="T129">', </text:span><text:span text:style-name="T136">multiple spaces between a variable value and an inline comment are reduced to a single space.</text:span></text:p> + <text:p text:style-name="P367"><text:span text:style-name="T431">comp</text:span><text:span text:style-name="T368">config</text:span><text:span text:style-name="T369"> [-</text:span><text:span text:style-name="T431">t]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">1</text:span></text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">2</text:span></text:span><text:span text:style-name="T130">.config [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="T130">.config ...]</text:span></text:p> + <text:p text:style-name="P366"><text:span text:style-name="T388">Filter tool to </text:span><text:span text:style-name="T389">select</text:span><text:span text:style-name="T387"> all settings from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">1</text:span></text:span><text:span text:style-name="T388">.config </text:span><text:span text:style-name="T387">that are </text:span><text:span text:style-name="T389">common to</text:span><text:span text:style-name="T387"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">2</text:span></text:span><text:span text:style-name="T388">.config </text:span><text:span text:style-name="T389">and every </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="T388">.config. </text:span><text:span text:style-name="T387">Useful to </text:span><text:span text:style-name="T389">extract a default config for a number of experiment type configs. </text:span><text:span text:style-name="T387">Takes the same options as </text:span><text:span text:style-name="T408">selconfig</text:span><text:span text:style-name="T387">.</text:span></text:p> + <text:p text:style-name="P367"><text:soft-page-break/><text:span text:style-name="T430">diff</text:span><text:span text:style-name="T368">config</text:span><text:span text:style-name="T369"> [-</text:span><text:span text:style-name="T260">t</text:span><text:span text:style-name="T369">]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">1</text:span></text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">2</text:span></text:span><text:span text:style-name="T130">.config</text:span></text:p> + <text:p text:style-name="P362"><text:span text:style-name="T128">Filter tool to </text:span><text:span text:style-name="T387">remove all settings from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">1</text:span></text:span><text:span text:style-name="T388">.config </text:span><text:span text:style-name="T387">that are duplicated in </text:span><text:span text:style-name="Variable"><text:span text:style-name="T403">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T402">2</text:span></text:span><text:span text:style-name="T388">.config. </text:span><text:span text:style-name="T387">Useful to check new experiment type configs against the default </text:span><text:span text:style-name="T387">config. Takes the same options as </text:span><text:span text:style-name="T408">selconfig</text:span><text:span text:style-name="T387">.</text:span></text:p> + <text:p text:style-name="P367"><text:span text:style-name="T369">unmergeconfig [-</text:span><text:span text:style-name="T431">t]</text:span> <text:span text:style-name="T369">[-</text:span><text:span text:style-name="T412">c</text:span><text:span text:style-name="T369">] </text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">1</text:span></text:span>.<text:span text:style-name="T370">config</text:span><text:span text:style-name="T130"> </text:span><text:span text:style-name="Variable"><text:span text:style-name="T370">file</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T430">2</text:span></text:span><text:span text:style-name="T130">.config</text:span></text:p> <text:p text:style-name="List_20_Contents">Filter tool to substitute literal settings in <text:span text:style-name="Variable">file1</text:span>.config by the corresponding</text:p> <text:p text:style-name="List_20_Contents">variable references as defined in <text:span text:style-name="Variable">file2</text:span>.config. From <text:span text:style-name="Variable">file2</text:span>.config, only settings like</text:p> <text:p text:style-name="List_20_Contents"><text:span text:style-name="Variable">var1 = $var2</text:span> or <text:span text:style-name="Variable">var1 = ${var2}</text:span> are considered. Useful to create a new experiment</text:p> <text:p text:style-name="List_20_Contents">type config from <text:span text:style-name="T9">importexp</text:span> output by running it against the default config. Takes</text:p> <text:p text:style-name="List_20_Contents">the same options as <text:span text:style-name="T9">selconfig</text:span>.</text:p> - <text:p text:style-name="P365"><text:span text:style-name="T428">importexp</text:span><text:span text:style-name="T411"> </text:span><text:span text:style-name="T428">[</text:span><text:span text:style-name="Variable"><text:span text:style-name="T428">option</text:span></text:span><text:span text:style-name="T428"> ...] </text:span><text:span text:style-name="Variable"><text:span text:style-name="T428">run_script</text:span></text:span><text:span text:style-name="T428"> [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T262">run_script</text:span></text:span><text:span text:style-name="T428"> ...]</text:span></text:p> - <text:p text:style-name="P360"><text:span text:style-name="T140">Runs the given runscripts in a sandbox and </text:span><text:span text:style-name="T143">tries to </text:span><text:span text:style-name="T140">extract namelists and files from the resulting log file by use of </text:span><text:span text:style-name="T46">namelist2config</text:span><text:span text:style-name="T140"> </text:span><text:span text:style-name="T141">and </text:span><text:span text:style-name="T47">files2config</text:span><text:span text:style-name="T141">. The resulting config is written to standard output. </text:span><text:span text:style-name="T142">Note that this </text:span><text:span text:style-name="T143">is tailored to ICON scripts, and </text:span><text:span text:style-name="T142">must be </text:span><text:span text:style-name="T143">called from the 'run' </text:span><text:span text:style-name="T142">directory. For out-of-source builds, this must be located </text:span><text:span text:style-name="T143">under</text:span><text:span text:style-name="T142"> the build directory and the '-b' option is mandatory. </text:span><text:span text:style-name="T141">Options are<text:line-break/>-b </text:span><text:span text:style-name="Variable"><text:span text:style-name="T429">build_subdir</text:span></text:span><text:span text:style-name="T141">: set name of build subdirectory [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T429">none</text:span></text:span><text:span text:style-name="T141">]<text:line-break/>-</text:span>d <text:span text:style-name="Variable"><text:span text:style-name="T400">data_base_dir</text:span></text:span><text:span text:style-name="T400">: change base </text:span><text:span text:style-name="T401">of</text:span><text:span text:style-name="T400"> data directory [derived from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T400">run_script</text:span></text:span><text:span text:style-name="T400">]<text:line-break/>-</text:span><text:span text:style-name="T141">D data_dir: </text:span><text:span text:style-name="T142">change</text:span><text:span text:style-name="T141"> data directory </text:span><text:span text:style-name="T142">explicitly [</text:span><text:span text:style-name="T385">derived from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T400">run_script</text:span></text:span><text:span text:style-name="T385">]<text:line-break/>-</text:span><text:span text:style-name="T141">e </text:span><text:span text:style-name="T142">environment:</text:span><text:span text:style-name="T141"> </text:span><text:span text:style-name="T142">set ENVIRONMENT for </text:span><text:span text:style-name="T143">the </text:span><text:span text:style-name="T142">resulting config [levante]<text:line-break/>-</text:span><text:span text:style-name="T141">i: </text:span><text:span text:style-name="T143">in the </text:span><text:span text:style-name="T387">resulting config</text:span><text:span text:style-name="T143">, create an 'intake' job only, ignore the standard jobs</text:span><text:span text:style-name="T142"><text:line-break/>-</text:span><text:span text:style-name="T141">s </text:span><text:span text:style-name="T386">custom_subdir: needed </text:span><text:span text:style-name="T387">if scripts were moved from the run directory<text:line-break/>-</text:span><text:span text:style-name="T141">t </text:span><text:span text:style-name="T143">exp_type: </text:span><text:span text:style-name="T142">set </text:span><text:span text:style-name="T143">EXP_TYPE</text:span><text:span text:style-name="T142"> for </text:span><text:span text:style-name="T143">the </text:span><text:span text:style-name="T142">resulting config [</text:span><text:span text:style-name="T387">DEFAULT</text:span><text:span text:style-name="T142">]<text:line-break/>-</text:span><text:span text:style-name="T141">c </text:span><text:span text:style-name="T143">cpus_per_node</text:span><text:span text:style-name="T141">: </text:span><text:span text:style-name="T143">set alleged number of cpus per node [256]<text:line-break/>-x: debug mode, do not remove temporary files, nor the sandbox directory</text:span></text:p> - <text:p text:style-name="P379">namelist2config [-d <text:span text:style-name="T377">[-c]</text:span> [-v]<text:span text:style-name="T379">]</text:span></text:p> - <text:p text:style-name="P319">Tries to extract namelist settings from shell scripts or log files and converts them to <text:span text:style-name="T378">the </text:span>.config format. <text:span text:style-name="T378">By default, comments are ignored and names of namelist groups and variables sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T379">printed directly, in original order</text:span><text:span text:style-name="T378">. </text:span><text:span text:style-name="T379">In this mode, </text:span><text:span text:style-name="T378">'-c' enables comments, '-v' will output non-namelist lines from input files as comments, prefixed with '###'.</text:span></text:p> - <text:p text:style-name="P355"><text:span text:style-name="T261">files</text:span><text:span text:style-name="T411">2config [-d</text:span><text:span text:style-name="T413">]</text:span><text:span text:style-name="T411"> </text:span><text:span text:style-name="T377">[-</text:span><text:span text:style-name="T413">x</text:span><text:span text:style-name="T377">]</text:span></text:p> - <text:p text:style-name="P354"><text:span text:style-name="T414">Tries to extract </text:span><text:span text:style-name="T413">input file operations </text:span><text:span text:style-name="T414">from shell scripts or log files and converts them to </text:span><text:span text:style-name="T378">the </text:span><text:span text:style-name="T414">.config format. </text:span><text:span text:style-name="T378">By default, </text:span><text:span text:style-name="T413">file </text:span><text:span text:style-name="T378">names </text:span><text:span text:style-name="T397">are</text:span><text:span text:style-name="T378"> sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T379">printed directly, in original order</text:span><text:span text:style-name="T378">. </text:span><text:span text:style-name="T413">Use '-x' when processing log files from shell scripts run with the 'xtrace' or '-x' option.</text:span></text:p> - <text:h text:style-name="P356" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2534_1114405012"/><text:span text:style-name="T220">F</text:span>ormat of .config files<text:bookmark-end text:name="__RefHeading__2534_1114405012"/></text:h> - <text:p text:style-name="P28">The .config files are simple text files containing a dictionary of variables with their respective values. They may be structured using sections and comments. <text:span text:style-name="T215">For reading these files, </text:span><text:span text:style-name="T12">mkexp</text:span><text:span text:style-name="T215"> uses the </text:span><text:span text:style-name="T12">configobj</text:span><text:span text:style-name="T215"> Python library. All settings found in the .config files are handled as Python variables internally.</text:span></text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__1669_1438093122"/>Variables<text:bookmark-end text:name="__RefHeading__1669_1438093122"/></text:h> - <text:p text:style-name="P32">A <text:span text:style-name="T216">configuration variable is set by simply assigning a text value to a name, as in</text:span></text:p> - <text:p text:style-name="Preformatted_20_Text"><text:soft-page-break/>NAME = Joe User</text:p> - <text:p text:style-name="P33">Note that <text:span text:style-name="T217">spaces before and after the 'equals' sign are always ignored. The value starts with the first non-space character. Spaces and additional equals after this are part of the value. In the case above, the variable NAME is set to 'Joe User'. To include leading spaces, you may enclose the actual value in single or double quote characters as in</text:span></text:p> + <text:p text:style-name="P367"><text:span text:style-name="T428">importexp</text:span><text:span text:style-name="T411"> </text:span><text:span text:style-name="T428">[</text:span><text:span text:style-name="Variable"><text:span text:style-name="T428">option</text:span></text:span><text:span text:style-name="T428"> ...] </text:span><text:span text:style-name="Variable"><text:span text:style-name="T428">run_script</text:span></text:span><text:span text:style-name="T428"> [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T262">run_script</text:span></text:span><text:span text:style-name="T428"> ...]</text:span></text:p> + <text:p text:style-name="P362"><text:span text:style-name="T140">Runs the given runscripts in a sandbox and </text:span><text:span text:style-name="T143">tries to </text:span><text:span text:style-name="T140">extract namelists and files from the resulting log file by use of </text:span><text:span text:style-name="T46">namelist2config</text:span><text:span text:style-name="T140"> </text:span><text:span text:style-name="T141">and </text:span><text:span text:style-name="T47">files2config</text:span><text:span text:style-name="T141">. The resulting config is written to standard output. </text:span><text:span text:style-name="T142">Note that this </text:span><text:span text:style-name="T143">is tailored to ICON scripts, and </text:span><text:span text:style-name="T142">must be </text:span><text:span text:style-name="T143">called from the 'run' </text:span><text:span text:style-name="T142">directory. For out-of-source builds, this must be located </text:span><text:span text:style-name="T143">under</text:span><text:span text:style-name="T142"> the build directory and the '-b' option is mandatory. </text:span><text:span text:style-name="T141">Options are<text:line-break/>-b </text:span><text:span text:style-name="Variable"><text:span text:style-name="T429">build_subdir</text:span></text:span><text:span text:style-name="T141">: set name of build subdirectory [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T429">none</text:span></text:span><text:span text:style-name="T141">]<text:line-break/>-</text:span>d <text:span text:style-name="Variable"><text:span text:style-name="T400">data_base_dir</text:span></text:span><text:span text:style-name="T400">: change base </text:span><text:span text:style-name="T401">of</text:span><text:span text:style-name="T400"> data directory [derived from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T400">run_script</text:span></text:span><text:span text:style-name="T400">]<text:line-break/>-</text:span><text:span text:style-name="T141">D data_dir: </text:span><text:span text:style-name="T142">change</text:span><text:span text:style-name="T141"> data directory </text:span><text:span text:style-name="T142">explicitly [</text:span><text:span text:style-name="T385">derived from </text:span><text:span text:style-name="Variable"><text:span text:style-name="T400">run_script</text:span></text:span><text:span text:style-name="T385">]<text:line-break/>-</text:span><text:span text:style-name="T141">e </text:span><text:span text:style-name="T142">environment:</text:span><text:span text:style-name="T141"> </text:span><text:span text:style-name="T142">set ENVIRONMENT for </text:span><text:span text:style-name="T143">the </text:span><text:span text:style-name="T142">resulting config [levante]<text:line-break/>-</text:span><text:span text:style-name="T141">i: </text:span><text:span text:style-name="T143">in the </text:span><text:span text:style-name="T387">resulting config</text:span><text:span text:style-name="T143">, create an 'intake' job only, ignore the standard jobs</text:span><text:span text:style-name="T142"><text:line-break/>-</text:span><text:span text:style-name="T141">s </text:span><text:span text:style-name="T386">custom_subdir: needed </text:span><text:span text:style-name="T387">if scripts were moved from the run directory<text:line-break/>-</text:span><text:span text:style-name="T141">t </text:span><text:span text:style-name="T143">exp_type: </text:span><text:span text:style-name="T142">set </text:span><text:span text:style-name="T143">EXP_TYPE</text:span><text:span text:style-name="T142"> for </text:span><text:span text:style-name="T143">the </text:span><text:span text:style-name="T142">resulting config [</text:span><text:span text:style-name="T387">DEFAULT</text:span><text:span text:style-name="T142">]<text:line-break/>-</text:span><text:span text:style-name="T141">c </text:span><text:span text:style-name="T143">cpus_per_node</text:span><text:span text:style-name="T141">: </text:span><text:span text:style-name="T143">set alleged number of cpus per node [256]<text:line-break/>-x: debug mode, do not remove temporary files, nor the sandbox directory</text:span></text:p> + <text:p text:style-name="P381">namelist2config [-d <text:span text:style-name="T377">[-c]</text:span> [-v]<text:span text:style-name="T379">]</text:span></text:p> + <text:p text:style-name="P321">Tries to extract namelist settings from shell scripts or log files and converts them to <text:span text:style-name="T378">the </text:span>.config format. <text:span text:style-name="T378">By default, comments are ignored and names of namelist groups and variables sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T379">printed directly, in original order</text:span><text:span text:style-name="T378">. </text:span><text:span text:style-name="T379">In this mode, </text:span><text:span text:style-name="T378">'-c' enables comments, '-v' will output non-namelist lines from input files as comments, prefixed with '###'.</text:span></text:p> + <text:p text:style-name="P357"><text:span text:style-name="T261">files</text:span><text:span text:style-name="T411">2config [-d</text:span><text:span text:style-name="T413">]</text:span><text:span text:style-name="T411"> </text:span><text:span text:style-name="T377">[-</text:span><text:span text:style-name="T413">x</text:span><text:span text:style-name="T377">]</text:span></text:p> + <text:p text:style-name="P356"><text:span text:style-name="T414">Tries to extract </text:span><text:span text:style-name="T413">input file operations </text:span><text:span text:style-name="T414">from shell scripts or log files and converts them to </text:span><text:span text:style-name="T378">the </text:span><text:span text:style-name="T414">.config format. </text:span><text:span text:style-name="T378">By default, </text:span><text:span text:style-name="T413">file </text:span><text:span text:style-name="T378">names </text:span><text:span text:style-name="T397">are</text:span><text:span text:style-name="T378"> sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T379">printed directly, in original order</text:span><text:span text:style-name="T378">. </text:span><text:span text:style-name="T413">Use '-x' when processing log files from shell scripts run with the 'xtrace' or '-x' option.</text:span></text:p> + <text:h text:style-name="P358" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2534_1114405012"/><text:span text:style-name="T220">F</text:span>ormat of .config files<text:bookmark-end text:name="__RefHeading__2534_1114405012"/></text:h> + <text:p text:style-name="P29">The .config files are simple text files containing a dictionary of variables with their respective values. They may be structured using sections and comments. <text:span text:style-name="T215">For reading these files, </text:span><text:span text:style-name="T12">mkexp</text:span><text:span text:style-name="T215"> uses the </text:span><text:span text:style-name="T12">configobj</text:span><text:span text:style-name="T215"> Python library. All settings found in the .config files are handled as Python variables internally.</text:span></text:p> + <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__1669_1438093122"/><text:soft-page-break/>Variables<text:bookmark-end text:name="__RefHeading__1669_1438093122"/></text:h> + <text:p text:style-name="P33">A <text:span text:style-name="T216">configuration variable is set by simply assigning a text value to a name, as in</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text">NAME = Joe User</text:p> + <text:p text:style-name="P34">Note that <text:span text:style-name="T217">spaces before and after the 'equals' sign are always ignored. The value starts with the first non-space character. Spaces and additional equals after this are part of the value. In the case above, the variable NAME is set to 'Joe User'. To include leading spaces, you may enclose the actual value in single or double quote characters as in</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">SEPARATOR = ' <text:s text:c="7"/>'</text:p> - <text:p text:style-name="P34">Comma separated values are taken to be a list of string values. Thus</text:p> + <text:p text:style-name="P35">Comma separated values are taken to be a list of string values. Thus</text:p> <text:p text:style-name="Preformatted_20_Text">PATH = /bin, /usr/bin, /usr/local/bin</text:p> - <text:p text:style-name="P35">will set PATH to <text:span text:style-name="T438">the list ('</text:span>/bin', '/usr/bin', '/usr/local/bin'<text:span text:style-name="T438">)</text:span>.</text:p> + <text:p text:style-name="P36">will set PATH to <text:span text:style-name="T438">the list ('</text:span>/bin', '/usr/bin', '/usr/local/bin'<text:span text:style-name="T438">)</text:span>.</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2536_1114405012"/>Sections<text:bookmark-end text:name="__RefHeading__2536_1114405012"/></text:h> - <text:p text:style-name="P36">Variable assignments may be contained in <text:span text:style-name="T9">sections</text:span><text:span text:style-name="T62">. They </text:span><text:span text:style-name="T64">group</text:span><text:span text:style-name="T62"> a set of variables that may be treated </text:span><text:span text:style-name="T101">in a way </text:span><text:span text:style-name="T62">different fro</text:span><text:span text:style-name="T101">m</text:span><text:span text:style-name="T62"> the global variables. Sections are created by a section name on a line by itself, enclosed by brackets. Any variables defined later in the .config file belong to this section:</text:span></text:p> - <text:p text:style-name="P107">[section1]</text:p> - <text:p text:style-name="P107"><text:s text:c="4"/>description = This is the first section</text:p> - <text:p text:style-name="P36">will be stored as a dictionary section1 with section1['description'] set to 'This is the first section'.</text:p> - <text:p text:style-name="P36">Sections may be nested to arbitrary depth by incrementing the number of bracket pairs <text:span text:style-name="T218">as in</text:span></text:p> + <text:p text:style-name="P37">Variable assignments may be contained in <text:span text:style-name="T9">sections</text:span><text:span text:style-name="T62">. They </text:span><text:span text:style-name="T64">group</text:span><text:span text:style-name="T62"> a set of variables that may be treated </text:span><text:span text:style-name="T101">in a way </text:span><text:span text:style-name="T62">different fro</text:span><text:span text:style-name="T101">m</text:span><text:span text:style-name="T62"> the global variables. Sections are created by a section name on a line by itself, enclosed by brackets. Any variables defined later in the .config file belong to this section:</text:span></text:p> + <text:p text:style-name="P109">[section1]</text:p> + <text:p text:style-name="P109"><text:s text:c="4"/>description = This is the first section</text:p> + <text:p text:style-name="P37">will be stored as a dictionary section1 with section1['description'] set to 'This is the first section'.</text:p> + <text:p text:style-name="P37">Sections may be nested to arbitrary depth by incrementing the number of bracket pairs <text:span text:style-name="T218">as in</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">[section1]</text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="4"/>description = This is the first section</text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="4"/>[[subsection1a]]</text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="8"/>description = This is the first sub section of the first section</text:p> - <text:p text:style-name="P275"><text:s text:c="4"/>[[subsection1<text:span text:style-name="T218">b</text:span>]]</text:p> - <text:p text:style-name="P275"><text:s text:c="8"/>description = This is the <text:span text:style-name="T218">second</text:span> sub section of the first section</text:p> - <text:p text:style-name="P38">[section2]</text:p> - <text:p text:style-name="P38"><text:s text:c="4"/>description = This is the second section </text:p> - <text:p text:style-name="P37"><text:span text:style-name="T296">A s</text:span>ection <text:span text:style-name="T296">is</text:span> closed by the beginning of a new section of the same level, by a section <text:span text:style-name="T296">of </text:span>l<text:span text:style-name="T296">ower</text:span> <text:span text:style-name="T296">nesting </text:span>depth, <text:span text:style-name="T296">or the end of the .config file</text:span>. Thus, section1 will contain 'description' and two dictionaries 'subsection1' and 'subsection2', each of those containing their own 'description'. 'section2' then is a top-level dictionary, again with its own 'description' variable.</text:p> - <text:p text:style-name="P37">Note that indentation may be used to make the file more legible but is completely ignored when the file is loaded. The number of brackets is the only way to define the level of a section. This means that all variables in a section must be defined before any subsections. Otherwise, the variable <text:s/>would be<text:span text:style-name="T219">long</text:span> to the respective subsection.</text:p> - <text:p text:style-name="P36"><text:soft-page-break/>Fortran scholars will also want to note that names are case-sensitive, i.e. the variable 'NAME' is quite different from 'name'. Usually, setups use upper-case names for global variables and lower-case names for sections and their variables.</text:p> + <text:p text:style-name="P277"><text:s text:c="4"/>[[subsection1<text:span text:style-name="T218">b</text:span>]]</text:p> + <text:p text:style-name="P277"><text:s text:c="8"/>description = This is the <text:span text:style-name="T218">second</text:span> sub section of the first section</text:p> + <text:p text:style-name="P39">[section2]</text:p> + <text:p text:style-name="P39"><text:s text:c="4"/>description = This is the second section </text:p> + <text:p text:style-name="P38"><text:span text:style-name="T296">A s</text:span>ection <text:span text:style-name="T296">is</text:span> closed by the beginning of a new section of the same level, by a section <text:span text:style-name="T296">of </text:span>l<text:span text:style-name="T296">ower</text:span> <text:span text:style-name="T296">nesting </text:span>depth, <text:span text:style-name="T296">or the end of the .config file</text:span>. Thus, section1 will contain 'description' and two dictionaries 'subsection1' and 'subsection2', each of those containing their own 'description'. 'section2' then is a top-level dictionary, again with its own 'description' variable.</text:p> + <text:p text:style-name="P38">Note that indentation may be used to make the file more legible but is completely <text:soft-page-break/>ignored when the file is loaded. The number of brackets is the only way to define the level of a section. This means that all variables in a section must be defined before any subsections. Otherwise, the variable <text:s/>would be<text:span text:style-name="T219">long</text:span> to the respective subsection.</text:p> + <text:p text:style-name="P37">Fortran scholars will also want to note that names are case-sensitive, i.e. the variable 'NAME' is quite different from 'name'. Usually, setups use upper-case names for global variables and lower-case names for sections and their variables.</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2538_1114405012"/>Special <text:span text:style-name="T288">v</text:span>ariables <text:span text:style-name="T288">and sections</text:span><text:bookmark-end text:name="__RefHeading__2538_1114405012"/></text:h> - <text:p text:style-name="P60"><text:span text:style-name="T62">There are a number of special variables that influence the way </text:span>mkexp<text:span text:style-name="T62"> works. They must be present in one of the .config files, unless noted otherwise below. </text:span><text:span text:style-name="T66">They are listed here for a first overview. Their exact meaning is explained in more detail in the upcoming sections.</text:span></text:p> - <text:p text:style-name="P61"><text:span text:style-name="T66">T</text:span><text:span text:style-name="T62">he first set of variables is usually defined in the model setup:</text:span></text:p> - <text:p text:style-name="P111">SCRIPT_DIR</text:p> - <text:p text:style-name="P68"><text:span text:style-name="T65">D</text:span><text:span text:style-name="T62">irectory where the generated job descriptions are stored. This directory and its parents are created by </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> if they do not exist.</text:span></text:p> - <text:p text:style-name="P112">WORK_DIR</text:p> - <text:p text:style-name="P114">Directory where the experiment is run. The jobs will use this for providing input data and configuration files needed for model execution. This directory and its parents are created if they do not exist.</text:p> - <text:p text:style-name="P113">DATA_DIR</text:p> - <text:p text:style-name="P114">Directory for storing output data. When a model run finishes, output will be stored there for further processing. Will also be created when non-existent.</text:p> - <text:p text:style-name="P143">EXP_DIR_NAMES</text:p> - <text:p text:style-name="P142">List of variables that contain additional directories to be created when non-existent</text:p> - <text:p text:style-name="P122">VERSION_</text:p> - <text:p text:style-name="P123">Each .config file in the model setup <text:span text:style-name="T326">should</text:span> set this variable to a suitable value, e.g. version control information. The values are collected in a variable 'VERSIONS_' which is usually written to the resulting job descriptions.</text:p> - <text:p text:style-name="P124">SETUP_OPTIONS (<text:span text:style-name="T9">optional</text:span>)</text:p> - <text:p text:style-name="P120">Subset of the model's standard options that should be applied to <text:span text:style-name="T335">all</text:span> experiment<text:span text:style-name="T335">s using the same model version</text:span>. </text:p> - <text:p text:style-name="P66">There is a second set of variables that belongs in the user setup:</text:p> - <text:p text:style-name="P117">EXP_TYPE</text:p> - <text:p text:style-name="P118">Selects one of the standard experiments that are pre-defined in the model setup as basis of the current experiment definition.</text:p> - <text:p text:style-name="P121">ENVIRONMENT</text:p> - <text:p text:style-name="P52">Selects one of the standard host environments that are available for the model.</text:p> - <text:p text:style-name="P51"><text:span text:style-name="T62">EXP_OPTIONS (</text:span><text:span text:style-name="T9">optional</text:span><text:span text:style-name="T62">)</text:span></text:p> - <text:p text:style-name="P119">Subset of the model's standard options that should be applied to the current experiment definition.</text:p> - <text:p text:style-name="P313">EXP_ID (<text:span text:style-name="T9">optional</text:span>)</text:p> - <text:p text:style-name="P314">Name of the experiment to be created. If not set, this will be set to the base name of the user's .config file, e.g. 'joe1234' in the introductory example. All job description files will carry this as the first part of their name. For almost all model setups, this will be used in the definitions of SCRIPT_DIR, WORK_DIR, and DATA_DIR.</text:p> - <text:p text:style-name="P57"><text:soft-page-break/>EXP_DESCRIPTION <text:span text:style-name="T248">(</text:span><text:span text:style-name="T16">optional</text:span><text:span text:style-name="T248">)</text:span></text:p> - <text:p text:style-name="P125">Extensive description of the experiment to be created. If not set, this will contain all text in the header comment of the user's .config file. The leading comment characters, <text:span text:style-name="T355">as well as </text:span>leading and trailing empty lines <text:span text:style-name="T355">or comment boilerplate </text:span>are removed. Note that <text:span text:style-name="T312">both header comment and </text:span>EXP_DESCRIPTION may reference any other global variable defined in the experiment configuration <text:span text:style-name="T312">(see section </text:span><text:span text:style-name="T312"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2540_1114405012">2.3.4</text:bookmark-ref></text:span><text:span text:style-name="T312">)</text:span>.</text:p> - <text:p text:style-name="P125">The contents of this variable is written to a 'README' file in SCRIPT_DIR.</text:p> - <text:p text:style-name="P56"><text:span text:style-name="T62">Another set of variables is automatically added to the job specific experiment configuration. </text:span><text:span text:style-name="T77">These are considered read-only</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T70">and may not be altered</text:span><text:span text:style-name="T62">.</text:span></text:p> - <text:p text:style-name="P58">JOB</text:p> - <text:p text:style-name="P59">A dictionary of system settings pertaining to the current job.</text:p> - <text:p text:style-name="P115">VARIABLES_</text:p> - <text:p text:style-name="P116">List of all names that were recognized as native variables of the current job. May be used to maintain a variable definition list in the generated script.</text:p> - <text:p text:style-name="P315"><text:span text:style-name="T74">m</text:span><text:span text:style-name="T62">kexp_input</text:span></text:p> - <text:p text:style-name="P127">Descriptive string for script headers. It is set to 'Generated by … mkexp …' where the ellipses are filled with version information.</text:p> - <text:p text:style-name="P122">VERSIONS_</text:p> - <text:p text:style-name="P123">List of all 'VERSION_' strings that were found in the different .config files.</text:p> - <text:p text:style-name="P161">These special sections are usually pre-defined in the model setup, but are commonly altered by the user.</text:p> + <text:p text:style-name="P61"><text:span text:style-name="T62">There are a number of special variables that influence the way </text:span>mkexp<text:span text:style-name="T62"> works. They must be present in one of the .config files, unless noted otherwise below. </text:span><text:span text:style-name="T66">They are listed here for a first overview. Their exact meaning is explained in more detail in the upcoming sections.</text:span></text:p> + <text:p text:style-name="P62"><text:span text:style-name="T66">T</text:span><text:span text:style-name="T62">he first set of variables is usually defined in the model setup:</text:span></text:p> + <text:p text:style-name="P113">SCRIPT_DIR</text:p> + <text:p text:style-name="P69"><text:span text:style-name="T65">D</text:span><text:span text:style-name="T62">irectory where the generated job descriptions are stored. This directory and its parents are created by </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> if they do not exist.</text:span></text:p> + <text:p text:style-name="P114">WORK_DIR</text:p> + <text:p text:style-name="P116">Directory where the experiment is run. The jobs will use this for providing input data and configuration files needed for model execution. This directory and its parents are created if they do not exist.</text:p> + <text:p text:style-name="P115">DATA_DIR</text:p> + <text:p text:style-name="P116">Directory for storing output data. When a model run finishes, output will be stored there for further processing. Will also be created when non-existent.</text:p> + <text:p text:style-name="P145">EXP_DIR_NAMES</text:p> + <text:p text:style-name="P144">List of variables that contain additional directories to be created when non-existent</text:p> + <text:p text:style-name="P124">VERSION_</text:p> + <text:p text:style-name="P125">Each .config file in the model setup <text:span text:style-name="T326">should</text:span> set this variable to a suitable value, e.g. version control information. The values are collected in a variable 'VERSIONS_' which is usually written to the resulting job descriptions.</text:p> + <text:p text:style-name="P126">SETUP_OPTIONS (<text:span text:style-name="T9">optional</text:span>)</text:p> + <text:p text:style-name="P122">Subset of the model's standard options that should be applied to <text:span text:style-name="T335">all</text:span> experiment<text:span text:style-name="T335">s using the same model version</text:span>. </text:p> + <text:p text:style-name="P67">There is a second set of variables that belongs in the user setup:</text:p> + <text:p text:style-name="P119">EXP_TYPE</text:p> + <text:p text:style-name="P120">Selects one of the standard experiments that are pre-defined in the model setup as basis of the current experiment definition.</text:p> + <text:p text:style-name="P123">ENVIRONMENT</text:p> + <text:p text:style-name="P53">Selects one of the standard host environments that are available for the model.</text:p> + <text:p text:style-name="P52"><text:span text:style-name="T62">EXP_OPTIONS (</text:span><text:span text:style-name="T9">optional</text:span><text:span text:style-name="T62">)</text:span></text:p> + <text:p text:style-name="P121">Subset of the model's standard options that should be applied to the current experiment definition.</text:p> + <text:p text:style-name="P315">EXP_ID (<text:span text:style-name="T9">optional</text:span>)</text:p> + <text:p text:style-name="P316">Name of the experiment to be created. If not set, this will be set to the base name <text:soft-page-break/>of the user's .config file, e.g. 'joe1234' in the introductory example. All job description files will carry this as the first part of their name. For almost all model setups, this will be used in the definitions of SCRIPT_DIR, WORK_DIR, and DATA_DIR.</text:p> + <text:p text:style-name="P58">EXP_DESCRIPTION <text:span text:style-name="T248">(</text:span><text:span text:style-name="T16">optional</text:span><text:span text:style-name="T248">)</text:span></text:p> + <text:p text:style-name="P127">Extensive description of the experiment to be created. If not set, this will contain all text in the header comment of the user's .config file. The leading comment characters, <text:span text:style-name="T355">as well as </text:span>leading and trailing empty lines <text:span text:style-name="T355">or comment boilerplate </text:span>are removed. Note that <text:span text:style-name="T312">both header comment and </text:span>EXP_DESCRIPTION may reference any other global variable defined in the experiment configuration <text:span text:style-name="T312">(see section </text:span><text:span text:style-name="T312"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2540_1114405012">2.3.4</text:bookmark-ref></text:span><text:span text:style-name="T312">)</text:span>.</text:p> + <text:p text:style-name="P127">The contents of this variable is written to a 'README' file in SCRIPT_DIR.</text:p> + <text:p text:style-name="P57"><text:span text:style-name="T62">Another set of variables is automatically added to the job specific experiment configuration. </text:span><text:span text:style-name="T77">These are considered read-only</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T70">and may not be altered</text:span><text:span text:style-name="T62">.</text:span></text:p> + <text:p text:style-name="P59">JOB</text:p> + <text:p text:style-name="P60">A dictionary of system settings pertaining to the current job.</text:p> + <text:p text:style-name="P117">VARIABLES_</text:p> + <text:p text:style-name="P118">List of all names that were recognized as native variables of the current job. May be used to maintain a variable definition list in the generated script.</text:p> + <text:p text:style-name="P317"><text:span text:style-name="T74">m</text:span><text:span text:style-name="T62">kexp_input</text:span></text:p> + <text:p text:style-name="P129">Descriptive string for script headers. It is set to 'Generated by … mkexp …' where the ellipses are filled with version information.</text:p> + <text:p text:style-name="P124">VERSIONS_</text:p> + <text:p text:style-name="P125">List of all 'VERSION_' strings that were found in the different .config files.</text:p> + <text:p text:style-name="P163">These special sections are usually pre-defined in the model setup, but are commonly altered by the user.</text:p> <text:p text:style-name="List_20_Heading">[jobs]</text:p> - <text:p text:style-name="P320">This section defines the job description set needed for an experiment. It also provides job specific settings. Details are given in section <text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1508_1711940803">2.7</text:bookmark-ref>, '<text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__1508_1711940803">Generating jobs</text:bookmark-ref>'.</text:p> + <text:p text:style-name="P322">This section defines the job description set needed for an experiment. It also provides job specific settings. Details are given in section <text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1508_1711940803">2.7</text:bookmark-ref>, '<text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__1508_1711940803">Generating jobs</text:bookmark-ref>'.</text:p> <text:p text:style-name="List_20_Heading">[namelists]</text:p> - <text:p text:style-name="P320">Information that is contained in model configuration or namelist files is set in this section. For further details see section <text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1883_1672291846">2.9</text:bookmark-ref>, <text:span text:style-name="T301">'</text:span><text:span text:style-name="T301"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__1883_1672291846">Defining namelists and other configuration files</text:bookmark-ref></text:span><text:span text:style-name="T301">'.</text:span></text:p> - <text:p text:style-name="P197">[files]</text:p> - <text:p text:style-name="P198">All input files that are needed for an experiment and <text:span text:style-name="T323">information</text:span> to provide them go into this section. <text:span text:style-name="T323">See section </text:span><text:span text:style-name="T323"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2831_1132221942">2.10</text:bookmark-ref></text:span><text:span text:style-name="T323">, '</text:span><text:span text:style-name="T323"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__2831_1132221942">Defining input files for an experiment</text:bookmark-ref></text:span><text:span text:style-name="T323">'.</text:span></text:p> + <text:p text:style-name="P322">Information that is contained in model configuration or namelist files is set in this section. For further details see section <text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1883_1672291846">2.9</text:bookmark-ref>, <text:span text:style-name="T301">'</text:span><text:span text:style-name="T301"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__1883_1672291846">Defining namelists and other configuration files</text:bookmark-ref></text:span><text:span text:style-name="T301">'.</text:span></text:p> + <text:p text:style-name="P199">[files]</text:p> + <text:p text:style-name="P200">All input files that are needed for an experiment and <text:span text:style-name="T323">information</text:span> to provide them go into this section. <text:span text:style-name="T323">See section </text:span><text:span text:style-name="T323"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2831_1132221942">2.10</text:bookmark-ref></text:span><text:span text:style-name="T323">, '</text:span><text:span text:style-name="T323"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__2831_1132221942">Defining input files for an experiment</text:bookmark-ref></text:span><text:span text:style-name="T323">'.</text:span></text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2540_1114405012"/>Variable interpolation<text:bookmark-end text:name="__RefHeading__2540_1114405012"/></text:h> - <text:p text:style-name="P173">The value of a .config variable may reference the value of another variable by prefixing its name with <text:span text:style-name="T302">a </text:span>dollar sign. <text:span text:style-name="T302">This is called </text:span><text:span text:style-name="T26">interpolation</text:span><text:span text:style-name="T88"> of variables. E.g.</text:span></text:p> - <text:p text:style-name="P178"># joe1234.config</text:p> - <text:p text:style-name="P176">WORK_ROOT = /scratch/joe</text:p> + <text:p text:style-name="P175">The value of a .config variable may reference the value of another variable by prefixing its name with <text:span text:style-name="T302">a </text:span>dollar sign. <text:span text:style-name="T302">This is called </text:span><text:span text:style-name="T26">interpolation</text:span><text:span text:style-name="T88"> of variables. E.g.</text:span></text:p> + <text:p text:style-name="P180"># joe1234.config</text:p> + <text:p text:style-name="P178">WORK_ROOT = /scratch/joe</text:p> <text:p text:style-name="Preformatted_20_Text">WORK_DIR = $WORK_ROOT/experiments/<text:span text:style-name="T303">$EXP_ID</text:span></text:p> - <text:p text:style-name="P175">will set 'WORK_DIR' to '/scratch/joe/experiments/joe1234'.</text:p> - <text:p text:style-name="P174">Interpolation only works for variables of the current section or its ancestor sections.</text:p> + <text:p text:style-name="P177">will set 'WORK_DIR' to '/scratch/joe/experiments/joe1234'.</text:p> + <text:p text:style-name="P176"><text:soft-page-break/>Interpolation only works for variables of the current section or its ancestor sections.</text:p> <text:p text:style-name="Preformatted_20_Text">[ensembles] </text:p> - <text:p text:style-name="Preformatted_20_Text"><text:soft-page-break/><text:s text:c="2"/>size = 42 </text:p> + <text:p text:style-name="Preformatted_20_Text"><text:s text:c="2"/>size = 42 </text:p> <text:p text:style-name="Preformatted_20_Text">[jobs] </text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="2"/>ensemble_size = $size </text:p> - <text:p text:style-name="P174">will fail with</text:p> - <text:p text:style-name="P309">Oops: missing option "size" in interpolation while reading key 'ensemble_size'</text:p> - <text:p text:style-name="P174">because 'size' is not defined in 'jobs', nor on the global level.</text:p> - <text:p text:style-name="P177">As in shell scripts, the variable name must be enclosed in braces if the interpolation continues with a word character (alphanumerical or underscore), or if the variable name contains a space (which is perfectly legal):</text:p> + <text:p text:style-name="P176">will fail with</text:p> + <text:p text:style-name="P311">Oops: missing option "size" in interpolation while reading key 'ensemble_size'</text:p> + <text:p text:style-name="P176">because 'size' is not defined in 'jobs', nor on the global level.</text:p> + <text:p text:style-name="P179">As in shell scripts, the variable name must be enclosed in braces if the interpolation continues with a word character (alphanumerical or underscore), or if the variable name contains a space (which is perfectly legal):</text:p> <text:p text:style-name="Preformatted_20_Text">WORK_DIR = /tmp/$EXP_ID_test <text:s text:c="3"/><text:span text:style-name="T303"># ERROR: missing option "EXP_ID_test"</text:span></text:p> - <text:p text:style-name="P285"><text:span text:style-name="T303">WORK_DIR = /tmp/</text:span><text:span text:style-name="T199">${EXP_ID}_test</text:span><text:span text:style-name="T303"> <text:s/># OK</text:span></text:p> - <text:p text:style-name="P178"/> - <text:p text:style-name="P178">SPACY <text:span text:style-name="T304">VAR</text:span> = Whew! </text:p> - <text:p text:style-name="P178"><text:span text:style-name="T304">MESSAGE</text:span> = He said: $SPACY VAR <text:s text:c="2"/><text:span text:style-name="T304"># ERROR: missing option </text:span>"<text:span text:style-name="T304">SPACY</text:span>"</text:p> - <text:p text:style-name="P180">MESSAGE = <text:span text:style-name="T303">He said: </text:span><text:span text:style-name="T199">$</text:span><text:span text:style-name="T192">{</text:span><text:span text:style-name="T199">SPACY VAR</text:span><text:span text:style-name="T192">}</text:span> # OK</text:p> - <text:p text:style-name="P177">The user<text:span text:style-name="T313">'</text:span>s <text:span text:style-name="T9">environment variables</text:span> may be referenced as global variables in a .config file. Thus a user may write something like</text:p> + <text:p text:style-name="P287"><text:span text:style-name="T303">WORK_DIR = /tmp/</text:span><text:span text:style-name="T199">${EXP_ID}_test</text:span><text:span text:style-name="T303"> <text:s/># OK</text:span></text:p> + <text:p text:style-name="P180"/> + <text:p text:style-name="P180">SPACY <text:span text:style-name="T304">VAR</text:span> = Whew! </text:p> + <text:p text:style-name="P180"><text:span text:style-name="T304">MESSAGE</text:span> = He said: $SPACY VAR <text:s text:c="2"/><text:span text:style-name="T304"># ERROR: missing option </text:span>"<text:span text:style-name="T304">SPACY</text:span>"</text:p> + <text:p text:style-name="P182">MESSAGE = <text:span text:style-name="T303">He said: </text:span><text:span text:style-name="T199">$</text:span><text:span text:style-name="T192">{</text:span><text:span text:style-name="T199">SPACY VAR</text:span><text:span text:style-name="T192">}</text:span> # OK</text:p> + <text:p text:style-name="P179">The user<text:span text:style-name="T313">'</text:span>s <text:span text:style-name="T9">environment variables</text:span> may be referenced as global variables in a .config file. Thus a user may write something like</text:p> <text:p text:style-name="Preformatted_20_Text">SCRIPT_ROOT = $HOME/experiments/$EXP_ID</text:p> - <text:p text:style-name="P177">setting 'SCRIPT_ROOT' to a subdirectory of the user's home directory.</text:p> + <text:p text:style-name="P179">setting 'SCRIPT_ROOT' to a subdirectory of the user's home directory.</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2542_1114405012"/>Evaluation of interpolation<text:bookmark-end text:name="__RefHeading__2542_1114405012"/></text:h> - <text:p text:style-name="P181">While interpolation looks a lot like in shell scripts, there is a major difference. <text:span text:style-name="T442">Shell variables are </text:span><text:span text:style-name="T49">immediately </text:span><text:span text:style-name="T442">interpolated when their value is set.</text:span> <text:span text:style-name="T49">mkexp </text:span>interpolation is <text:span text:style-name="T49">deferred</text:span><text:span text:style-name="T151">, it </text:span><text:span text:style-name="T62">only</text:span> <text:span text:style-name="T442">takes place</text:span> when <text:span text:style-name="T442">the value of a variable</text:span> is <text:span text:style-name="T442">queried, similar to variables in Makefiles. </text:span>This has the advantage that the model setup may define settings based on variables that are only defined later in the user setup.</text:p> - <text:p text:style-name="P286"># model setup</text:p> - <text:p text:style-name="P381"><text:span text:style-name="T305">MODEL</text:span>_<text:span text:style-name="T305">DIR</text:span> = $HOME/<text:span text:style-name="T305">$MODEL_SUBDIR</text:span></text:p> - <text:p text:style-name="P183"># user setup</text:p> - <text:p text:style-name="P183">MODEL_SUBDIR = echam</text:p> - <text:p text:style-name="P182">Here, as the model setup is read before the user setup, 'MODEL_SUBDIR' is not set when 'MODEL_ROOT' is defined. <text:span text:style-name="T306">This works, because i</text:span>nterpolation of 'MODEL_ROOT's value is postponed until all levels of setup have been read.</text:p> - <text:p text:style-name="P182">The disadvantage is that there may be no incremental adding of values to a given variable because this would cause circular dependencies. Imagine</text:p> - <text:p text:style-name="Preformatted_20_Text">SUBMODELS = $SUBMODELS jsbach</text:p> - <text:p text:style-name="P185"><text:soft-page-break/>When <text:span text:style-name="T9">mkexp</text:span> tries to evaluate 'SUBMODELS', it sees that it needs to do an interpolation; but to do this interpolation, 'SUBMODELS' would need to have been evaluated already! So this results in</text:p> - <text:p text:style-name="P309">Oops: interpolation loop detected in value "SUBMODELS" while reading key 'SUBMODELS'</text:p> - <text:h text:style-name="P396" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5510_529880935"/>Incremental changes to list values<text:bookmark-end text:name="__RefHeading___Toc5510_529880935"/></text:h> - <text:p text:style-name="P397">For list <text:span text:style-name="T441">variables</text:span>, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> allows to lift the restrictions imposed by the deferred interpolation. </text:span><text:span text:style-name="T147">Items</text:span><text:span text:style-name="T62"> may be added to or removed from </text:span><text:span text:style-name="T147">list valued variables</text:span><text:span text:style-name="T62"> by using </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T62">+=</text:span></text:span><text:span text:style-name="T62"> or </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T62">-=</text:span></text:span><text:span text:style-name="T62"> instead of the usual </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T62">=</text:span></text:span><text:span text:style-name="T62"> assignment, </text:span><text:span text:style-name="T152">and modified by using </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T152">>= </text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T444">before</text:span></text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T152">></text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T444">after</text:span></text:span><text:span text:style-name="T152">. </text:span><text:span text:style-name="T147">This is most useful in user config or option files that want to alter </text:span><text:span text:style-name="T150">list variables from the</text:span><text:span text:style-name="T147"> standard model settings without having to repeat the unchanged items</text:span></text:p> - <text:p text:style-name="P287"># model setup</text:p> - <text:p text:style-name="P401">SUBMODELS = ocean, hamocc</text:p> - <text:p text:style-name="P184"># user setup</text:p> - <text:p text:style-name="P184"><text:span text:style-name="T147">SUBMODELS</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T147">+</text:span><text:span text:style-name="T62">= </text:span><text:span text:style-name="T150">atmo, </text:span><text:span text:style-name="T147">jsbach</text:span></text:p> - <text:p text:style-name="P140">SUBMODELS -= hamocc</text:p> - <text:p text:style-name="P141">SUBMODELS >= jsbach>mozart, an></text:p> - <text:p text:style-name="P404">will <text:span text:style-name="T445">first append </text:span>'atmo' <text:span text:style-name="T445">and</text:span> '<text:span text:style-name="T445">jsbach</text:span>' <text:span text:style-name="T445">to the</text:span> <text:span text:style-name="T439">'SUBMODELS' </text:span><text:span text:style-name="T445">list, then remove 'hamocc', and finally rename 'jsbach' to 'mozart' before removing 'an' from every item.</text:span><text:span text:style-name="T439"> </text:span><text:span text:style-name="T445">The resulting list is</text:span> ('oce', 'atmo', '<text:span text:style-name="T444">mozart</text:span>')</text:p> - <text:p text:style-name="P399"><text:span text:style-name="T148">Using th</text:span><text:span text:style-name="T153">ese operations</text:span><text:span text:style-name="T148"> on empty or single valued variables will change them to be lists; </text:span><text:span text:style-name="T150">r</text:span><text:span text:style-name="T149">emoving all items still leaves an empty list,</text:span><text:span text:style-name="T438"> </text:span><text:span text:style-name="T440">which is not <text:s/>quite the same as an empty variable.</text:span></text:p> - <text:p text:style-name="P402"><text:span text:style-name="T441">I</text:span>ncremental changes require the variable <text:span text:style-name="T440">to be </text:span>interpolated before the addition or removal can take place. <text:span text:style-name="T440">Otherwise, we would run into an interpolation loop as described in the last section. Thus incremental changes switch a variable from </text:span><text:span text:style-name="T48">deferred</text:span><text:span text:style-name="T440"> to </text:span><text:span text:style-name="T48">immediate</text:span><text:span text:style-name="T440"> interpolation. This also means that the order of assignments </text:span><text:span text:style-name="T443">becomes</text:span><text:span text:style-name="T440"> significant.</text:span></text:p> + <text:p text:style-name="P183">While interpolation looks a lot like in shell scripts, there is a major difference. <text:span text:style-name="T442">Shell variables are </text:span><text:span text:style-name="T49">immediately </text:span><text:span text:style-name="T442">interpolated when their value is set.</text:span> <text:span text:style-name="T49">mkexp </text:span>interpolation is <text:span text:style-name="T49">deferred</text:span><text:span text:style-name="T151">, it </text:span><text:span text:style-name="T62">only</text:span> <text:span text:style-name="T442">takes place</text:span> when <text:span text:style-name="T442">the value of a variable</text:span> is <text:span text:style-name="T442">queried, similar to variables in Makefiles. </text:span>This has the advantage that the model setup may define settings based on variables that are only defined later in the user setup.</text:p> + <text:p text:style-name="P288"># model setup</text:p> + <text:p text:style-name="P383"><text:span text:style-name="T305">MODEL</text:span>_<text:span text:style-name="T305">DIR</text:span> = $HOME/<text:span text:style-name="T305">$MODEL_SUBDIR</text:span></text:p> + <text:p text:style-name="P185"># user setup</text:p> + <text:p text:style-name="P185">MODEL_SUBDIR = echam</text:p> + <text:p text:style-name="P184">Here, as the model setup is read before the user setup, 'MODEL_SUBDIR' is not set when 'MODEL_ROOT' is defined. <text:span text:style-name="T306">This works, because i</text:span>nterpolation of 'MODEL_ROOT's value is postponed until all levels of setup have been read.</text:p> + <text:p text:style-name="P184">The disadvantage is that there may be no incremental adding of values to a given variable because this would cause circular dependencies. Imagine</text:p> + <text:p text:style-name="Preformatted_20_Text"><text:soft-page-break/>SUBMODELS = $SUBMODELS jsbach</text:p> + <text:p text:style-name="P187">When <text:span text:style-name="T9">mkexp</text:span> tries to evaluate 'SUBMODELS', it sees that it needs to do an interpolation; but to do this interpolation, 'SUBMODELS' would need to have been evaluated already! So this results in</text:p> + <text:p text:style-name="P311">Oops: interpolation loop detected in value "SUBMODELS" while reading key 'SUBMODELS'</text:p> + <text:h text:style-name="P398" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5510_529880935"/>Incremental changes to list values<text:bookmark-end text:name="__RefHeading___Toc5510_529880935"/></text:h> + <text:p text:style-name="P399">For list <text:span text:style-name="T441">variables</text:span>, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> allows to lift the restrictions imposed by the deferred interpolation. </text:span><text:span text:style-name="T147">Items</text:span><text:span text:style-name="T62"> may be added to or removed from </text:span><text:span text:style-name="T147">list valued variables</text:span><text:span text:style-name="T62"> by using </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T62">+=</text:span></text:span><text:span text:style-name="T62"> or </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T62">-=</text:span></text:span><text:span text:style-name="T62"> instead of the usual </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T62">=</text:span></text:span><text:span text:style-name="T62"> assignment, </text:span><text:span text:style-name="T152">and modified by using </text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T152">>= </text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T444">before</text:span></text:span><text:span text:style-name="Source_20_Text"><text:span text:style-name="T152">></text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T444">after</text:span></text:span><text:span text:style-name="T152">. </text:span><text:span text:style-name="T147">This is most useful in user config or option files that want to alter </text:span><text:span text:style-name="T150">list variables from the</text:span><text:span text:style-name="T147"> standard model settings without having to repeat the unchanged items</text:span></text:p> + <text:p text:style-name="P289"># model setup</text:p> + <text:p text:style-name="P403">SUBMODELS = ocean, hamocc</text:p> + <text:p text:style-name="P186"># user setup</text:p> + <text:p text:style-name="P186"><text:span text:style-name="T147">SUBMODELS</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T147">+</text:span><text:span text:style-name="T62">= </text:span><text:span text:style-name="T150">atmo, </text:span><text:span text:style-name="T147">jsbach</text:span></text:p> + <text:p text:style-name="P142">SUBMODELS -= hamocc</text:p> + <text:p text:style-name="P143">SUBMODELS >= jsbach>mozart, an></text:p> + <text:p text:style-name="P406">will <text:span text:style-name="T445">first append </text:span>'atmo' <text:span text:style-name="T445">and</text:span> '<text:span text:style-name="T445">jsbach</text:span>' <text:span text:style-name="T445">to the</text:span> <text:span text:style-name="T439">'SUBMODELS' </text:span><text:span text:style-name="T445">list, then remove 'hamocc', and finally rename 'jsbach' to 'mozart' before removing 'an' from every item.</text:span><text:span text:style-name="T439"> </text:span><text:span text:style-name="T445">The resulting list is</text:span> ('oce', 'atmo', '<text:span text:style-name="T444">mozart</text:span>')</text:p> + <text:p text:style-name="P401"><text:span text:style-name="T148">Using th</text:span><text:span text:style-name="T153">ese operations</text:span><text:span text:style-name="T148"> on empty or single valued variables will change them to be lists; </text:span><text:span text:style-name="T150">r</text:span><text:span text:style-name="T149">emoving all items still leaves an empty list,</text:span><text:span text:style-name="T438"> </text:span><text:span text:style-name="T440">which is not <text:s/>quite the same as an empty variable.</text:span></text:p> + <text:p text:style-name="P404"><text:span text:style-name="T441">I</text:span>ncremental changes require the variable <text:span text:style-name="T440">to be </text:span>interpolated before the addition or removal can take place. <text:span text:style-name="T440">Otherwise, we would run into an interpolation loop as described in the last section. Thus incremental changes switch a variable from </text:span><text:span text:style-name="T48">deferred</text:span><text:span text:style-name="T440"> to </text:span><text:span text:style-name="T48">immediate</text:span><text:span text:style-name="T440"> interpolation. This also means that the order of assignments </text:span><text:span text:style-name="T443">becomes</text:span><text:span text:style-name="T440"> significant.</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">SUBMODELS = 'atmo'</text:p> <text:p text:style-name="Preformatted_20_Text">SUBMODELS += 'ocean'</text:p> <text:p text:style-name="Preformatted_20_Text">SUBMODELS -= 'ocean' <text:span text:style-name="T440"># removes what we just added</text:span></text:p> - <text:p text:style-name="P405">results in ('atmo'), while</text:p> + <text:p text:style-name="P407">results in ('atmo'), while</text:p> <text:p text:style-name="Preformatted_20_Text">SUBMODELS = 'atmo'</text:p> <text:p text:style-name="Preformatted_20_Text">SUBMODELS -= 'ocean' # attempts to remove non-existent items are ignored</text:p> <text:p text:style-name="Preformatted_20_Text">SUBMODELS += 'ocean'</text:p> - <text:p text:style-name="P405">gives ('atmo', 'ocean')</text:p> - <text:h text:style-name="P398" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2544_1114405012"/><text:soft-page-break/>Special expressions<text:bookmark-end text:name="__RefHeading__2544_1114405012"/></text:h> - <text:p text:style-name="P186">For some applications, simply including some other variable is not enough. You might want to compute a time limit from a given constant divided by the number of computing nodes, or convert a time stamp to a list of values. For these purposes, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> includes some special expressions, that are evaluated when interpolation occurs.</text:span></text:p> - <text:p text:style-name="P187"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">eval(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T181">)</text:span><text:span text:style-name="T62"><text:line-break/></text:span><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">evals(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T181">)</text:span></text:p> - <text:p text:style-name="P358"><text:span text:style-name="T92">I</text:span><text:span text:style-name="T121">nterpret </text:span><text:span text:style-name="T41">expression</text:span><text:span text:style-name="T121"> as a valid Python expression and assign the result to </text:span><text:span text:style-name="T41">variable</text:span><text:span text:style-name="T121"> as a string. </text:span><text:span text:style-name="T120">The modules </text:span><text:span text:style-name="T355">'</text:span>os<text:span text:style-name="T355">'</text:span>, <text:span text:style-name="T355">'</text:span>re<text:span text:style-name="T355">'</text:span> and <text:span text:style-name="T355">'</text:span>time<text:span text:style-name="T355">'</text:span> <text:span text:style-name="T120">may be used in </text:span><text:span text:style-name="T40">expression</text:span><text:span text:style-name="T120">. </text:span><text:span text:style-name="T137">Besides, a </text:span><text:span text:style-name="T384">predicate</text:span><text:span text:style-name="T137"> 'is_set' is available to </text:span><text:span text:style-name="T187">test if a string evaluates to</text:span><text:span text:style-name="T57"> true</text:span><text:span text:style-name="T187"> when used as namelist </text:span><text:span text:style-name="T395">logical, </text:span><text:span text:style-name="T396">r</text:span><text:span text:style-name="T395">eturn</text:span><text:span text:style-name="T396">ing</text:span><text:span text:style-name="T406"> false</text:span><text:span text:style-name="T395"> when used on </text:span><text:span text:style-name="T396">'None'.</text:span></text:p> - <text:p text:style-name="P189"><text:span text:style-name="T62">When the result is a list, </text:span><text:span text:style-name="T9">eval</text:span><text:span text:style-name="T62"> will return a list of strings, while </text:span><text:span text:style-name="T9">evals</text:span><text:span text:style-name="T62"> will return a single string, where elements are joined by a comma and a space.</text:span></text:p> - <text:p text:style-name="P188"><text:span text:style-name="T62">Note that interpolation does not work for list values; if you need this, consider to set the original variable </text:span><text:span text:style-name="T89">to a string containing a Python list expression</text:span><text:span text:style-name="T62">, and </text:span><text:span text:style-name="T89">then </text:span><text:span text:style-name="T62">use </text:span><text:span text:style-name="T9">eval</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T102">a</text:span><text:span text:style-name="T62">round the interpolation expression:</text:span></text:p> - <text:p text:style-name="P131">DATE_<text:span text:style-name="T314">STRING</text:span> = '[2010, 10, 20]' # need quotes here!</text:p> - <text:p text:style-name="P131">DATE_<text:span text:style-name="T314">LIST</text:span> = eval($DATE_<text:span text:style-name="T315">STRING</text:span>) # becomes a 3 element list</text:p> - <text:p text:style-name="P64">variable<text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">read(</text:span>file_name<text:span text:style-name="T181">)</text:span></text:p> - <text:p text:style-name="P63"><text:span text:style-name="T62">Read the contents of the file </text:span>file_name<text:span text:style-name="T62"> and assign its contents to </text:span>variable<text:span text:style-name="T62"> as a string.</text:span></text:p> - <text:p text:style-name="P368"><text:span text:style-name="T27">variable</text:span><text:span text:style-name="T90"> = </text:span><text:span text:style-name="T183">split_date(</text:span><text:span text:style-name="T27">timestamp</text:span><text:span text:style-name="T183">)</text:span></text:p> - <text:p text:style-name="P327"><text:span text:style-name="T307">T</text:span>ake <text:span text:style-name="T9">timestamp</text:span><text:span text:style-name="T62"> and split it into a list of numerical date/time elements. </text:span><text:span text:style-name="T9">tim</text:span><text:span text:style-name="T28">e</text:span><text:span text:style-name="T9">stamp</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T91">must have </text:span><text:span text:style-name="T62">an ISO-like format (date elements separated by '-'; 'T' or space as date/time separator; time elements separated by ':</text:span><text:span text:style-name="T91">'; </text:span><text:span text:style-name="T62">trailing time elements </text:span><text:span text:style-name="T92">and their separators </text:span><text:span text:style-name="T91">are optional</text:span><text:span text:style-name="T62">; time zone indicator is not supported). </text:span><text:span text:style-name="T104">Unlike ISO, </text:span><text:span text:style-name="T31">split_date</text:span><text:span text:style-name="T104"> also</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T104">allows the date to be in the form YYYYMMDD</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T92">Unset fields default to zero.</text:span></text:p> - <text:p text:style-name="P369"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">sec2time(</text:span><text:span text:style-name="T9">second_of_day</text:span><text:span text:style-name="T181">)</text:span></text:p> - <text:p text:style-name="P148">Take integer <text:span text:style-name="T9">second_of_day</text:span> (from 0 to 86399) and return the corresponding time stamp as string of the form HH:MM:SS.</text:p> - <text:p text:style-name="P329"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T192">add_years</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> - <text:p text:style-name="P328">Take integer <text:span text:style-name="T9">offset</text:span><text:span text:style-name="T62"> (may be negative), add it to the year portion of </text:span><text:span text:style-name="T9">datestamp</text:span><text:span text:style-name="T62"> and return the resulting date string.</text:span></text:p> - <text:p text:style-name="P332"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T192">add_</text:span><text:span text:style-name="T200">days</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> - <text:p text:style-name="P331"><text:span text:style-name="T62">Take integer </text:span><text:span text:style-name="T9">offset</text:span><text:span text:style-name="T62"> (may be negative), add it to the </text:span><text:span text:style-name="T105">day</text:span><text:span text:style-name="T62"> portion of </text:span><text:span text:style-name="T9">datestamp</text:span><text:span text:style-name="T62"> and return the resulting date string. </text:span><text:span text:style-name="T105">Year and month portions will be set as appropriate, assuming a Proleptic Gregorian calendar with year 0.</text:span></text:p> + <text:p text:style-name="P407">gives ('atmo', 'ocean')</text:p> + <text:h text:style-name="P400" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2544_1114405012"/><text:soft-page-break/>Special expressions<text:bookmark-end text:name="__RefHeading__2544_1114405012"/></text:h> + <text:p text:style-name="P188">For some applications, simply including some other variable is not enough. You might want to compute a time limit from a given constant divided by the number of computing nodes, or convert a time stamp to a list of values. For these purposes, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> includes some special expressions, that are evaluated when interpolation occurs.</text:span></text:p> + <text:p text:style-name="P189"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">eval(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T181">)</text:span><text:span text:style-name="T62"><text:line-break/></text:span><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">evals(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T181">)</text:span></text:p> + <text:p text:style-name="P360"><text:span text:style-name="T92">I</text:span><text:span text:style-name="T121">nterpret </text:span><text:span text:style-name="T41">expression</text:span><text:span text:style-name="T121"> as a valid Python expression and assign the result to </text:span><text:span text:style-name="T41">variable</text:span><text:span text:style-name="T121"> as a string. </text:span><text:span text:style-name="T120">The modules </text:span><text:span text:style-name="T355">'</text:span>os<text:span text:style-name="T355">'</text:span>, <text:span text:style-name="T355">'</text:span>re<text:span text:style-name="T355">'</text:span> and <text:span text:style-name="T355">'</text:span>time<text:span text:style-name="T355">'</text:span> <text:span text:style-name="T120">may be used in </text:span><text:span text:style-name="T40">expression</text:span><text:span text:style-name="T120">. </text:span><text:span text:style-name="T137">Besides, a </text:span><text:span text:style-name="T384">predicate</text:span><text:span text:style-name="T137"> 'is_set' is available to </text:span><text:span text:style-name="T187">test if a string evaluates to</text:span><text:span text:style-name="T57"> true</text:span><text:span text:style-name="T187"> when used as namelist </text:span><text:span text:style-name="T395">logical, </text:span><text:span text:style-name="T396">r</text:span><text:span text:style-name="T395">eturn</text:span><text:span text:style-name="T396">ing</text:span><text:span text:style-name="T406"> false</text:span><text:span text:style-name="T395"> when used on </text:span><text:span text:style-name="T396">'None'.</text:span></text:p> + <text:p text:style-name="P191"><text:span text:style-name="T62">When the result is a list, </text:span><text:span text:style-name="T9">eval</text:span><text:span text:style-name="T62"> will return a list of strings, while </text:span><text:span text:style-name="T9">evals</text:span><text:span text:style-name="T62"> will return a single string, where elements are joined by a comma and a space.</text:span></text:p> + <text:p text:style-name="P190"><text:span text:style-name="T62">Note that interpolation does not work for list values; if you need this, consider to set the original variable </text:span><text:span text:style-name="T89">to a string containing a Python list expression</text:span><text:span text:style-name="T62">, and </text:span><text:span text:style-name="T89">then </text:span><text:span text:style-name="T62">use </text:span><text:span text:style-name="T9">eval</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T102">a</text:span><text:span text:style-name="T62">round the interpolation expression:</text:span></text:p> + <text:p text:style-name="P133">DATE_<text:span text:style-name="T314">STRING</text:span> = '[2010, 10, 20]' # need quotes here!</text:p> + <text:p text:style-name="P133">DATE_<text:span text:style-name="T314">LIST</text:span> = eval($DATE_<text:span text:style-name="T315">STRING</text:span>) # becomes a 3 element list</text:p> + <text:p text:style-name="P65">variable<text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">read(</text:span>file_name<text:span text:style-name="T181">)</text:span></text:p> + <text:p text:style-name="P64"><text:span text:style-name="T62">Read the contents of the file </text:span>file_name<text:span text:style-name="T62"> and assign its contents to </text:span>variable<text:span text:style-name="T62"> as a string.</text:span></text:p> + <text:p text:style-name="P370"><text:span text:style-name="T27">variable</text:span><text:span text:style-name="T90"> = </text:span><text:span text:style-name="T183">split_date(</text:span><text:span text:style-name="T27">timestamp</text:span><text:span text:style-name="T183">)</text:span></text:p> + <text:p text:style-name="P329"><text:span text:style-name="T307">T</text:span>ake <text:span text:style-name="T9">timestamp</text:span><text:span text:style-name="T62"> and split it into a list of numerical date/time elements. </text:span><text:span text:style-name="T9">tim</text:span><text:span text:style-name="T28">e</text:span><text:span text:style-name="T9">stamp</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T91">must have </text:span><text:span text:style-name="T62">an ISO-like format (date elements separated by '-'; 'T' or space as date/time separator; time elements separated by ':</text:span><text:span text:style-name="T91">'; </text:span><text:span text:style-name="T62">trailing time elements </text:span><text:span text:style-name="T92">and their separators </text:span><text:span text:style-name="T91">are optional</text:span><text:span text:style-name="T62">; time zone indicator is not supported). </text:span><text:span text:style-name="T104">Unlike ISO, </text:span><text:span text:style-name="T31">split_date</text:span><text:span text:style-name="T104"> also</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T104">allows the date to be in the form YYYYMMDD</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T92">Unset fields default to zero.</text:span></text:p> + <text:p text:style-name="P371"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T62"> = </text:span><text:span text:style-name="T181">sec2time(</text:span><text:span text:style-name="T9">second_of_day</text:span><text:span text:style-name="T181">)</text:span></text:p> + <text:p text:style-name="P150">Take integer <text:span text:style-name="T9">second_of_day</text:span> (from 0 to 86399) and return the corresponding time stamp as string of the form HH:MM:SS.</text:p> + <text:p text:style-name="P331"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T192">add_years</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> + <text:p text:style-name="P330">Take integer <text:span text:style-name="T9">offset</text:span><text:span text:style-name="T62"> (may be negative), add it to the year portion of </text:span><text:span text:style-name="T9">datestamp</text:span><text:span text:style-name="T62"> and return the resulting date string.</text:span></text:p> + <text:p text:style-name="P334"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T192">add_</text:span><text:span text:style-name="T200">days</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> + <text:p text:style-name="P333"><text:span text:style-name="T62">Take integer </text:span><text:span text:style-name="T9">offset</text:span><text:span text:style-name="T62"> (may be negative), add it to the </text:span><text:span text:style-name="T105">day</text:span><text:span text:style-name="T62"> portion of </text:span><text:span text:style-name="T9">datestamp</text:span><text:span text:style-name="T62"> and return the resulting date string. </text:span><text:span text:style-name="T105">Year and month portions will be set as appropriate, assuming a Proleptic Gregorian calendar with year 0.</text:span></text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2546_1114405012"/><text:soft-page-break/>Format of .tmpl files<text:bookmark-end text:name="__RefHeading__2546_1114405012"/></text:h> - <text:p text:style-name="P39">The .tmpl files are also text files mostly written in the syntax of the job description that <text:span text:style-name="T9">mkexp</text:span> is meant to create. Currently this is usually the ksh or bash shell script syntax, but may also be any other interpreted language, like Perl or Python, or even a configuration or namelist file. The main difference are placeholders and structured comments that are embedded in the program text. These are evaluated or expanded using the information that comes with the .config files, to create the final text files, defining the jobs to be run on the target system.</text:p> - <text:p text:style-name="P39">The expansion of .tmpl files into the job description uses the <text:span text:style-name="T9">Jinja</text:span> Python library. It provides a default set of facilities that can be used to expand any textual template. The proposed default syntax was slightly customized to fit the needs of <text:span text:style-name="T9">mkexp</text:span>.</text:p> + <text:p text:style-name="P40">The .tmpl files are also text files mostly written in the syntax of the job description that <text:span text:style-name="T9">mkexp</text:span> is meant to create. Currently this is usually the ksh or bash shell script syntax, but may also be any other interpreted language, like Perl or Python, or even a configuration or namelist file. The main difference are placeholders and structured comments that are embedded in the program text. These are evaluated or expanded using the information that comes with the .config files, to create the final text files, defining the jobs to be run on the target system.</text:p> + <text:p text:style-name="P40">The expansion of .tmpl files into the job description uses the <text:span text:style-name="T9">Jinja</text:span> Python library. It provides a default set of facilities that can be used to expand any textual template. The proposed default syntax was slightly customized to fit the needs of <text:span text:style-name="T9">mkexp</text:span>.</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2548_1114405012"/>Placeholders<text:bookmark-end text:name="__RefHeading__2548_1114405012"/></text:h> - <text:p text:style-name="P40">The simplest interaction in a template is replacing a template's placeholder by a value from a .config file. <text:span text:style-name="T221">Any name enclosed by '%{' and '}' is taken to be a configuration variable, like in the snippets below:</text:span></text:p> + <text:p text:style-name="P41">The simplest interaction in a template is replacing a template's placeholder by a value from a .config file. <text:span text:style-name="T221">Any name enclosed by '%{' and '}' is taken to be a configuration variable, like in the snippets below:</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">#! /bin/ksh</text:p> <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T222">#</text:span> This script was <text:span text:style-name="T222">crea</text:span>ted by %{NAME}</text:p> - <text:p text:style-name="P49">Here, the placehol<text:span text:style-name="T297">d</text:span>er requests the 'NAME' variable which was set to 'Joe User' in the example .config file <text:span text:style-name="T297">of section </text:span><text:span text:style-name="T297"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span>. This value is now looked up in the <text:span text:style-name="T297">configuration</text:span> and used to textually replace the placeholder expression, yield<text:span text:style-name="T297">ing</text:span> the final text:</text:p> - <text:p text:style-name="P276">#! /bin/ksh</text:p> - <text:p text:style-name="P41"><text:span text:style-name="T223"># </text:span>This script was <text:span text:style-name="T223">crea</text:span>ted by <text:span text:style-name="T221">Joe User</text:span></text:p> + <text:p text:style-name="P50">Here, the placehol<text:span text:style-name="T297">d</text:span>er requests the 'NAME' variable which was set to 'Joe User' in the example .config file <text:span text:style-name="T297">of section </text:span><text:span text:style-name="T297"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span>. This value is now looked up in the <text:span text:style-name="T297">configuration</text:span> and used to textually replace the placeholder expression, yield<text:span text:style-name="T297">ing</text:span> the final text:</text:p> + <text:p text:style-name="P278">#! /bin/ksh</text:p> + <text:p text:style-name="P42"><text:span text:style-name="T223"># </text:span>This script was <text:span text:style-name="T223">crea</text:span>ted by <text:span text:style-name="T221">Joe User</text:span></text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2550_1114405012"/><text:span text:style-name="T225">V</text:span>ariables in sections<text:bookmark-end text:name="__RefHeading__2550_1114405012"/></text:h> - <text:p text:style-name="P42">To request a variable within a section, simply prepend the section name to the variable name, using '.' as separator, as in</text:p> + <text:p text:style-name="P43">To request a variable within a section, simply prepend the section name to the variable name, using '.' as separator, as in</text:p> <text:p text:style-name="Preformatted_20_Text"># %{section1.description}</text:p> - <text:p text:style-name="P42">This is also used for nested sections:</text:p> + <text:p text:style-name="P43">This is also used for nested sections:</text:p> <text:p text:style-name="Preformatted_20_Text"># %{section1.s<text:span text:style-name="T223">ubs</text:span>ection1a.description}</text:p> - <text:p text:style-name="P43">For section names that contain a '.' or spaces (like 'namelist.echam' in the introductory example), instead of the '.' separator, the section name is given as a quoted string in brackets (similar to <text:span text:style-name="T297">Python's dictionary</text:span> syntax):</text:p> - <text:p text:style-name="P309">IS_AMIP_RUN=%{namelists['namelist.echam'].runctl.lamip}</text:p> + <text:p text:style-name="P44">For section names that contain a '.' or spaces (like 'namelist.echam' in the introductory example), instead of the '.' separator, the section name is given as a quoted string in brackets (similar to <text:span text:style-name="T297">Python's dictionary</text:span> syntax):</text:p> + <text:p text:style-name="P311">IS_AMIP_RUN=%{namelists['namelist.echam'].runctl.lamip}</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2552_1114405012"/><text:soft-page-break/>Expressions<text:bookmark-end text:name="__RefHeading__2552_1114405012"/></text:h> - <text:p text:style-name="P42">The placeholders may <text:span text:style-name="T224">also contain more complex expressions, using a limited set of operations that is defined in the </text:span><text:span text:style-name="T13">Jinja</text:span><text:span text:style-name="T224"> documentation. Among these are</text:span></text:p> + <text:p text:style-name="P43">The placeholders may <text:span text:style-name="T224">also contain more complex expressions, using a limited set of operations that is defined in the </text:span><text:span text:style-name="T13">Jinja</text:span><text:span text:style-name="T224"> documentation. Among these are</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_STRING=%{'hello'}</text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_INTEGER=%{42}</text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_FLOAT=%{21.5}</text:p> @@ -3704,411 +3710,412 @@ <text:p text:style-name="Preformatted_20_Text">LITERAL_BOOLEANS=%{false} <text:s/># Always lower-case!</text:p> <text:p text:style-name="Preformatted_20_Text">ARITHMETIC=%{2 + 2 * 2 – 2 / 2} <text:s/># is 5</text:p> <text:p text:style-name="Preformatted_20_Text">STRING_TOGETHER=%{NAME ~ ', employee number ' ~ 42} <text:s/># Converts <text:span text:style-name="T225">42</text:span> to string</text:p> - <text:p text:style-name="P278">LIST_ELEMENT=%{PATH[0]} <text:s/># indices start with 0</text:p> - <text:p text:style-name="P278">LIST_SUBLIST=%{PATH[1:3]}</text:p> + <text:p text:style-name="P280">LIST_ELEMENT=%{PATH[0]} <text:s/># indices start with 0</text:p> + <text:p text:style-name="P280">LIST_SUBLIST=%{PATH[1:3]}</text:p> <text:p text:style-name="Preformatted_20_Text">FILTERED_STRING=%{NAME | <text:span text:style-name="T225">lower()} <text:s/># is 'joe user'</text:span></text:p> - <text:p text:style-name="P210">The last example allows for <text:span text:style-name="T247">a </text:span>number of predefined filters instead of 'lower'. These are described in the <text:span text:style-name="T9">Jinja</text:span> documentation (List of Builtin Filters). <text:span text:style-name="T330">Besides, </text:span><text:span text:style-name="T9">mkexp</text:span> defines <text:s/><text:span text:style-name="T333">a number of </text:span>additional filters:</text:p> - <text:p text:style-name="P268">split<text:span text:style-name="T231">(</text:span><text:span text:style-name="T55">s</text:span><text:span text:style-name="T58">=none</text:span><text:span text:style-name="T184">, </text:span><text:span text:style-name="T55">m</text:span><text:span text:style-name="T184">=-1)</text:span></text:p> - <text:p text:style-name="P149">cuts <text:span text:style-name="T332">the input </text:span>string <text:span text:style-name="T332">at all occurrences of </text:span><text:span text:style-name="T34">s</text:span><text:span text:style-name="T332">, returning</text:span> a list of substrings. <text:span text:style-name="T419">If </text:span><text:span text:style-name="Variable"><text:span text:style-name="T419">s </text:span></text:span><text:span text:style-name="T420">is</text:span><text:span text:style-name="Variable"><text:span text:style-name="T420"> none</text:span></text:span><text:span text:style-name="T419">, substrings are delimited by white space. </text:span><text:span text:style-name="T331">If </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T331"> is positive or zero, it cuts only at the first </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T331"> occurrences; the last element contains the remaining substring:</text:span></text:p> - <text:p text:style-name="P383">%{ 'A<text:span text:style-name="T423">·</text:span>B<text:span text:style-name="T423">··</text:span>C' | <text:span text:style-name="T192">split</text:span><text:span text:style-name="T231">('</text:span><text:span text:style-name="T424">·</text:span><text:span text:style-name="T231">') }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T234"> </text:span><text:span text:style-name="T233">['A', 'B', </text:span><text:span text:style-name="T240">'', </text:span><text:span text:style-name="T233">'C']</text:span></text:p> - <text:p text:style-name="P383">%{ 'A<text:span text:style-name="T423">·</text:span>B<text:span text:style-name="T423">··</text:span>C' | <text:span text:style-name="T231">split</text:span><text:span text:style-name="T192">()</text:span><text:span text:style-name="T231"> }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T234"> </text:span><text:span text:style-name="T233">['A', 'B',</text:span><text:span text:style-name="T240"> </text:span><text:span text:style-name="T233">'C']</text:span></text:p> - <text:p text:style-name="P383"><text:span text:style-name="T233">%{ 'A</text:span><text:span text:style-name="T426">·</text:span><text:span text:style-name="T233">B</text:span><text:span text:style-name="T425">··</text:span><text:span text:style-name="T233">C' | split('</text:span><text:span text:style-name="T425">·</text:span><text:span text:style-name="T233">', </text:span><text:span text:style-name="T202">1</text:span><text:span text:style-name="T233">) } <text:tab/></text:span><text:span text:style-name="T234">→ </text:span><text:span text:style-name="T233">['A', </text:span><text:span text:style-name="T202">'B</text:span><text:span text:style-name="T427">··</text:span><text:span text:style-name="T202">C'</text:span><text:span text:style-name="T233">]</text:span></text:p> - <text:p text:style-name="P333"/> - <text:p text:style-name="P267">filter<text:span text:style-name="T231">()</text:span></text:p> - <text:p text:style-name="P336">removes empty elements from <text:span text:style-name="T332">the input</text:span> list:</text:p> - <text:p text:style-name="P371"><text:span text:style-name="T233">%{ ['A', '', 'C'] | </text:span><text:span text:style-name="T202">filter</text:span><text:span text:style-name="T233">() }<text:tab/>→</text:span><text:span text:style-name="T231"> ['A', 'C']</text:span></text:p> - <text:p text:style-name="P272">match<text:span text:style-name="T231">(</text:span><text:span text:style-name="T55">regexp</text:span><text:span text:style-name="T231">, </text:span><text:span text:style-name="T55">default</text:span><text:span text:style-name="T231">='')</text:span></text:p> - <text:p text:style-name="P271"><text:span text:style-name="T231">returns the input string</text:span><text:span text:style-name="T184">, if </text:span><text:span text:style-name="T55">regexp</text:span><text:span text:style-name="T184"> matches somewhere in it. If </text:span><text:span text:style-name="T55">regexp</text:span><text:span text:style-name="T184"> contains matching groups (parentheses), the substring matching the first group is returned. If no match is found, the </text:span><text:span text:style-name="T55">default</text:span><text:span text:style-name="T184"> string is returned:</text:span></text:p> - <text:p text:style-name="P371"><text:span text:style-name="T184">%{ 'Douglas Adams' | </text:span><text:span text:style-name="T181">match</text:span><text:span text:style-name="T184">('Adam') }<text:tab/><text:tab/>→ 'Douglas Adams'</text:span></text:p> - <text:p text:style-name="P371"><text:span text:style-name="T184">%{ 'Douglas Adams' | match(</text:span><text:span text:style-name="T181">'Eve'</text:span><text:span text:style-name="T184">) }<text:tab/><text:tab/>→ ''</text:span></text:p> - <text:p text:style-name="P371"><text:span text:style-name="T184">%{ 'Douglas Adams' | match('Abel', </text:span><text:span text:style-name="T181">'Cain'</text:span><text:span text:style-name="T184">) }<text:tab/>→ 'Cain'</text:span></text:p> - <text:p text:style-name="P371"><text:span text:style-name="T184">%{ 'Douglas Adams' | match('l</text:span><text:span text:style-name="T181">(.*)</text:span><text:span text:style-name="T184">m') }<text:tab/><text:tab/>→ 'as Ada'</text:span></text:p> - <text:p text:style-name="P370"><text:span text:style-name="T181">wordwrap</text:span><text:span text:style-name="T184">(width=79, break_long_words=true, break_on_hyphens=true, <text:s text:c="2"/><text:line-break/> <text:s text:c="8"/>wrapstring=none)</text:span></text:p> - <text:p text:style-name="P337"><text:span text:style-name="T184">replaces the </text:span><text:span text:style-name="T185">builtin </text:span><text:span text:style-name="T56">Jinja </text:span><text:span text:style-name="T185">filter 'wordwrap' <text:s/>by a private version that allows to suppress breaks on hyphens:</text:span></text:p> - <text:p text:style-name="P150">%{'long-hyphenated-text'|<text:span text:style-name="T192">wordwrap</text:span>(15, false)}</text:p> - <text:p text:style-name="P338"><text:span text:style-name="T185">→</text:span><text:span text:style-name="T184"> 'long- </text:span></text:p> - <text:p text:style-name="P151"><text:s text:c="3"/>hyphenated-text'</text:p> - <text:p text:style-name="P338"><text:soft-page-break/></text:p> - <text:p text:style-name="P150">%{'long-hyphenated-text'|wordwrap(15, false, <text:span text:style-name="T192">false</text:span>)} </text:p> - <text:p text:style-name="P338"><text:span text:style-name="T185">→</text:span><text:span text:style-name="T184"> 'long-</text:span><text:span text:style-name="T185">hyphenated-text'</text:span></text:p> + <text:p text:style-name="P212">The last example allows for <text:span text:style-name="T247">a </text:span>number of predefined filters instead of 'lower'. These are described in the <text:span text:style-name="T9">Jinja</text:span> documentation (List of Builtin Filters). <text:span text:style-name="T330">Besides, </text:span><text:span text:style-name="T9">mkexp</text:span> defines <text:s/><text:span text:style-name="T333">a number of </text:span>additional filters:</text:p> + <text:p text:style-name="P270">split<text:span text:style-name="T231">(</text:span><text:span text:style-name="T55">s</text:span><text:span text:style-name="T58">=none</text:span><text:span text:style-name="T184">, </text:span><text:span text:style-name="T55">m</text:span><text:span text:style-name="T184">=-1)</text:span></text:p> + <text:p text:style-name="P151">cuts <text:span text:style-name="T332">the input </text:span>string <text:span text:style-name="T332">at all occurrences of </text:span><text:span text:style-name="T34">s</text:span><text:span text:style-name="T332">, returning</text:span> a list of substrings. <text:span text:style-name="T419">If </text:span><text:span text:style-name="Variable"><text:span text:style-name="T419">s </text:span></text:span><text:span text:style-name="T420">is</text:span><text:span text:style-name="Variable"><text:span text:style-name="T420"> none</text:span></text:span><text:span text:style-name="T419">, substrings are delimited by white space. </text:span><text:span text:style-name="T331">If </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T331"> is positive or zero, it cuts only at the first </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T331"> occurrences; the last element contains the remaining substring:</text:span></text:p> + <text:p text:style-name="P385">%{ 'A<text:span text:style-name="T423">·</text:span>B<text:span text:style-name="T423">··</text:span>C' | <text:span text:style-name="T192">split</text:span><text:span text:style-name="T231">('</text:span><text:span text:style-name="T424">·</text:span><text:span text:style-name="T231">') }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T234"> </text:span><text:span text:style-name="T233">['A', 'B', </text:span><text:span text:style-name="T240">'', </text:span><text:span text:style-name="T233">'C']</text:span></text:p> + <text:p text:style-name="P385">%{ 'A<text:span text:style-name="T423">·</text:span>B<text:span text:style-name="T423">··</text:span>C' | <text:span text:style-name="T231">split</text:span><text:span text:style-name="T192">()</text:span><text:span text:style-name="T231"> }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T234"> </text:span><text:span text:style-name="T233">['A', 'B',</text:span><text:span text:style-name="T240"> </text:span><text:span text:style-name="T233">'C']</text:span></text:p> + <text:p text:style-name="P385"><text:span text:style-name="T233">%{ 'A</text:span><text:span text:style-name="T426">·</text:span><text:span text:style-name="T233">B</text:span><text:span text:style-name="T425">··</text:span><text:span text:style-name="T233">C' | split('</text:span><text:span text:style-name="T425">·</text:span><text:span text:style-name="T233">', </text:span><text:span text:style-name="T202">1</text:span><text:span text:style-name="T233">) } <text:tab/></text:span><text:span text:style-name="T234">→ </text:span><text:span text:style-name="T233">['A', </text:span><text:span text:style-name="T202">'B</text:span><text:span text:style-name="T427">··</text:span><text:span text:style-name="T202">C'</text:span><text:span text:style-name="T233">]</text:span></text:p> + <text:p text:style-name="P335"/> + <text:p text:style-name="P269">filter<text:span text:style-name="T231">()</text:span></text:p> + <text:p text:style-name="P338">removes empty elements from <text:span text:style-name="T332">the input</text:span> list:</text:p> + <text:p text:style-name="P373"><text:span text:style-name="T233">%{ ['A', '', 'C'] | </text:span><text:span text:style-name="T202">filter</text:span><text:span text:style-name="T233">() }<text:tab/>→</text:span><text:span text:style-name="T231"> ['A', 'C']</text:span></text:p> + <text:p text:style-name="P274">match<text:span text:style-name="T231">(</text:span><text:span text:style-name="T55">regexp</text:span><text:span text:style-name="T231">, </text:span><text:span text:style-name="T55">default</text:span><text:span text:style-name="T231">='')</text:span></text:p> + <text:p text:style-name="P273"><text:span text:style-name="T231">returns the input string</text:span><text:span text:style-name="T184">, if </text:span><text:span text:style-name="T55">regexp</text:span><text:span text:style-name="T184"> matches somewhere in it. If </text:span><text:span text:style-name="T55">regexp</text:span><text:span text:style-name="T184"> contains matching groups (parentheses), the substring matching the first group is returned. If no match is found, the </text:span><text:span text:style-name="T55">default</text:span><text:span text:style-name="T184"> string is returned:</text:span></text:p> + <text:p text:style-name="P373"><text:span text:style-name="T184">%{ 'Douglas Adams' | </text:span><text:span text:style-name="T181">match</text:span><text:span text:style-name="T184">('Adam') }<text:tab/><text:tab/>→ 'Douglas Adams'</text:span></text:p> + <text:p text:style-name="P373"><text:span text:style-name="T184">%{ 'Douglas Adams' | match(</text:span><text:span text:style-name="T181">'Eve'</text:span><text:span text:style-name="T184">) }<text:tab/><text:tab/>→ ''</text:span></text:p> + <text:p text:style-name="P373"><text:span text:style-name="T184">%{ 'Douglas Adams' | match('Abel', </text:span><text:span text:style-name="T181">'Cain'</text:span><text:span text:style-name="T184">) }<text:tab/>→ 'Cain'</text:span></text:p> + <text:p text:style-name="P373"><text:span text:style-name="T184">%{ 'Douglas Adams' | match('l</text:span><text:span text:style-name="T181">(.*)</text:span><text:span text:style-name="T184">m') }<text:tab/><text:tab/>→ 'as Ada'</text:span></text:p> + <text:p text:style-name="P372"><text:span text:style-name="T181">wordwrap</text:span><text:span text:style-name="T184">(width=79, break_long_words=true, break_on_hyphens=true, <text:s text:c="2"/><text:line-break/> <text:s text:c="8"/>wrapstring=none)</text:span></text:p> + <text:p text:style-name="P339"><text:span text:style-name="T184">replaces the </text:span><text:span text:style-name="T185">builtin </text:span><text:span text:style-name="T56">Jinja </text:span><text:span text:style-name="T185">filter 'wordwrap' <text:s/>by a private version that allows to suppress breaks on hyphens:</text:span></text:p> + <text:p text:style-name="P152">%{'long-hyphenated-text'|<text:span text:style-name="T192">wordwrap</text:span>(15, false)}</text:p> + <text:p text:style-name="P340"><text:span text:style-name="T185">→</text:span><text:span text:style-name="T184"> 'long- </text:span></text:p> + <text:p text:style-name="P153"><text:s text:c="3"/>hyphenated-text'</text:p> + <text:p text:style-name="P340"><text:soft-page-break/></text:p> + <text:p text:style-name="P152">%{'long-hyphenated-text'|wordwrap(15, false, <text:span text:style-name="T192">false</text:span>)} </text:p> + <text:p text:style-name="P340"><text:span text:style-name="T185">→</text:span><text:span text:style-name="T184"> 'long-</text:span><text:span text:style-name="T185">hyphenated-text'</text:span></text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2554_1114405012"/>Loops<text:bookmark-end text:name="__RefHeading__2554_1114405012"/></text:h> - <text:p text:style-name="P44">Text in a template may be used repeatedly, like a classical 'for' loop. Loops are defined by structured comments <text:span text:style-name="T316">i.e. lines </text:span>beginning with '#%'. <text:span text:style-name="T316">They </text:span>start with '#% for … <text:span text:style-name="T228">in …:</text:span>' and end in '#% endfor':</text:p> + <text:p text:style-name="P45">Text in a template may be used repeatedly, like a classical 'for' loop. Loops are defined by structured comments <text:span text:style-name="T316">i.e. lines </text:span>beginning with '#%'. <text:span text:style-name="T316">They </text:span>start with '#% for … <text:span text:style-name="T228">in …:</text:span>' and end in '#% endfor':</text:p> <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T192">#% for</text:span> countdown <text:span text:style-name="T192">in</text:span> [3, 2, 1, '<text:span text:style-name="T316">liftoff</text:span>']<text:span text:style-name="T192">:</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">echo %{countdown}</text:p> - <text:p text:style-name="P257">#% endfor</text:p> - <text:p text:style-name="P44">will <text:span text:style-name="T226">be expanded by </text:span><text:span text:style-name="T30">mkexp</text:span><text:span text:style-name="T226"> to </text:span>yield</text:p> + <text:p text:style-name="P259">#% endfor</text:p> + <text:p text:style-name="P45">will <text:span text:style-name="T226">be expanded by </text:span><text:span text:style-name="T30">mkexp</text:span><text:span text:style-name="T226"> to </text:span>yield</text:p> <text:p text:style-name="Preformatted_20_Text">echo 3</text:p> <text:p text:style-name="Preformatted_20_Text">echo 2</text:p> <text:p text:style-name="Preformatted_20_Text">echo 1</text:p> <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T316">liftoff</text:span></text:p> - <text:p text:style-name="P47"><text:span text:style-name="T228">You may of course use expressions in the loop definition. </text:span>For classical, index based loops, there is a 'range' function as in Python, <text:span text:style-name="T228">and the size of a list is queried with the 'length' filter</text:span>.</text:p> - <text:p text:style-name="P277">#% for index in <text:span text:style-name="T192">range(1, </text:span><text:span text:style-name="T195">PATH|length()</text:span><text:span text:style-name="T192">)</text:span> <text:s/><text:span text:style-name="T228"># PATH was defined in </text:span><text:span text:style-name="T228"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span></text:p> + <text:p text:style-name="P48"><text:span text:style-name="T228">You may of course use expressions in the loop definition. </text:span>For classical, index based loops, there is a 'range' function as in Python, <text:span text:style-name="T228">and the size of a list is queried with the 'length' filter</text:span>.</text:p> + <text:p text:style-name="P279">#% for index in <text:span text:style-name="T192">range(1, </text:span><text:span text:style-name="T195">PATH|length()</text:span><text:span text:style-name="T192">)</text:span> <text:s/><text:span text:style-name="T228"># PATH was defined in </text:span><text:span text:style-name="T228"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span></text:p> <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T228">echo</text:span> %<text:span text:style-name="T229">{index}: </text:span>%{<text:span text:style-name="T228">PATH[</text:span>index<text:span text:style-name="T228">]</text:span>} <text:s/></text:p> <text:p text:style-name="Preformatted_20_Text">#% endfor</text:p> <text:p text:style-name="Text_20_body">Note that <text:span text:style-name="T227">indexing of lists starts at 0,</text:span> <text:span text:style-name="T227">i.e. the first element of the PATH list is skipped. Besides, </text:span>the stop index <text:span text:style-name="T229">is</text:span> not included, i.e. <text:span text:style-name="T228">as PATH has a length of 3, </text:span>the last looping has index <text:span text:style-name="T227">2</text:span>:</text:p> <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T229">1: </text:span>/usr/bin </text:p> <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T229">2: </text:span>/usr/local/bin </text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2556_1114405012"/>Condition<text:span text:style-name="T226">s</text:span><text:bookmark-end text:name="__RefHeading__2556_1114405012"/></text:h> - <text:p text:style-name="P45">A template may contain alternative parts <text:span text:style-name="T229">that are selected depending on the .config data</text:span>, <text:span text:style-name="T229">similar to an 'if' statement. This is useful for e.g. skipping certain parts of the script template that are not applicable to runs of a given resolution but required for others. They are also implemented as structured comments, starting with '#% if …:' and ending in '#% endif', with optional '#% elif …:' and '#% else:' parts.</text:span></text:p> - <text:p text:style-name="P46"><text:span text:style-name="T229">For testing, you may use expressions with comparisons (==, !=, >, >=, <, <=), querying a certain list element (… in …), and logical operators (and, or, not). Sub-expressions may be parenthesized to change the order of evaluation. Besides, </text:span><text:span text:style-name="T14">Jinja</text:span><text:span text:style-name="T229"> provides a number of named tests that use the '… is …' Syntax.</text:span></text:p> + <text:p text:style-name="P46">A template may contain alternative parts <text:span text:style-name="T229">that are selected depending on the .config data</text:span>, <text:span text:style-name="T229">similar to an 'if' statement. This is useful for e.g. skipping certain parts of the script template that are not applicable to runs of a given resolution but required for others. They are also implemented as structured comments, starting with '#% if …:' and ending in '#% endif', with optional '#% elif …:' and '#% else:' parts.</text:span></text:p> + <text:p text:style-name="P47"><text:span text:style-name="T229">For testing, you may use expressions with comparisons (==, !=, >, >=, <, <=), querying a certain list element (… in …), and logical operators (and, or, not). Sub-expressions may be parenthesized to change the order of evaluation. Besides, </text:span><text:span text:style-name="T14">Jinja</text:span><text:span text:style-name="T229"> provides a number of named tests that use the '… is …' Syntax.</text:span></text:p> <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T192">#% if </text:span><text:span text:style-name="T232">PATH|length()</text:span><text:span text:style-name="T230"> </text:span><text:span text:style-name="T196">is divisibleby 3:</text:span></text:p> - <text:p text:style-name="P279">diff3 %{PATH[:3]|join(' ')}</text:p> - <text:p text:style-name="P260"><text:soft-page-break/>#% elif <text:span text:style-name="T232">PATH|length()</text:span> is even:</text:p> - <text:p text:style-name="P278">diff %{PATH[:2]|join(' ')}</text:p> - <text:p text:style-name="P257">#% else:</text:p> + <text:p text:style-name="P281">diff3 %{PATH[:3]|join(' ')}</text:p> + <text:p text:style-name="P262"><text:soft-page-break/>#% elif <text:span text:style-name="T232">PATH|length()</text:span> is even:</text:p> + <text:p text:style-name="P280">diff %{PATH[:2]|join(' ')}</text:p> + <text:p text:style-name="P259">#% else:</text:p> <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T245">cannot handle PATH</text:span></text:p> - <text:p text:style-name="P257">#% endif</text:p> - <text:p text:style-name="P55">If PATH is defined as in the examples above, this will result in</text:p> + <text:p text:style-name="P259">#% endif</text:p> + <text:p text:style-name="P56">If PATH is defined as in the examples above, this will result in</text:p> <text:p text:style-name="Preformatted_20_Text">diff3 /bin /usr/bin /usr/local/bin</text:p> - <text:p text:style-name="P234"><text:span text:style-name="T229">For a list of available tests, see the </text:span><text:span text:style-name="T15">Jinja</text:span><text:span text:style-name="T246"> documentation. </text:span><text:span text:style-name="T330">Besides, </text:span><text:span text:style-name="T15">mkexp</text:span><text:span text:style-name="T246"> defines </text:span><text:span text:style-name="T333">a</text:span><text:span text:style-name="T416">n</text:span><text:span text:style-name="T333"> </text:span><text:span text:style-name="T246">additional </text:span><text:span text:style-name="T399">test</text:span><text:span text:style-name="T246">:</text:span></text:p> - <text:p text:style-name="P236"><text:span text:style-name="T277">set</text:span><text:span text:style-name="T233">(</text:span><text:span text:style-name="T186">)</text:span></text:p> - <text:p text:style-name="P235"><text:span text:style-name="T187">tests if a string evaluates to</text:span><text:span text:style-name="T57"> true</text:span><text:span text:style-name="T187"> when used as namelist </text:span><text:span text:style-name="T395">logical</text:span><text:span text:style-name="T187">. Returns</text:span><text:span text:style-name="T57"> false</text:span><text:span text:style-name="T187"> when used on an undefined variable:</text:span></text:p> - <text:p text:style-name="P237"><text:span text:style-name="T416">'</text:span><text:span text:style-name="T239">.true.</text:span><text:span text:style-name="T416">' </text:span><text:span text:style-name="T206">is set</text:span><text:span text:style-name="T231"><text:tab/><text:tab/>→</text:span><text:span text:style-name="T234"> </text:span><text:span text:style-name="T268">true</text:span></text:p> - <text:p text:style-name="P237"><text:span text:style-name="T239">'T' </text:span><text:span text:style-name="T206">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T233"><text:tab/></text:span><text:span text:style-name="T234">→ </text:span><text:span text:style-name="T268">true</text:span></text:p> - <text:p text:style-name="P237"><text:span text:style-name="T268">'fAlSe' </text:span><text:span text:style-name="T277">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T269">→ </text:span><text:span text:style-name="T268">false</text:span></text:p> - <text:p text:style-name="P237"><text:span text:style-name="T268">un</text:span><text:span text:style-name="T270">known_var</text:span><text:span text:style-name="T268"> </text:span><text:span text:style-name="T277">is set<text:tab/></text:span><text:span text:style-name="T269">→ </text:span><text:span text:style-name="T268">false</text:span></text:p> - <text:p text:style-name="P335"/> + <text:p text:style-name="P236"><text:span text:style-name="T229">For a list of available tests, see the </text:span><text:span text:style-name="T15">Jinja</text:span><text:span text:style-name="T246"> documentation. </text:span><text:span text:style-name="T330">Besides, </text:span><text:span text:style-name="T15">mkexp</text:span><text:span text:style-name="T246"> defines </text:span><text:span text:style-name="T333">a</text:span><text:span text:style-name="T416">n</text:span><text:span text:style-name="T333"> </text:span><text:span text:style-name="T246">additional </text:span><text:span text:style-name="T399">test</text:span><text:span text:style-name="T246">:</text:span></text:p> + <text:p text:style-name="P238"><text:span text:style-name="T277">set</text:span><text:span text:style-name="T233">(</text:span><text:span text:style-name="T186">)</text:span></text:p> + <text:p text:style-name="P237"><text:span text:style-name="T187">tests if a string evaluates to</text:span><text:span text:style-name="T57"> true</text:span><text:span text:style-name="T187"> when used as namelist </text:span><text:span text:style-name="T395">logical</text:span><text:span text:style-name="T187">. Returns</text:span><text:span text:style-name="T57"> false</text:span><text:span text:style-name="T187"> when used on an undefined variable:</text:span></text:p> + <text:p text:style-name="P239"><text:span text:style-name="T416">'</text:span><text:span text:style-name="T239">.true.</text:span><text:span text:style-name="T416">' </text:span><text:span text:style-name="T206">is set</text:span><text:span text:style-name="T231"><text:tab/><text:tab/>→</text:span><text:span text:style-name="T234"> </text:span><text:span text:style-name="T268">true</text:span></text:p> + <text:p text:style-name="P239"><text:span text:style-name="T239">'T' </text:span><text:span text:style-name="T206">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T233"><text:tab/></text:span><text:span text:style-name="T234">→ </text:span><text:span text:style-name="T268">true</text:span></text:p> + <text:p text:style-name="P239"><text:span text:style-name="T268">'fAlSe' </text:span><text:span text:style-name="T277">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T269">→ </text:span><text:span text:style-name="T268">false</text:span></text:p> + <text:p text:style-name="P239"><text:span text:style-name="T268">un</text:span><text:span text:style-name="T270">known_var</text:span><text:span text:style-name="T268"> </text:span><text:span text:style-name="T277">is set<text:tab/></text:span><text:span text:style-name="T269">→ </text:span><text:span text:style-name="T268">false</text:span></text:p> + <text:p text:style-name="P337"/> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2558_1114405012"/>Comments<text:bookmark-end text:name="__RefHeading__2558_1114405012"/></text:h> - <text:p text:style-name="P152"><text:span text:style-name="T9">Jinj</text:span>a also allows template comments that are removed when the template is expanded. This is implemented as another kind of structured comment starting with <text:span text:style-name="T317">'#%</text:span>#':</text:p> + <text:p text:style-name="P154"><text:span text:style-name="T9">Jinj</text:span>a also allows template comments that are removed when the template is expanded. This is implemented as another kind of structured comment starting with <text:span text:style-name="T317">'#%</text:span>#':</text:p> <text:p text:style-name="Preformatted_20_Text"># This comment will make it to the expanded script</text:p> <text:p text:style-name="Preformatted_20_Text">#%# This one will not make it <text:span text:style-name="T255">and is for template documentation only</text:span></text:p> - <text:h text:style-name="P217" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3658_1790556471"/>Block statements and block comments<text:bookmark-end text:name="__RefHeading___Toc3658_1790556471"/></text:h> - <text:p text:style-name="P216">For templates that contain more <text:span text:style-name="T9">Jinja</text:span><text:span text:style-name="T62"> code than actual output lines, a variant of the standard </text:span><text:span text:style-name="T9">Jinja </text:span><text:span text:style-name="T62">block synta</text:span><text:span text:style-name="T118">x i</text:span><text:span text:style-name="T62">s available for both statements and comments</text:span><text:span text:style-name="T62"><text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body> - <text:p text:style-name="P395">The standard <text:span text:style-name="T9">Jinja</text:span><text:span text:style-name="T62"> comment syntax '{#' collides with the Bourne shell idiom for variable size, '$â </text:span><text:span text:style-name="T190">{#</text:span><text:span text:style-name="T184">var</text:span><text:span text:style-name="T62">}'. </text:span><text:span text:style-name="T118">Standard b</text:span><text:span text:style-name="T62">lock statement syntax '{%' gives problems when </text:span><text:span text:style-name="T118">mkexp </text:span><text:span text:style-name="T62">template variables </text:span><text:span text:style-name="T118">'%{var}' </text:span><text:span text:style-name="T62">are used </text:span><text:span text:style-name="T118">in</text:span><text:span text:style-name="T62"> shell variable </text:span><text:span text:style-name="T118">expansions</text:span><text:span text:style-name="T62">, like '$</text:span><text:span text:style-name="T190">{%</text:span><text:span text:style-name="T62">{</text:span><text:span text:style-name="T118">var}:-default}'</text:span></text:p></text:note-body></text:note></text:span><text:span text:style-name="T62">. Block statements begin with '{%__mkexp__' and end with '%}', block comments begin with '{#__mkexp__' and end with '#}'.</text:span></text:p> - <text:h text:style-name="P394" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2560_1114405012"/>Standard experiment<text:span text:style-name="T60">s</text:span><text:bookmark-end text:name="__RefHeading__2560_1114405012"/></text:h> - <text:p text:style-name="P29">When generating an experiment setup, <text:span text:style-name="T9">mkexp</text:span> expects the .config and .tmpl files to reside in a subdirectory of the current working directory, called <text:span text:style-name="T449">'mkexp/types'</text:span><text:span text:style-name="T449"><text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>3</text:note-citation><text:note-body> + <text:h text:style-name="P219" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3658_1790556471"/>Block statements and block comments<text:bookmark-end text:name="__RefHeading___Toc3658_1790556471"/></text:h> + <text:p text:style-name="P218">For templates that contain more <text:span text:style-name="T9">Jinja</text:span><text:span text:style-name="T62"> code than actual output lines, a variant of the standard </text:span><text:span text:style-name="T9">Jinja </text:span><text:span text:style-name="T62">block synta</text:span><text:span text:style-name="T118">x i</text:span><text:span text:style-name="T62">s available for both statements and comments</text:span><text:span text:style-name="T62"><text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body> + <text:p text:style-name="P397">The standard <text:span text:style-name="T9">Jinja</text:span><text:span text:style-name="T62"> comment syntax '{#' collides with the Bourne shell idiom for variable size, '$â </text:span><text:span text:style-name="T190">{#</text:span><text:span text:style-name="T184">var</text:span><text:span text:style-name="T62">}'. </text:span><text:span text:style-name="T118">Standard b</text:span><text:span text:style-name="T62">lock statement syntax '{%' gives problems when </text:span><text:span text:style-name="T118">mkexp </text:span><text:span text:style-name="T62">template variables </text:span><text:span text:style-name="T118">'%{var}' </text:span><text:span text:style-name="T62">are used </text:span><text:span text:style-name="T118">in</text:span><text:span text:style-name="T62"> shell variable </text:span><text:span text:style-name="T118">expansions</text:span><text:span text:style-name="T62">, like '$</text:span><text:span text:style-name="T190">{%</text:span><text:span text:style-name="T62">{</text:span><text:span text:style-name="T118">var}:-default}'</text:span></text:p></text:note-body></text:note></text:span><text:span text:style-name="T62">. Block statements begin with '{%__mkexp__' and end with '%}', block comments begin with '{#__mkexp__' and end with '#}'.</text:span></text:p> + <text:h text:style-name="P396" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2560_1114405012"/>Standard experiment<text:span text:style-name="T60">s</text:span><text:bookmark-end text:name="__RefHeading__2560_1114405012"/></text:h> + <text:p text:style-name="P30">When generating an experiment setup, <text:span text:style-name="T9">mkexp</text:span> expects the .config and .tmpl files to reside in a subdirectory of the current working directory, called <text:span text:style-name="T449">'mkexp/types'</text:span><text:span text:style-name="T449"><text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>3</text:note-citation><text:note-body> <text:p text:style-name="Footnote"><text:span text:style-name="T449">Since 1.4.1, this replaces </text:span>'standard_experiments' <text:span text:style-name="T449">which </text:span>is no longer recommended</text:p></text:note-body></text:note></text:span><text:span text:style-name="T449">.</text:span></text:p> - <text:p text:style-name="P23"><text:span text:style-name="T8">The definition of a standard experiment type </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8"> may consist of a configuration in </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.config and a number of </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.</text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8">.tmpl files, one for each subsection </text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8"> of the jobs section. Before reading </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.config, the special </text:span><text:soft-page-break/><text:span text:style-name="T8">DEFAULT.config is loaded, containing the model default settings. Both .config and .tmpl files may be missing; the default is to read only DEFAULT.config or the corresponding DEFAULT.</text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8">.tmpl file instead.</text:span></text:p> + <text:p text:style-name="P452"><text:span text:style-name="T8">The definition of a standard experiment type </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8"> may consist of a configuration in </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.config and a number of </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.</text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8">.tmpl files, one for each subsection </text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8"> of the jobs section.</text:span></text:p> + <text:p text:style-name="P452"><text:soft-page-break/><text:span text:style-name="T8">Before reading </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.config, the special DEFAULT.config is loaded, containing the model default settings. Both .config and .tmpl files may be missing; the default is to read only DEFAULT.config or the corresponding DEFAULT.</text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8">.tmpl file instead. </text:span><text:span text:style-name="T451">These files reside in their own subdirectory, 'mkexp/defaults'.</text:span></text:p> <text:p text:style-name="P24"><text:span text:style-name="T61">The name of a</text:span>n experiment type may <text:span text:style-name="T61">be of the form </text:span><text:span text:style-name="T11">experimentkind</text:span><text:span text:style-name="T63">‑</text:span><text:span text:style-name="T11">experimentquality</text:span><text:span text:style-name="T63">, as in amip‑LR above. In this case, the experiment type is supposed to be of a certain </text:span><text:span text:style-name="T11">quality</text:span><text:span text:style-name="T63">, like a given model resolution (LR), but to share the overall experiment structure with all types of the same </text:span><text:span text:style-name="T11">kind</text:span><text:span text:style-name="T63"> (amip). Therefore, the .config files take the full name, </text:span><text:span text:style-name="T11">experimentkind</text:span><text:span text:style-name="T63">‑</text:span><text:span text:style-name="T11">experimentquality</text:span><text:span text:style-name="T63">.config, whereas the templates are defined as </text:span><text:span text:style-name="T11">experimentkind</text:span><text:span text:style-name="T63">.</text:span><text:span text:style-name="T11">jobname</text:span><text:span text:style-name="T63">.tmpl, independent of the requested quality.</text:span></text:p> <text:p text:style-name="P20">An experiment configuration must contain the special variable EXP_TYPE, set to the name of experiment type to use.</text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2562_1114405012"/>Standard options<text:bookmark-end text:name="__RefHeading__2562_1114405012"/></text:h> <text:p text:style-name="P24">Besides the standard experiment types, <text:span text:style-name="T9">mkexp</text:span> also supports option sets that are independent of the experiment type chosen.</text:p> - <text:p text:style-name="P24">Usually these option sets contain a number of settings needed for a certain technical aspect, e.g. for changing the output interval or aggregation method for output data, or providing resolution dependent model settings. They reside in a subdirectory '<text:span text:style-name="T449">mkexp/</text:span>options'<text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>4</text:note-citation><text:note-body> - <text:p text:style-name="P422"><text:span text:style-name="T449">Since 1.4.1, this replaces </text:span>'standard_<text:span text:style-name="T449">option</text:span>s' <text:span text:style-name="T449">which </text:span>is no longer recommended</text:p></text:note-body></text:note> of the current working directory, each in their respective <text:span text:style-name="T9">optionname</text:span>.config file.</text:p> + <text:p text:style-name="P24">Usually these option sets contain a number of settings needed for a certain technical aspect, e.g. for changing the output interval or aggregation method for output data, or providing resolution dependent model settings. They reside in a subdirectory '<text:span text:style-name="T449">mkexp/</text:span>options'<text:note text:id="ftn4" text:note-class="footnote"><text:note-citation>4</text:note-citation><text:note-body> + <text:p text:style-name="P418"><text:span text:style-name="T449">Since 1.4.1, this replaces </text:span>'standard_<text:span text:style-name="T449">option</text:span>s' <text:span text:style-name="T449">which </text:span>is no longer recommended</text:p></text:note-body></text:note> of the current working directory, each in their respective <text:span text:style-name="T9">optionname</text:span>.config file.</text:p> <text:p text:style-name="P24">Within the experiment's .config file, options are selected by setting the variable EXP_OPTIONS to the list of required option names. These settings are loaded after the experiment type configuration but before the user defined experiment configuration.</text:p> - <text:h text:style-name="P213" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3660_1790556471"/><text:span text:style-name="T337">O</text:span>ptions set due to model configuration <text:bookmark-end text:name="__RefHeading___Toc3660_1790556471"/></text:h> - <text:p text:style-name="P211">Some options may need to be set <text:span text:style-name="T336">for all experiments that use a given </text:span>model configuration. <text:span text:style-name="T336">If e.g. a part of the model is disabled at build time, the corresponding option set should also be disabled for all experiments.</text:span></text:p> - <text:p text:style-name="P212">For this, the build process may write an optional file 'SETUP.config' <text:s/>that is read before any type or user configuration. If this file contains the variable SETUP_OPTIONS, the options listed there will be loaded before loading the EXP_OPTIONS list. Do not override SETUP_OPTIONS in the user configuration unless you know what you are doing!</text:p> - <text:h text:style-name="P393" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1508_1711940803"/>Generating <text:span text:style-name="T284">j</text:span>obs<text:bookmark-end text:name="__RefHeading__1508_1711940803"/></text:h> - <text:p text:style-name="P67">When<text:span text:style-name="T251"> </text:span>running <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T156">, </text:span><text:span text:style-name="T157">the special configuration section [jobs]</text:span><text:span text:style-name="T52"> </text:span><text:span text:style-name="T157">is read and evaluated. Each of its subsections, e.g. [[run]], defines a job definition file or job script to be </text:span><text:soft-page-break/><text:span text:style-name="T157">created.</text:span></text:p> - <text:p text:style-name="P72"># <text:span text:style-name="T252">model setup: experiment type 'control'</text:span></text:p> - <text:p text:style-name="P92">[jobs]</text:p> - <text:p text:style-name="P92"><text:s text:c="2"/>[[pre]]</text:p> - <text:p text:style-name="P92"><text:s text:c="2"/>[[run]]</text:p> - <text:p text:style-name="P92"><text:s text:c="2"/>[[post]]</text:p> - <text:p text:style-name="P69"><text:span text:style-name="T157">For each of </text:span><text:span text:style-name="T159">the jobs defined in the model setup above</text:span><text:span text:style-name="T157">, there </text:span><text:span text:style-name="T159">must</text:span><text:span text:style-name="T157"> be a template file in the model setup, </text:span><text:span text:style-name="T159">e.g. for [[run]] </text:span><text:span text:style-name="T157">either as 'control.run.tmpl' or 'DEFAULT.run.tmpl'. </text:span><text:span text:style-name="T158">The corresponding</text:span><text:span text:style-name="T157"> file is expanded to its final form using the </text:span><text:span text:style-name="T158">full</text:span><text:span text:style-name="T157"> experiment configuration, </text:span><text:span text:style-name="T158">as described before</text:span><text:span text:style-name="T157">. Besides, the </text:span><text:span text:style-name="T158">job specific </text:span><text:span text:style-name="T157">variable</text:span><text:span text:style-name="T158">s</text:span><text:span text:style-name="T157"> </text:span><text:span text:style-name="T158">are set and passed according to their respective template</text:span><text:span text:style-name="T157">.</text:span></text:p> - <text:p text:style-name="P70"><text:span text:style-name="T160">The resulting job scripts are </text:span><text:span text:style-name="T159">written to the directory defined by SCRIPT_DIR, </text:span><text:span text:style-name="T160">e.g. </text:span><text:span text:style-name="T159">as 'joe1234.run'. </text:span><text:span text:style-name="T174">They </text:span><text:span text:style-name="T160">a</text:span><text:span text:style-name="T174">re</text:span><text:span text:style-name="T160"> marked as being executable </text:span><text:span text:style-name="T174">unless the variable '.exec' is set to 'false'</text:span><text:span text:style-name="T160"> </text:span><text:span text:style-name="T174">as in</text:span></text:p> - <text:p text:style-name="P415">[jobs]</text:p> - <text:p text:style-name="P415"><text:s text:c="2"/>[[info]]</text:p> - <text:p text:style-name="P417"><text:s text:c="4"/>.exec = false</text:p> - <text:p text:style-name="P70"><text:span text:style-name="T166">Besides, as mentioned before, the contents of the special variable EXP_DESCRIPTION is written to a README file in that same directory. </text:span><text:span text:style-name="T169">Also, an update script is created that allows to re-generate all output files with identical environment and command line settings by simply running './update' from the script directory.</text:span></text:p> + <text:h text:style-name="P215" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3660_1790556471"/><text:span text:style-name="T337">O</text:span>ptions set due to model configuration <text:bookmark-end text:name="__RefHeading___Toc3660_1790556471"/></text:h> + <text:p text:style-name="P213">Some options may need to be set <text:span text:style-name="T336">for all experiments that use a given </text:span>model configuration. <text:span text:style-name="T336">If e.g. a part of the model is disabled at build time, the corresponding option set should also be disabled for all experiments.</text:span></text:p> + <text:p text:style-name="P214">For this, the build process may write an optional file 'SETUP.config' <text:s/>that is read before any type or user configuration. If this file contains the variable SETUP_OPTIONS, the options listed there will be loaded before loading the EXP_OPTIONS list. Do not override SETUP_OPTIONS in the user configuration unless you know what you are doing!</text:p> + <text:h text:style-name="P395" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1508_1711940803"/>Generating <text:span text:style-name="T284">j</text:span>obs<text:bookmark-end text:name="__RefHeading__1508_1711940803"/></text:h> + <text:p text:style-name="P68">When<text:span text:style-name="T251"> </text:span>running <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T156">, </text:span><text:span text:style-name="T157">the special configuration section [jobs]</text:span><text:span text:style-name="T52"> </text:span><text:span text:style-name="T157">is read and evaluated. </text:span><text:soft-page-break/><text:span text:style-name="T157">Each of its subsections, e.g. [[run]], defines a job definition file or job script to be </text:span><text:span text:style-name="T157">created.</text:span></text:p> + <text:p text:style-name="P73"># <text:span text:style-name="T252">model setup: experiment type 'control'</text:span></text:p> + <text:p text:style-name="P93">[jobs]</text:p> + <text:p text:style-name="P93"><text:s text:c="2"/>[[pre]]</text:p> + <text:p text:style-name="P93"><text:s text:c="2"/>[[run]]</text:p> + <text:p text:style-name="P93"><text:s text:c="2"/>[[post]]</text:p> + <text:p text:style-name="P70"><text:span text:style-name="T157">For each of </text:span><text:span text:style-name="T159">the jobs defined in the model setup above</text:span><text:span text:style-name="T157">, there </text:span><text:span text:style-name="T159">must</text:span><text:span text:style-name="T157"> be a template file in the model setup, </text:span><text:span text:style-name="T159">e.g. for [[run]] </text:span><text:span text:style-name="T157">either as 'control.run.tmpl' or 'DEFAULT.run.tmpl'. </text:span><text:span text:style-name="T158">The corresponding</text:span><text:span text:style-name="T157"> file is expanded to its final form using the </text:span><text:span text:style-name="T158">full</text:span><text:span text:style-name="T157"> experiment configuration, </text:span><text:span text:style-name="T158">as described before</text:span><text:span text:style-name="T157">. Besides, the </text:span><text:span text:style-name="T158">job specific </text:span><text:span text:style-name="T157">variable</text:span><text:span text:style-name="T158">s</text:span><text:span text:style-name="T157"> </text:span><text:span text:style-name="T158">are set and passed according to their respective template</text:span><text:span text:style-name="T157">.</text:span></text:p> + <text:p text:style-name="P71"><text:span text:style-name="T160">The resulting job scripts are </text:span><text:span text:style-name="T159">written to the directory defined by SCRIPT_DIR, </text:span><text:span text:style-name="T160">e.g. </text:span><text:span text:style-name="T159">as 'joe1234.run'. </text:span><text:span text:style-name="T174">They </text:span><text:span text:style-name="T160">a</text:span><text:span text:style-name="T174">re</text:span><text:span text:style-name="T160"> marked as being executable </text:span><text:span text:style-name="T174">unless the variable '.exec' is set to 'false'</text:span><text:span text:style-name="T160"> </text:span><text:span text:style-name="T174">as in</text:span></text:p> + <text:p text:style-name="P417">[jobs]</text:p> + <text:p text:style-name="P417"><text:s text:c="2"/>[[info]]</text:p> + <text:p text:style-name="P102"><text:s text:c="4"/>.exec = false</text:p> + <text:p text:style-name="P71"><text:span text:style-name="T166">Besides, as mentioned before, the contents of the special variable EXP_DESCRIPTION is written to a README file in that same directory. </text:span><text:span text:style-name="T169">Also, an update script is created that allows to re-generate all output files with identical environment and command line settings by simply running './update' from the script directory.</text:span></text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2566_1114405012"/><text:span text:style-name="T160">C</text:span><text:span text:style-name="T156">hanging the model job list</text:span><text:bookmark-end text:name="__RefHeading__2566_1114405012"/></text:h> - <text:p text:style-name="P71"><text:span text:style-name="T157">U</text:span><text:span text:style-name="T156">sually, the job list is defined in the model setup. The user may chose to add </text:span><text:span text:style-name="T162">jobs </text:span><text:span text:style-name="T156">and delete jobs from this list as appropriate. While adding a job is straightforward, removing a job uses a special section variable '.remove' (note the leading period). It </text:span><text:span text:style-name="T162">is</text:span><text:span text:style-name="T156"> defined in the [jobs] section and contains a list of the jobs to be suppressed.</text:span></text:p> - <text:p text:style-name="P92"># joe1234.config</text:p> - <text:p text:style-name="P92">EXP_TYPE = control</text:p> - <text:p text:style-name="P92">[jobs]</text:p> - <text:p text:style-name="P92"><text:s text:c="2"/>.remove = post, pre</text:p> - <text:p text:style-name="P92"><text:s text:c="2"/>[[my_pre]]</text:p> - <text:p text:style-name="P92"><text:s text:c="2"/>[[my_post]]</text:p> - <text:p text:style-name="P79">This way, the 'pre' and 'post' jobs will not be created in favor of two new jobs, 'my_pre' and 'my_post'. In this case, the user setup must provide two templates 'joe1234.my_pre.tmpl' and 'joe1234.my_post.tmpl', together with the .config file.</text:p> - <text:p text:style-name="P73">Alternatively, you may want to introduce a new 'my_p<text:span text:style-name="T253">ost</text:span>' job, that is basically the same as the old 'p<text:span text:style-name="T253">ost</text:span>' job but uses a slightly different configuration. This may be done using the special section variable '.extends'.</text:p> - <text:p text:style-name="P92">[jobs]</text:p> - <text:p text:style-name="P280"><text:soft-page-break/><text:span text:style-name="T156"><text:s text:c="2"/>[[my_p</text:span><text:span text:style-name="T161">ost</text:span><text:span text:style-name="T156">]]</text:span></text:p> - <text:p text:style-name="P280"><text:span text:style-name="T156"><text:s text:c="4"/>.</text:span><text:span text:style-name="T160">extends</text:span><text:span text:style-name="T156"> = p</text:span><text:span text:style-name="T161">ost</text:span></text:p> - <text:p text:style-name="P82"><text:s text:c="4"/>command = $HOME/bin/my_special_command</text:p> - <text:p text:style-name="P80">With this configuration, an additional 'joe1234.my_post' is created based on the existing 'post' template. A dedicated 'joe1234.my_post.tmpl' file is not needed here. The 'command' setting is <text:span text:style-name="T254">made available </text:span>to <text:span text:style-name="T254">the template via the</text:span> 'JOB' dictionary.</text:p> - <text:h text:style-name="P91" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2568_1114405012"/>Pre-defined job variables<text:bookmark-end text:name="__RefHeading__2568_1114405012"/></text:h> - <text:p text:style-name="P88">While <text:span text:style-name="T9">mkexp</text:span> in general does not impose any naming convention on the variable names used in the job sections and leaves the details to the respective model setup, there are a few exceptions.</text:p> - <text:p text:style-name="P98">tasks</text:p> - <text:p text:style-name="P90">The total number of parallel (MPI) tasks that will be started when running the model. If a job section does not define 'tasks', its value defaults to 'nodes' times 'tasks_per_node'. Some models require that 'tasks' may explicitly be set to some artificial value to trigger the testing mode.</text:p> - <text:p text:style-name="P89">nodes</text:p> - <text:p text:style-name="P90">Number of computing nodes required on the computing system. Needed if 'tasks' is not set.</text:p> - <text:p text:style-name="P89">tasks_per_node</text:p> - <text:p text:style-name="P90">Number of parallel (MPI) tasks on a single node. Needed if 'tasks' is not set.</text:p> - <text:h text:style-name="P99" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2570_1114405012"/>Overriding namelist settings in derived jobs<text:bookmark-end text:name="__RefHeading__2570_1114405012"/></text:h> - <text:p text:style-name="P80">There is special provision to change namelist files settings for a specific job. Consider this setting from the introductory example.</text:p> - <text:p text:style-name="P75">[namelists]</text:p> - <text:p text:style-name="P254"><text:s text:c="2"/>[[namelist.jsbach]]</text:p> - <text:p text:style-name="P254"><text:s text:c="4"/>[[[jsbach_ctl]]]</text:p> - <text:p text:style-name="P254"><text:s text:c="6"/>use_dynveg = false</text:p> - <text:p text:style-name="P74"><text:span text:style-name="T156">If – for some reason – your experiments needs 'use_dynveg' set to 'true' for the first year only, you may create an additional 'run_first' job, </text:span><text:span text:style-name="T162">with a job specific namelists subsection that – apart from the addition</text:span><text:span text:style-name="T164">al</text:span><text:span text:style-name="T162"> brackets – has the same structure as</text:span><text:span text:style-name="T156"> </text:span><text:span text:style-name="T162">the global namelists section.</text:span></text:p> - <text:p text:style-name="P75">[jobs]</text:p> - <text:p text:style-name="P75"><text:s text:c="2"/>[[run_first]]</text:p> - <text:p text:style-name="P75"><text:s text:c="4"/>.extends = run</text:p> - <text:p text:style-name="P75"><text:s text:c="4"/><text:span text:style-name="T192">[[[namelists]]</text:span><text:span text:style-name="T201">]</text:span></text:p> - <text:p text:style-name="P254"><text:s text:c="6"/><text:span text:style-name="T253">[[</text:span>[[namelist.jsbach]]<text:span text:style-name="T253">]]</text:span></text:p> - <text:p text:style-name="P254"><text:s text:c="8"/><text:span text:style-name="T253">[[</text:span>[[[jsbach_ctl]]]<text:span text:style-name="T253">]]</text:span></text:p> - <text:p text:style-name="P254"><text:span text:style-name="T156"><text:s text:c="10"/>use_dynveg = </text:span><text:span text:style-name="T161">true</text:span></text:p> - <text:p text:style-name="P74"><text:span text:style-name="T162">This</text:span><text:span text:style-name="T156"> will result in a 'joe1234.run_first' file that is identical to 'joe1234.run' except for the 'use_dynveg' setting.</text:span></text:p> - <text:h text:style-name="P99" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2572_1114405012"/><text:soft-page-break/>Native script variables<text:bookmark-end text:name="__RefHeading__2572_1114405012"/></text:h> - <text:p text:style-name="P78"><text:span text:style-name="T156">While the definition of .config variables may use</text:span><text:span text:style-name="T163"> variable references like</text:span><text:span text:style-name="T156"> $NAME or ${NAME} to include the </text:span><text:span text:style-name="T163">verbatim </text:span><text:span text:style-name="T156">value of other .config variables, this may not always be what you want. If you want to create a job </text:span><text:span text:style-name="T163">script</text:span><text:span text:style-name="T156"> that is supposed to be 'user-serviceable' for certain applications, the users will not appreciate having to change the same value several times in the same script. </text:span><text:span text:style-name="T163">Instead they will want to have a single, native script variable that is used throughout the job script, and that may be re-defined on a single line.</text:span></text:p> - <text:p text:style-name="P83">To allow this, <text:span text:style-name="T9">mkexp</text:span> locates all expressions like $${NAME} in the configuration values, and re-formats them to the syntax of the current job script:</text:p> - <text:p text:style-name="P92"># joe1234.config</text:p> - <text:p text:style-name="P92">NAME = Joe User</text:p> + <text:p text:style-name="P72"><text:span text:style-name="T157">U</text:span><text:span text:style-name="T156">sually, the job list is defined in the model setup. The user may chose to add </text:span><text:span text:style-name="T162">jobs </text:span><text:span text:style-name="T156">and delete jobs from this list as appropriate. While adding a job is straightforward, removing a job uses a special section variable '.remove' (note the leading period). It </text:span><text:span text:style-name="T162">is</text:span><text:span text:style-name="T156"> defined in the [jobs] section and contains a list of the jobs to be suppressed.</text:span></text:p> + <text:p text:style-name="P93"># joe1234.config</text:p> + <text:p text:style-name="P93">EXP_TYPE = control</text:p> + <text:p text:style-name="P93">[jobs]</text:p> + <text:p text:style-name="P93"><text:s text:c="2"/>.remove = post, pre</text:p> + <text:p text:style-name="P93"><text:s text:c="2"/>[[my_pre]]</text:p> + <text:p text:style-name="P93"><text:s text:c="2"/>[[my_post]]</text:p> + <text:p text:style-name="P80">This way, the 'pre' and 'post' jobs will not be created in favor of two new jobs, 'my_pre' and 'my_post'. In this case, the user setup must provide two templates 'joe1234.my_pre.tmpl' and 'joe1234.my_post.tmpl', together with the .config file.</text:p> + <text:p text:style-name="P74">Alternatively, you may want to introduce a new 'my_p<text:span text:style-name="T253">ost</text:span>' job, that is basically the same as the old 'p<text:span text:style-name="T253">ost</text:span>' job but uses a slightly different configuration. This may be done using the special section variable '.extends'.</text:p> + <text:p text:style-name="P93"><text:soft-page-break/>[jobs]</text:p> + <text:p text:style-name="P282"><text:span text:style-name="T156"><text:s text:c="2"/>[[my_p</text:span><text:span text:style-name="T161">ost</text:span><text:span text:style-name="T156">]]</text:span></text:p> + <text:p text:style-name="P282"><text:span text:style-name="T156"><text:s text:c="4"/>.</text:span><text:span text:style-name="T160">extends</text:span><text:span text:style-name="T156"> = p</text:span><text:span text:style-name="T161">ost</text:span></text:p> + <text:p text:style-name="P83"><text:s text:c="4"/>command = $HOME/bin/my_special_command</text:p> + <text:p text:style-name="P81">With this configuration, an additional 'joe1234.my_post' is created based on the existing 'post' template. A dedicated 'joe1234.my_post.tmpl' file is not needed here. The 'command' setting is <text:span text:style-name="T254">made available </text:span>to <text:span text:style-name="T254">the template via the</text:span> 'JOB' dictionary.</text:p> + <text:h text:style-name="P92" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2568_1114405012"/>Pre-defined job variables<text:bookmark-end text:name="__RefHeading__2568_1114405012"/></text:h> + <text:p text:style-name="P89">While <text:span text:style-name="T9">mkexp</text:span> in general does not impose any naming convention on the variable names used in the job sections and leaves the details to the respective model setup, there are a few exceptions.</text:p> + <text:p text:style-name="P99">tasks</text:p> + <text:p text:style-name="P91">The total number of parallel (MPI) tasks that will be started when running the model. If a job section does not define 'tasks', its value defaults to 'nodes' times 'tasks_per_node'. Some models require that 'tasks' may explicitly be set to some artificial value to trigger the testing mode.</text:p> + <text:p text:style-name="P90">nodes</text:p> + <text:p text:style-name="P91">Number of computing nodes required on the computing system. Needed if 'tasks' is not set.</text:p> + <text:p text:style-name="P90">tasks_per_node</text:p> + <text:p text:style-name="P91">Number of parallel (MPI) tasks on a single node. Needed if 'tasks' is not set.</text:p> + <text:h text:style-name="P100" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2570_1114405012"/>Overriding namelist settings in derived jobs<text:bookmark-end text:name="__RefHeading__2570_1114405012"/></text:h> + <text:p text:style-name="P81">There is special provision to change namelist files settings for a specific job. Consider this setting from the introductory example.</text:p> + <text:p text:style-name="P76">[namelists]</text:p> + <text:p text:style-name="P256"><text:s text:c="2"/>[[namelist.jsbach]]</text:p> + <text:p text:style-name="P256"><text:s text:c="4"/>[[[jsbach_ctl]]]</text:p> + <text:p text:style-name="P256"><text:s text:c="6"/>use_dynveg = false</text:p> + <text:p text:style-name="P75"><text:span text:style-name="T156">If – for some reason – your experiments needs 'use_dynveg' set to 'true' for the first year only, you may create an additional 'run_first' job, </text:span><text:span text:style-name="T162">with a job specific namelists subsection that – apart from the addition</text:span><text:span text:style-name="T164">al</text:span><text:span text:style-name="T162"> brackets – has the same structure as</text:span><text:span text:style-name="T156"> </text:span><text:span text:style-name="T162">the global namelists section.</text:span></text:p> + <text:p text:style-name="P76">[jobs]</text:p> + <text:p text:style-name="P76"><text:s text:c="2"/>[[run_first]]</text:p> + <text:p text:style-name="P76"><text:s text:c="4"/>.extends = run</text:p> + <text:p text:style-name="P76"><text:s text:c="4"/><text:span text:style-name="T192">[[[namelists]]</text:span><text:span text:style-name="T201">]</text:span></text:p> + <text:p text:style-name="P256"><text:s text:c="6"/><text:span text:style-name="T253">[[</text:span>[[namelist.jsbach]]<text:span text:style-name="T253">]]</text:span></text:p> + <text:p text:style-name="P256"><text:s text:c="8"/><text:span text:style-name="T253">[[</text:span>[[[jsbach_ctl]]]<text:span text:style-name="T253">]]</text:span></text:p> + <text:p text:style-name="P256"><text:span text:style-name="T156"><text:s text:c="10"/>use_dynveg = </text:span><text:span text:style-name="T161">true</text:span></text:p> + <text:p text:style-name="P75"><text:span text:style-name="T162">This</text:span><text:span text:style-name="T156"> will result in a 'joe1234.run_first' file that is identical to 'joe1234.run' except for the 'use_dynveg' setting.</text:span></text:p> + <text:h text:style-name="P100" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2572_1114405012"/><text:soft-page-break/>Native script variables<text:bookmark-end text:name="__RefHeading__2572_1114405012"/></text:h> + <text:p text:style-name="P79"><text:span text:style-name="T156">While the definition of .config variables may use</text:span><text:span text:style-name="T163"> variable references like</text:span><text:span text:style-name="T156"> $NAME or ${NAME} to include the </text:span><text:span text:style-name="T163">verbatim </text:span><text:span text:style-name="T156">value of other .config variables, this may not always be what you want. If you want to create a job </text:span><text:span text:style-name="T163">script</text:span><text:span text:style-name="T156"> that is supposed to be 'user-serviceable' for certain applications, the users will not appreciate having to change the same value several times in the same script. </text:span><text:span text:style-name="T163">Instead they will want to have a single, native script variable that is used throughout the job script, and that may be re-defined on a single line.</text:span></text:p> + <text:p text:style-name="P84">To allow this, <text:span text:style-name="T9">mkexp</text:span> locates all expressions like $${NAME} in the configuration values, and re-formats them to the syntax of the current job script:</text:p> + <text:p text:style-name="P93"># joe1234.config</text:p> + <text:p text:style-name="P93">NAME = Joe User</text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt">MESSAGE = This experiment was generated by $${NAME}</text:p> - <text:p text:style-name="P96">#%# joe1234.job.tmpl</text:p> - <text:p text:style-name="P92">#! /bin/sh</text:p> - <text:p text:style-name="P94">NAME='%{NAME}'</text:p> - <text:p text:style-name="P92">echo %{MESSAGE}</text:p> - <text:p text:style-name="P83">By default, <text:span text:style-name="T255">native variables are formatted as </text:span>shell script, namely ${NAME}:</text:p> + <text:p text:style-name="P97">#%# joe1234.job.tmpl</text:p> <text:p text:style-name="P93">#! /bin/sh</text:p> - <text:p text:style-name="P96">NAME='Joe User'</text:p> - <text:p text:style-name="P85">echo This experiment was generated by ${NAME}</text:p> - <text:p text:style-name="P84"><text:span text:style-name="T283">T</text:span>o support variable reference<text:span text:style-name="T282">s for other script languages, a</text:span> job specific variable '.var_format' may be defined. <text:span text:style-name="T282">It defines an output format string where any occurrence of '%s' will be replaced by the respective variable name. </text:span>For a Python based script, <text:span text:style-name="T255">this may look like:</text:span></text:p> - <text:p text:style-name="P95"># joe1234.config</text:p> - <text:p text:style-name="P95">NAME = Joe User</text:p> - <text:p text:style-name="P95">MESSAGE = This experiment was generated by $${NAME}</text:p> - <text:p text:style-name="P281">[jobs]</text:p> + <text:p text:style-name="P95">NAME='%{NAME}'</text:p> + <text:p text:style-name="P93">echo %{MESSAGE}</text:p> + <text:p text:style-name="P84">By default, <text:span text:style-name="T255">native variables are formatted as </text:span>shell script, namely ${NAME}:</text:p> + <text:p text:style-name="P94">#! /bin/sh</text:p> + <text:p text:style-name="P97">NAME='Joe User'</text:p> + <text:p text:style-name="P86">echo This experiment was generated by ${NAME}</text:p> + <text:p text:style-name="P85"><text:span text:style-name="T283">T</text:span>o support variable reference<text:span text:style-name="T282">s for other script languages, a</text:span> job specific variable '.var_format' may be defined. <text:span text:style-name="T282">It defines an output format string where any occurrence of '%s' will be replaced by the respective variable name. </text:span>For a Python based script, <text:span text:style-name="T255">this may look like:</text:span></text:p> + <text:p text:style-name="P96"># joe1234.config</text:p> + <text:p text:style-name="P96">NAME = Joe User</text:p> + <text:p text:style-name="P96">MESSAGE = This experiment was generated by $${NAME}</text:p> + <text:p text:style-name="P283">[jobs]</text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="2"/>[[job]]</text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/>.var_format = <text:span text:style-name="T258">"</text:span><text:span text:style-name="T256">' + str(</text:span>%s<text:span text:style-name="T281">)</text:span> <text:span text:style-name="T256">+ '</text:span><text:span text:style-name="T258">"</text:span></text:p> - <text:p text:style-name="P96">#%# joe1234.job.tmpl</text:p> - <text:p text:style-name="P282">#! /usr/bin/env python </text:p> + <text:p text:style-name="P97">#%# joe1234.job.tmpl</text:p> + <text:p text:style-name="P284">#! /usr/bin/env python </text:p> <text:p text:style-name="Preformatted_20_Text">NAME = '%{NAME}' </text:p> <text:p text:style-name="Preformatted_20_Text">print<text:span text:style-name="T318">(</text:span>'%{MESSAGE}'<text:span text:style-name="T318">)</text:span> </text:p> - <text:p text:style-name="P153">This setup will expand to</text:p> - <text:p text:style-name="P282">#! /usr/bin/env python </text:p> - <text:p text:style-name="P282">NAME = '<text:span text:style-name="T281">Joe User</text:span>' </text:p> - <text:p text:style-name="P154">print<text:span text:style-name="T318">(</text:span>'<text:span text:style-name="T156">This experiment was generated by </text:span><text:span text:style-name="T165">' + str(</text:span><text:span text:style-name="T156">NAME) </text:span><text:span text:style-name="T165">+ '</text:span>'<text:span text:style-name="T318">)</text:span></text:p> - <text:h text:style-name="P157" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2574_1114405012"/><text:soft-page-break/>Initializing native script variables<text:bookmark-end text:name="__RefHeading__2574_1114405012"/></text:h> - <text:p text:style-name="P156">In the previous section, the native variables were initialized by an addition<text:span text:style-name="T285">al script line. While this is sufficient for a small number of variables, it may be difficult to maintain these initialization lines for a more complex setup with changing requirements.</text:span></text:p> - <text:p text:style-name="P156"><text:span text:style-name="T286">To allow a self-maintaining variable list based on the current configuration, </text:span><text:span text:style-name="T20">mkexp</text:span><text:span text:style-name="T286"> maintains the special variable VARIABLES_. When generating output for</text:span></text:p> - <text:p text:style-name="P97">NAME = Joe User</text:p> - <text:p text:style-name="P87">EMAIL = joe@domain.tld</text:p> - <text:p text:style-name="P283"><text:span text:style-name="T156">MESSAGE = This experiment was generated by $${NAME} </text:span><text:span text:style-name="T167"><$${EMAIL}></text:span></text:p> - <text:p text:style-name="P158"><text:span text:style-name="T51">mkexp</text:span><text:span text:style-name="T156"> will parse all values, recognize 'NAME' and 'EMAIL' as native variables, and </text:span><text:span text:style-name="T168">will </text:span><text:span text:style-name="T156">put their names in the VARIABLES_ list. Now we may use the 'for' template directive to generate an additional line for each member of VARIABLES_. To query the value for a given variable name, </text:span><text:span text:style-name="T51">mkexp</text:span><text:span text:style-name="T156"> provides the 'context' function, such that the template</text:span></text:p> - <text:p text:style-name="P97">#! /bin/sh</text:p> - <text:p text:style-name="P87">#%# for <text:span text:style-name="T192">variable</text:span> in <text:span text:style-name="T192">VARIABLES_</text:span>:</text:p> - <text:p text:style-name="P87">%{<text:span text:style-name="T192">variable</text:span>}='%{<text:span text:style-name="T192">context(variable)</text:span>}'</text:p> - <text:p text:style-name="P87">#%# endfor</text:p> - <text:p text:style-name="P87">echo <text:span text:style-name="T257">"</text:span>%{MESSAGE}<text:span text:style-name="T257">"</text:span></text:p> - <text:p text:style-name="P86">eventually yields</text:p> - <text:p text:style-name="P97">#! /bin/sh</text:p> - <text:p text:style-name="P283"><text:span text:style-name="T176">EMAIL</text:span><text:span text:style-name="T180">='</text:span><text:span text:style-name="T176">joe@domain.tld</text:span><text:span text:style-name="T180">'</text:span></text:p> - <text:p text:style-name="P283"><text:span text:style-name="T175">NAME</text:span><text:span text:style-name="T179">=</text:span><text:span text:style-name="T180">'</text:span><text:span text:style-name="T175">Joe User</text:span><text:span text:style-name="T180">'</text:span></text:p> - <text:p text:style-name="P283"><text:span text:style-name="T167">echo </text:span><text:span text:style-name="T259">"This experiment was generated by ${NAME} <${EMAIL}>"</text:span></text:p> - <text:p text:style-name="P160">Note that the order of variable names is not necessarily the order in which they were defined in the .config file.</text:p> + <text:p text:style-name="P155">This setup will expand to</text:p> + <text:p text:style-name="P284">#! /usr/bin/env python </text:p> + <text:p text:style-name="P284">NAME = '<text:span text:style-name="T281">Joe User</text:span>' </text:p> + <text:p text:style-name="P156">print<text:span text:style-name="T318">(</text:span>'<text:span text:style-name="T156">This experiment was generated by </text:span><text:span text:style-name="T165">' + str(</text:span><text:span text:style-name="T156">NAME) </text:span><text:span text:style-name="T165">+ '</text:span>'<text:span text:style-name="T318">)</text:span></text:p> + <text:h text:style-name="P159" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2574_1114405012"/><text:soft-page-break/>Initializing native script variables<text:bookmark-end text:name="__RefHeading__2574_1114405012"/></text:h> + <text:p text:style-name="P158">In the previous section, the native variables were initialized by an addition<text:span text:style-name="T285">al script line. While this is sufficient for a small number of variables, it may be difficult to maintain these initialization lines for a more complex setup with changing requirements.</text:span></text:p> + <text:p text:style-name="P158"><text:span text:style-name="T286">To allow a self-maintaining variable list based on the current configuration, </text:span><text:span text:style-name="T20">mkexp</text:span><text:span text:style-name="T286"> maintains the special variable VARIABLES_. When generating output for</text:span></text:p> + <text:p text:style-name="P98">NAME = Joe User</text:p> + <text:p text:style-name="P88">EMAIL = joe@domain.tld</text:p> + <text:p text:style-name="P285"><text:span text:style-name="T156">MESSAGE = This experiment was generated by $${NAME} </text:span><text:span text:style-name="T167"><$${EMAIL}></text:span></text:p> + <text:p text:style-name="P160"><text:span text:style-name="T51">mkexp</text:span><text:span text:style-name="T156"> will parse all values, recognize 'NAME' and 'EMAIL' as native variables, and </text:span><text:span text:style-name="T168">will </text:span><text:span text:style-name="T156">put their names in the VARIABLES_ list. Now we may use the 'for' template directive to generate an additional line for each member of VARIABLES_. To query the value for a given variable name, </text:span><text:span text:style-name="T51">mkexp</text:span><text:span text:style-name="T156"> provides the 'context' function, such that the template</text:span></text:p> + <text:p text:style-name="P98">#! /bin/sh</text:p> + <text:p text:style-name="P88">#%# for <text:span text:style-name="T192">variable</text:span> in <text:span text:style-name="T192">VARIABLES_</text:span>:</text:p> + <text:p text:style-name="P88">%{<text:span text:style-name="T192">variable</text:span>}='%{<text:span text:style-name="T192">context(variable)</text:span>}'</text:p> + <text:p text:style-name="P88">#%# endfor</text:p> + <text:p text:style-name="P88">echo <text:span text:style-name="T257">"</text:span>%{MESSAGE}<text:span text:style-name="T257">"</text:span></text:p> + <text:p text:style-name="P87">eventually yields</text:p> + <text:p text:style-name="P98">#! /bin/sh</text:p> + <text:p text:style-name="P285"><text:span text:style-name="T176">EMAIL</text:span><text:span text:style-name="T180">='</text:span><text:span text:style-name="T176">joe@domain.tld</text:span><text:span text:style-name="T180">'</text:span></text:p> + <text:p text:style-name="P285"><text:span text:style-name="T175">NAME</text:span><text:span text:style-name="T179">=</text:span><text:span text:style-name="T180">'</text:span><text:span text:style-name="T175">Joe User</text:span><text:span text:style-name="T180">'</text:span></text:p> + <text:p text:style-name="P285"><text:span text:style-name="T167">echo </text:span><text:span text:style-name="T259">"This experiment was generated by ${NAME} <${EMAIL}>"</text:span></text:p> + <text:p text:style-name="P162">Note that the order of variable names is not necessarily the order in which they were defined in the .config file.</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2576_1114405012"/>Re-generation of <text:span text:style-name="T284">s</text:span>cripts and <text:span text:style-name="T284">b</text:span>ackup<text:bookmark-end text:name="__RefHeading__2576_1114405012"/></text:h> - <text:p text:style-name="P155">Even the simplest user setup may contain an error. In this case, it is considered good practice to fix this error in the user setup, and to rerun <text:span text:style-name="T9">mkexp.</text:span><text:span text:style-name="T62"> If you want to be really good, you might even start a new experiment from the previous one's restart data.</text:span></text:p> - <text:p text:style-name="P201"><text:span text:style-name="T72">A</text:span><text:span text:style-name="T62">s a convenient short-cut, </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> provides the script 'update' in the script directory. It may be called instead of going back to the 'run' and re-running </text:span><text:span text:style-name="T9">mkexp </text:span><text:span text:style-name="T62">directly. The update script records all command line settings and environment settings that were used for running </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> so that './update' reg</text:span><text:span text:style-name="T107">e</text:span><text:span text:style-name="T62">nerates the scripts exactly as they were created, without having to re-construct the exact settings. Like mkexp, update allows to set or change variables on the command line, e.g.</text:span></text:p> - <text:p text:style-name="P108">./update FINAL_DATE=2015-12-31</text:p> - <text:p text:style-name="P201"><text:soft-page-break/>may be used to regenerate scripts with a new final date. Note that these settings are also recorded, i.e. running just './update' the next time will again set FINAL_DATE.</text:p> - <text:p text:style-name="P155"><text:span text:style-name="T62">Of course, there is also the possibility to </text:span><text:span text:style-name="T72">change</text:span><text:span text:style-name="T62"> the </text:span><text:span text:style-name="T19">generated</text:span><text:span text:style-name="T71"> </text:span><text:span text:style-name="T62">job scripts directly, and then go on. This is fine as long as the required setting is using a native variable or is otherwise easily editable. On the other hand, </text:span><text:span text:style-name="T73">facing</text:span><text:span text:style-name="T62"> the next </text:span><text:span text:style-name="T73">change,</text:span><text:span text:style-name="T62"> this might not be the case, so eventually you </text:span><text:span text:style-name="T71">may</text:span><text:span text:style-name="T62"> need to re-generate the whole thing. What now about those manual changes to the job scripts?</text:span></text:p> - <text:p text:style-name="P155"><text:span text:style-name="T62">Whenever </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> sees existing job scripts while trying to generate the new description, it will automatically create backup files. They are placed in a subdirectory of SCRIPT_DIR, named 'backup'. </text:span><text:span text:style-name="T71">Also, the scripts for each regeneration are bundled in their own subdirectory, named after the current date-time stamp. </text:span><text:span text:style-name="T72">This way you may easily compare old and new scripts to evaluate and possibly transfer any manual changes </text:span><text:span text:style-name="T107">after a necessary regeneration</text:span><text:span text:style-name="T72">.</text:span></text:p> + <text:p text:style-name="P157">Even the simplest user setup may contain an error. In this case, it is considered good practice to fix this error in the user setup, and to rerun <text:span text:style-name="T9">mkexp.</text:span><text:span text:style-name="T62"> If you want to be really good, you might even start a new experiment from the previous one's restart data.</text:span></text:p> + <text:p text:style-name="P203"><text:span text:style-name="T72">A</text:span><text:span text:style-name="T62">s a convenient short-cut, </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> provides the script 'update' in the script directory. It may be called instead of going back to the 'run' and re-running </text:span><text:span text:style-name="T9">mkexp </text:span><text:span text:style-name="T62">directly. The update script records all command line settings and environment settings that were used for running </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> so that './update' reg</text:span><text:span text:style-name="T107">e</text:span><text:span text:style-name="T62">nerates the scripts exactly as they were created, without having to re-construct the exact settings. Like mkexp, update allows to set or change variables on the command line, e.g.</text:span></text:p> + <text:p text:style-name="P110">./update FINAL_DATE=2015-12-31</text:p> + <text:p text:style-name="P203"><text:soft-page-break/>may be used to regenerate scripts with a new final date. Note that these settings are also recorded, i.e. running just './update' the next time will again set FINAL_DATE.</text:p> + <text:p text:style-name="P157"><text:span text:style-name="T62">Of course, there is also the possibility to </text:span><text:span text:style-name="T72">change</text:span><text:span text:style-name="T62"> the </text:span><text:span text:style-name="T19">generated</text:span><text:span text:style-name="T71"> </text:span><text:span text:style-name="T62">job scripts directly, and then go on. This is fine as long as the required setting is using a native variable or is otherwise easily editable. On the other hand, </text:span><text:span text:style-name="T73">facing</text:span><text:span text:style-name="T62"> the next </text:span><text:span text:style-name="T73">change,</text:span><text:span text:style-name="T62"> this might not be the case, so eventually you </text:span><text:span text:style-name="T71">may</text:span><text:span text:style-name="T62"> need to re-generate the whole thing. What now about those manual changes to the job scripts?</text:span></text:p> + <text:p text:style-name="P157"><text:span text:style-name="T62">Whenever </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> sees existing job scripts while trying to generate the new description, it will automatically create backup files. They are placed in a subdirectory of SCRIPT_DIR, named 'backup'. </text:span><text:span text:style-name="T71">Also, the scripts for each regeneration are bundled in their own subdirectory, named after the current date-time stamp. </text:span><text:span text:style-name="T72">This way you may easily compare old and new scripts to evaluate and possibly transfer any manual changes </text:span><text:span text:style-name="T107">after a necessary regeneration</text:span><text:span text:style-name="T72">.</text:span></text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2564_1114405012"/>Standard environments<text:bookmark-end text:name="__RefHeading__2564_1114405012"/></text:h> <text:p text:style-name="P25">The above examples neglect an important feature <text:span text:style-name="T191">of job descriptions, namely the system or machine dependent set up. Different computing centers use different job control software and naming conventions, might provide different versions of the same software at differing locations. This needs to be handled in a way that is independent of the other configuration as far as possible.</text:span></text:p> - <text:p text:style-name="P451">For this, a standard environment, like a standard experiment, consists of a .config file and a corresponding template. <text:span text:style-name="T60">They reside in a subdirectory '</text:span><text:span text:style-name="T449">mkexp/</text:span><text:span text:style-name="T450">environment</text:span><text:span text:style-name="T60">s'</text:span><text:span text:style-name="T60"><text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>5</text:note-citation><text:note-body> - <text:p text:style-name="P422"><text:span text:style-name="T449">Since 1.4.1, this replaces </text:span>'standard_<text:span text:style-name="T450">environment</text:span>s' <text:span text:style-name="T449">which </text:span>is no longer recommended</text:p></text:note-body></text:note></text:span><text:span text:style-name="T60"> of the current working directory.</text:span></text:p> - <text:p text:style-name="P451">The <text:span text:style-name="T9">environmentname</text:span>.config file contains settings like directory paths or a description of machine capacities for job control.</text:p> + <text:p text:style-name="P27">For this, a standard environment, like a standard experiment, consists of a .config file and a corresponding template. <text:span text:style-name="T60">They reside in a subdirectory '</text:span><text:span text:style-name="T449">mkexp/</text:span><text:span text:style-name="T450">environment</text:span><text:span text:style-name="T60">s'</text:span><text:span text:style-name="T60"><text:note text:id="ftn5" text:note-class="footnote"><text:note-citation>5</text:note-citation><text:note-body> + <text:p text:style-name="P418"><text:span text:style-name="T449">Since 1.4.1, this replaces </text:span>'standard_<text:span text:style-name="T450">environment</text:span>s' <text:span text:style-name="T449">which </text:span>is no longer recommended</text:p></text:note-body></text:note></text:span><text:span text:style-name="T60"> of the current working directory.</text:span></text:p> + <text:p text:style-name="P27">The <text:span text:style-name="T9">environmentname</text:span>.config file contains settings like directory paths or a description of machine capacities for job control.</text:p> <text:p text:style-name="P26"><text:span text:style-name="T450">J</text:span>ob control headers <text:span text:style-name="T450">that are </text:span>needed to run a certain job step are saved as <text:span text:style-name="T9">environmentname</text:span>.tmpl. This template will be filled using configuration information from both experiment, options, and environment. <text:span text:style-name="T214">The resulting job header</text:span> is usually included at the beginning of the experiment's job script templates.</text:p> <text:p text:style-name="P21">An experiment configuration <text:span text:style-name="T287">may</text:span> <text:span text:style-name="T287">set</text:span> the special variable E<text:span text:style-name="T287">NVIRONMENT</text:span> to the name of <text:span text:style-name="T287">the host </text:span>e<text:span text:style-name="T287">nvironment</text:span> to use. <text:span text:style-name="T287">If it is not set, or empty, the 'DEFAULT' environment settings will be used.</text:span></text:p> - <text:h text:style-name="P139" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1883_1672291846"/>Defining namelists and other configuration files<text:bookmark-end text:name="__RefHeading__1883_1672291846"/></text:h> - <text:p text:style-name="P168"><text:span text:style-name="T84">Most models need at least one Fortran namelist file or another form of configuration file to run. </text:span><text:span text:style-name="T85">The special section [namelists] </text:span><text:span text:style-name="T84">is designed to </text:span><text:span text:style-name="T85">contain all information that goes into </text:span><text:span text:style-name="T84">these</text:span><text:span text:style-name="T85"> files. Each </text:span><text:span text:style-name="T82">immediate </text:span><text:span text:style-name="T85">subsection defines settings for a single file that will </text:span><text:span text:style-name="T84">by default be </text:span><text:span text:style-name="T85">formatted as a Fortran namelist. </text:span><text:span text:style-name="T84">For </text:span><text:span text:style-name="T85">example,</text:span></text:p> - <text:p text:style-name="P284"><text:soft-page-break/>[namelists]</text:p> - <text:p text:style-name="P191"/> - <text:p text:style-name="P284"><text:s text:c="2"/>[[<text:span text:style-name="T299">namelist.echam</text:span>]] </text:p> - <text:p text:style-name="P284"><text:s text:c="4"/>[[[runctl]]] </text:p> - <text:p text:style-name="P284"><text:s text:c="6"/>lamip = true</text:p> - <text:p text:style-name="P284"><text:s text:c="6"/><text:span text:style-name="T308">nproma = 48</text:span></text:p> - <text:p text:style-name="P221"><text:s text:c="6"/>earth_angular_velocity = 7.3e-5</text:p> - <text:p text:style-name="P221"><text:s text:c="6"/>out_expname = joe1234</text:p> - <text:p text:style-name="P221"><text:s text:c="6"/><text:span text:style-name="T300">dt_stop = 2009, 1, 1, 0, 0, 0</text:span></text:p> - <text:p text:style-name="P162"><text:span text:style-name="T62">defines </text:span><text:span text:style-name="T83">a single </text:span><text:span text:style-name="T62">namelist file, </text:span><text:span text:style-name="T86">'namelist.echam'</text:span><text:span text:style-name="T62">, </text:span><text:span text:style-name="T84">containing a single namelist group with four variables of different types. Note </text:span><text:span text:style-name="T103">that you do not </text:span><text:span text:style-name="T84">need to use quotes for strings nor periods for logical values.</text:span></text:p> - <text:h text:style-name="P132" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2578_1114405012"/>Formatting the namelist information<text:bookmark-end text:name="__RefHeading__2578_1114405012"/></text:h> - <text:p text:style-name="P218"><text:span text:style-name="T82">The </text:span><text:span text:style-name="T83">names of the </text:span><text:span text:style-name="T82">subsections of each namelist file entry, i.e. the second level subsections under the immediate subsections of [namelists], are taken as namelist group </text:span><text:span text:style-name="T83">name</text:span><text:span text:style-name="T82">s, and their variables are formatted as fields of this namelist </text:span><text:span text:style-name="T83">group</text:span><text:span text:style-name="T82">. </text:span><text:span text:style-name="T83">In the example above, there is a single namelist group 'runctl', which will be converted to the Fortran namelist convention. </text:span><text:span text:style-name="T299">The values of the group's fields are checked to determine whether they are numerical, logical, or string values. Logical and string values will then be formatted using periods or quotes, respectively.</text:span></text:p> - <text:p text:style-name="P171"><text:span text:style-name="T319">In the example above, the first four fields are single values of logical, integer, floating point, and string type.</text:span><text:span text:style-name="T86"> The fifth is a list of integer values, that will be passed as such to the namelist file:</text:span></text:p> - <text:p text:style-name="P266">&runctl</text:p> - <text:p text:style-name="P172"><text:s text:c="4"/>lamip = <text:span text:style-name="T192">.true.</text:span></text:p> - <text:p text:style-name="P172"><text:s text:c="4"/><text:span text:style-name="T299">nproma = </text:span><text:span text:style-name="T197">48</text:span></text:p> - <text:p text:style-name="P222"><text:s text:c="4"/>earth_angular_velocity = <text:span text:style-name="T192">7.3e-5</text:span></text:p> - <text:p text:style-name="P222"><text:s text:c="4"/>out_expname = <text:span text:style-name="T198">'</text:span><text:span text:style-name="T192">joe1234</text:span><text:span text:style-name="T198">'</text:span></text:p> - <text:p text:style-name="P222"><text:span text:style-name="T86"><text:s text:c="4"/>dt_stop = </text:span><text:span text:style-name="T182">2009, 1, 1, 0, 0, 0</text:span></text:p> - <text:p text:style-name="P144">/</text:p> - <text:p text:style-name="P220">Please note that both group and field names are converted to lower case! Two fields named 'key' and 'Key' will result in two 'key = …' lines, and will cause trouble. We recommend using lower case for all group and field names.</text:p> - <text:h text:style-name="P219" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2580_1114405012"/><text:span text:style-name="T84">S</text:span><text:span text:style-name="T62">uppressing namelist </text:span><text:span text:style-name="T138">files, </text:span><text:span text:style-name="T62">groups, or variables</text:span><text:bookmark-end text:name="__RefHeading__2580_1114405012"/></text:h> - <text:p text:style-name="P226"><text:span text:style-name="T62">If you want to </text:span><text:span text:style-name="T126">disable</text:span><text:span text:style-name="T62"> a namelist group </text:span><text:span text:style-name="T138">or a whole namelist file </text:span><text:span text:style-name="T62">defined on a higher setup level, you may </text:span><text:span text:style-name="T138">set a</text:span><text:span text:style-name="T62"> special</text:span><text:span text:style-name="T138"> v</text:span><text:span text:style-name="T62">ariable '.hide' to </text:span><text:span text:style-name="T126">'</text:span><text:span text:style-name="T62">true</text:span><text:span text:style-name="T126">' </text:span><text:span text:style-name="T138">in the corresponding section</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T126">As you may suspect, setting '.hide' to 'false' for </text:span><text:span text:style-name="T139">elements</text:span><text:span text:style-name="T126"> that were hidden on a higher setup level will re-enable the</text:span><text:span text:style-name="T127">m</text:span><text:span text:style-name="T126">.</text:span></text:p> - <text:p text:style-name="P233"><text:span text:style-name="T126">T</text:span><text:span text:style-name="T133">o disable a </text:span><text:span text:style-name="T134">single </text:span><text:span text:style-name="T133">namelist variable, simply </text:span><text:span text:style-name="T380">omit the value after the equals sign. This is taken to be an empty string, causing the variable to not be written </text:span><text:span text:style-name="T381">to the namelist file</text:span><text:span text:style-name="T380">, so the default value is used instead. </text:span><text:span text:style-name="T381">Setting the variable to a non-empty value i</text:span><text:span text:style-name="T382">n a higher </text:span><text:span text:style-name="T381">level</text:span><text:span text:style-name="T382"> .</text:span><text:span text:style-name="T381">config file will re-enable it.</text:span></text:p> - <text:p text:style-name="P231"><text:soft-page-break/><text:span text:style-name="T380">If the empty string is a valid value in </text:span><text:span text:style-name="T381">your namelist</text:span><text:span text:style-name="T380">, you may set the special variable '.default' to an alternative string to be used as default marker instead of the empty string. This can be done both on namelist and group level.</text:span></text:p> - <text:p text:style-name="P232"><text:span text:style-name="T134">As a legacy, t</text:span><text:span text:style-name="T62">he namelist group section also honors the special variable '.remove' which may be set to a list of names. Any variables listed in the '.remove' variable will be deleted from the namelist group definition. </text:span><text:span text:style-name="T134">Note that, w</text:span><text:span text:style-name="T135">hile '.remove' is useful to </text:span><text:span text:style-name="T93">suppress</text:span><text:span text:style-name="T135"> default settings that must not be present for the experiment setup, currently there is no way to resurrect a removed setting in a later setup level. </text:span><text:span text:style-name="T94">Therefore, its use in model setups is strongly discouraged.</text:span></text:p> - <text:h text:style-name="P228" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc4310_4067847427"/>Comments in namelists<text:bookmark-end text:name="__RefHeading___Toc4310_4067847427"/></text:h> - <text:p text:style-name="P227">In general, <text:span text:style-name="T371">'#' </text:span>comments in namelist or group sections will by converted to Fortran 90 <text:span text:style-name="T371">'!' </text:span>comments. In-line comments for <text:span text:style-name="T371">individual</text:span> settings are also recognized.</text:p> - <text:p text:style-name="P269"># Run time settings</text:p> - <text:p text:style-name="P293">[[[runctl]]]</text:p> - <text:p text:style-name="P293"><text:s text:c="4"/>lamip = true <text:span text:style-name="T203"># Use AMIP conventions</text:span></text:p> - <text:p text:style-name="P269"><text:s text:c="4"/># Block size for optimization</text:p> + <text:h text:style-name="P141" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1883_1672291846"/>Defining namelists and other configuration files<text:bookmark-end text:name="__RefHeading__1883_1672291846"/></text:h> + <text:p text:style-name="P170"><text:span text:style-name="T84">Most models need at least one Fortran namelist file or another form of configuration file to run. </text:span><text:span text:style-name="T85">The special section [namelists] </text:span><text:span text:style-name="T84">is designed to </text:span><text:span text:style-name="T85">contain all information that goes into </text:span><text:span text:style-name="T84">these</text:span><text:span text:style-name="T85"> files. Each </text:span><text:span text:style-name="T82">immediate </text:span><text:span text:style-name="T85">subsection defines settings for a single file that will </text:span><text:span text:style-name="T84">by default be </text:span><text:span text:style-name="T85">formatted as a Fortran namelist. </text:span><text:span text:style-name="T84">For </text:span><text:span text:style-name="T85">example,</text:span></text:p> + <text:p text:style-name="P286"><text:soft-page-break/>[namelists]</text:p> + <text:p text:style-name="P193"/> + <text:p text:style-name="P286"><text:s text:c="2"/>[[<text:span text:style-name="T299">namelist.echam</text:span>]] </text:p> + <text:p text:style-name="P286"><text:s text:c="4"/>[[[runctl]]] </text:p> + <text:p text:style-name="P286"><text:s text:c="6"/>lamip = true</text:p> + <text:p text:style-name="P286"><text:s text:c="6"/><text:span text:style-name="T308">nproma = 48</text:span></text:p> + <text:p text:style-name="P223"><text:s text:c="6"/>earth_angular_velocity = 7.3e-5</text:p> + <text:p text:style-name="P223"><text:s text:c="6"/>out_expname = joe1234</text:p> + <text:p text:style-name="P223"><text:s text:c="6"/><text:span text:style-name="T300">dt_stop = 2009, 1, 1, 0, 0, 0</text:span></text:p> + <text:p text:style-name="P164"><text:span text:style-name="T62">defines </text:span><text:span text:style-name="T83">a single </text:span><text:span text:style-name="T62">namelist file, </text:span><text:span text:style-name="T86">'namelist.echam'</text:span><text:span text:style-name="T62">, </text:span><text:span text:style-name="T84">containing a single namelist group with four variables of different types. Note </text:span><text:span text:style-name="T103">that you do not </text:span><text:span text:style-name="T84">need to use quotes for strings nor periods for logical values.</text:span></text:p> + <text:h text:style-name="P134" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2578_1114405012"/>Formatting the namelist information<text:bookmark-end text:name="__RefHeading__2578_1114405012"/></text:h> + <text:p text:style-name="P220"><text:span text:style-name="T82">The </text:span><text:span text:style-name="T83">names of the </text:span><text:span text:style-name="T82">subsections of each namelist file entry, i.e. the second level subsections under the immediate subsections of [namelists], are taken as namelist group </text:span><text:span text:style-name="T83">name</text:span><text:span text:style-name="T82">s, and their variables are formatted as fields of this namelist </text:span><text:span text:style-name="T83">group</text:span><text:span text:style-name="T82">. </text:span><text:span text:style-name="T83">In the example above, there is a single namelist group 'runctl', which will be converted to the Fortran namelist convention. </text:span><text:span text:style-name="T299">The values of the group's fields are checked to determine whether they are numerical, logical, or string values. Logical and string values will then be formatted using periods or quotes, respectively.</text:span></text:p> + <text:p text:style-name="P173"><text:span text:style-name="T319">In the example above, the first four fields are single values of logical, integer, floating point, and string type.</text:span><text:span text:style-name="T86"> The fifth is a list of integer values, that will be passed as such to the namelist file:</text:span></text:p> + <text:p text:style-name="P268">&runctl</text:p> + <text:p text:style-name="P174"><text:s text:c="4"/>lamip = <text:span text:style-name="T192">.true.</text:span></text:p> + <text:p text:style-name="P174"><text:s text:c="4"/><text:span text:style-name="T299">nproma = </text:span><text:span text:style-name="T197">48</text:span></text:p> + <text:p text:style-name="P224"><text:s text:c="4"/>earth_angular_velocity = <text:span text:style-name="T192">7.3e-5</text:span></text:p> + <text:p text:style-name="P224"><text:s text:c="4"/>out_expname = <text:span text:style-name="T198">'</text:span><text:span text:style-name="T192">joe1234</text:span><text:span text:style-name="T198">'</text:span></text:p> + <text:p text:style-name="P224"><text:span text:style-name="T86"><text:s text:c="4"/>dt_stop = </text:span><text:span text:style-name="T182">2009, 1, 1, 0, 0, 0</text:span></text:p> + <text:p text:style-name="P146">/</text:p> + <text:p text:style-name="P222">Please note that both group and field names are converted to lower case! Two fields named 'key' and 'Key' will result in two 'key = …' lines, and will cause trouble. We recommend using lower case for all group and field names.</text:p> + <text:h text:style-name="P221" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2580_1114405012"/><text:span text:style-name="T84">S</text:span><text:span text:style-name="T62">uppressing namelist </text:span><text:span text:style-name="T138">files, </text:span><text:span text:style-name="T62">groups, or variables</text:span><text:bookmark-end text:name="__RefHeading__2580_1114405012"/></text:h> + <text:p text:style-name="P228"><text:span text:style-name="T62">If you want to </text:span><text:span text:style-name="T126">disable</text:span><text:span text:style-name="T62"> a namelist group </text:span><text:span text:style-name="T138">or a whole namelist file </text:span><text:span text:style-name="T62">defined on a higher setup level, you may </text:span><text:span text:style-name="T138">set a</text:span><text:span text:style-name="T62"> special</text:span><text:span text:style-name="T138"> v</text:span><text:span text:style-name="T62">ariable '.hide' to </text:span><text:span text:style-name="T126">'</text:span><text:span text:style-name="T62">true</text:span><text:span text:style-name="T126">' </text:span><text:span text:style-name="T138">in the corresponding section</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T126">As you may suspect, setting '.hide' to 'false' for </text:span><text:span text:style-name="T139">elements</text:span><text:span text:style-name="T126"> that were hidden on a higher setup level will re-enable the</text:span><text:span text:style-name="T127">m</text:span><text:span text:style-name="T126">.</text:span></text:p> + <text:p text:style-name="P235"><text:span text:style-name="T126">T</text:span><text:span text:style-name="T133">o disable a </text:span><text:span text:style-name="T134">single </text:span><text:span text:style-name="T133">namelist variable, simply </text:span><text:span text:style-name="T380">omit the value after the equals sign. This is taken to be an empty string, causing the variable to not be written </text:span><text:span text:style-name="T381">to the namelist file</text:span><text:span text:style-name="T380">, so the default value is used instead. </text:span><text:span text:style-name="T381">Setting the variable to a non-empty value i</text:span><text:span text:style-name="T382">n a higher </text:span><text:span text:style-name="T381">level</text:span><text:span text:style-name="T382"> .</text:span><text:span text:style-name="T381">config file will re-enable it.</text:span></text:p> + <text:p text:style-name="P233"><text:soft-page-break/><text:span text:style-name="T380">If the empty string is a valid value in </text:span><text:span text:style-name="T381">your namelist</text:span><text:span text:style-name="T380">, you may set the special variable '.default' to an alternative string to be used as default marker instead of the empty string. This can be done both on namelist and group level.</text:span></text:p> + <text:p text:style-name="P234"><text:span text:style-name="T134">As a legacy, t</text:span><text:span text:style-name="T62">he namelist group section also honors the special variable '.remove' which may be set to a list of names. Any variables listed in the '.remove' variable will be deleted from the namelist group definition. </text:span><text:span text:style-name="T134">Note that, w</text:span><text:span text:style-name="T135">hile '.remove' is useful to </text:span><text:span text:style-name="T93">suppress</text:span><text:span text:style-name="T135"> default settings that must not be present for the experiment setup, currently there is no way to resurrect a removed setting in a later setup level. </text:span><text:span text:style-name="T94">Therefore, its use in model setups is strongly discouraged.</text:span></text:p> + <text:h text:style-name="P230" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc4310_4067847427"/>Comments in namelists<text:bookmark-end text:name="__RefHeading___Toc4310_4067847427"/></text:h> + <text:p text:style-name="P229">In general, <text:span text:style-name="T371">'#' </text:span>comments in namelist or group sections will by converted to Fortran 90 <text:span text:style-name="T371">'!' </text:span>comments. In-line comments for <text:span text:style-name="T371">individual</text:span> settings are also recognized.</text:p> + <text:p text:style-name="P271"># Run time settings</text:p> + <text:p text:style-name="P295">[[[runctl]]]</text:p> + <text:p text:style-name="P295"><text:s text:c="4"/>lamip = true <text:span text:style-name="T203"># Use AMIP conventions</text:span></text:p> + <text:p text:style-name="P271"><text:s text:c="4"/># Block size for optimization</text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T308">nproma = 48</text:span></text:p> - <text:p text:style-name="P269">! Run time settings</text:p> - <text:p text:style-name="P294">&runctl</text:p> - <text:p text:style-name="P294"><text:s text:c="4"/>lamip = .true. <text:span text:style-name="T203">! Use AMIP conventions</text:span></text:p> - <text:p text:style-name="P269"><text:s text:c="4"/>! Block size for optimization</text:p> - <text:p text:style-name="P294"><text:s text:c="4"/><text:span text:style-name="T299">nproma = 48</text:span></text:p> - <text:p text:style-name="P229">In addition, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T131">recognises namelist settings </text:span><text:span text:style-name="T62">that were commented out. </text:span><text:span text:style-name="T131">For these, the formatting of values as described before is also carried out within the comment.</text:span></text:p> + <text:p text:style-name="P271">! Run time settings</text:p> + <text:p text:style-name="P296">&runctl</text:p> + <text:p text:style-name="P296"><text:s text:c="4"/>lamip = .true. <text:span text:style-name="T203">! Use AMIP conventions</text:span></text:p> + <text:p text:style-name="P271"><text:s text:c="4"/>! Block size for optimization</text:p> + <text:p text:style-name="P296"><text:s text:c="4"/><text:span text:style-name="T299">nproma = 48</text:span></text:p> + <text:p text:style-name="P231">In addition, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T131">recognises namelist settings </text:span><text:span text:style-name="T62">that were commented out. </text:span><text:span text:style-name="T131">For these, the formatting of values as described before is also carried out within the comment.</text:span></text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T203"># </text:span>lamip = true <text:span text:style-name="T236"># Use AMIP conventions</text:span></text:p> - <text:p text:style-name="P294"><text:s text:c="4"/><text:span text:style-name="T192">!</text:span> lamip = <text:span text:style-name="T192">.true.</text:span> <text:span text:style-name="T203">! </text:span><text:span text:style-name="T372">Use AMIP conventions</text:span></text:p> - <text:p text:style-name="P230">There is one hitch: if the last setting in a group is commented, the <text:span text:style-name="T44">configobj </text:span>library <text:span text:style-name="T373">will take this line to be a group comment for the following group. To work around this, </text:span><text:span text:style-name="T44">mkexp</text:span><text:span text:style-name="T132"> recognises a special namelist variable '.end' to keep the commented setting with the first group.</text:span></text:p> - <text:p text:style-name="P308">[[[parctl]]]</text:p> - <text:p text:style-name="P307"><text:s text:c="4"/><text:span text:style-name="T373"># nprocb = 48 </text:span><text:span text:style-name="T237"># </text:span><text:span text:style-name="T238">E</text:span><text:span text:style-name="T237">nd</text:span><text:span text:style-name="T238">s</text:span><text:span text:style-name="T237"> up with 'runctl' </text:span><text:span text:style-name="T238">instead</text:span></text:p> + <text:p text:style-name="P296"><text:s text:c="4"/><text:span text:style-name="T192">!</text:span> lamip = <text:span text:style-name="T192">.true.</text:span> <text:span text:style-name="T203">! </text:span><text:span text:style-name="T372">Use AMIP conventions</text:span></text:p> + <text:p text:style-name="P232">There is one hitch: if the last setting in a group is commented, the <text:span text:style-name="T44">configobj </text:span>library <text:span text:style-name="T373">will take this line to be a group comment for the following group. To work around this, </text:span><text:span text:style-name="T44">mkexp</text:span><text:span text:style-name="T132"> recognises a special namelist variable '.end' to keep the commented setting with the first group.</text:span></text:p> + <text:p text:style-name="P310">[[[parctl]]]</text:p> + <text:p text:style-name="P309"><text:s text:c="4"/><text:span text:style-name="T373"># nprocb = 48 </text:span><text:span text:style-name="T237"># </text:span><text:span text:style-name="T238">E</text:span><text:span text:style-name="T237">nd</text:span><text:span text:style-name="T238">s</text:span><text:span text:style-name="T237"> up with 'runctl' </text:span><text:span text:style-name="T238">instead</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">[[[runctl]]]</text:p> - <text:p text:style-name="P295"><text:s text:c="4"/><text:span text:style-name="T374"># </text:span>lamip = true <text:span text:style-name="T374"># Stays with 'runctl'</text:span></text:p> - <text:p text:style-name="P295"><text:s text:c="4"/><text:span text:style-name="T192">.</text:span><text:span text:style-name="T205">end = </text:span></text:p> + <text:p text:style-name="P297"><text:s text:c="4"/><text:span text:style-name="T374"># </text:span>lamip = true <text:span text:style-name="T374"># Stays with 'runctl'</text:span></text:p> + <text:p text:style-name="P297"><text:s text:c="4"/><text:span text:style-name="T192">.</text:span><text:span text:style-name="T205">end = </text:span></text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt">[[[dynctl]]]</text:p> - <text:p text:style-name="P307"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T238">parctl</text:span></text:p> - <text:p text:style-name="P297">/</text:p> - <text:p text:style-name="P307"><text:span text:style-name="T238">! </text:span><text:span text:style-name="T237">nprocb = 48 ! </text:span><text:span text:style-name="T238">E</text:span><text:span text:style-name="T237">nd</text:span><text:span text:style-name="T238">s</text:span><text:span text:style-name="T237"> up with 'runctl' </text:span><text:span text:style-name="T238">instead</text:span></text:p> - <text:p text:style-name="P296">&runctl</text:p> - <text:p text:style-name="P296"><text:s text:c="4"/>! lamip = .true. ! Stays with 'runctl'</text:p> - <text:p text:style-name="P302">/</text:p> - <text:p text:style-name="P296"><text:soft-page-break/>&dynctl</text:p> - <text:h text:style-name="P137" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5131_2397857290"/>Derived namelist groups<text:bookmark-end text:name="__RefHeading___Toc5131_2397857290"/></text:h> - <text:p text:style-name="P238"><text:span text:style-name="T145">Namelist groups </text:span><text:span text:style-name="T391">that share</text:span><text:span text:style-name="T145"> information may be derived from each other by use of the special section variable '.extends', similar to derived jobs (</text:span><text:span text:style-name="T146">section </text:span><text:span text:style-name="T145"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2570_1114405012">2.7.3</text:bookmark-ref></text:span><text:span text:style-name="T146">). </text:span></text:p> - <text:p text:style-name="P310"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T263">parent</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P310"><text:s text:c="4"/><text:span text:style-name="T264">eye_color</text:span><text:span text:style-name="T242"> = </text:span><text:span text:style-name="T271">blue</text:span></text:p> - <text:p text:style-name="P310"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T264">child</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P311"><text:s text:c="4"/><text:span text:style-name="T192">.</text:span><text:span text:style-name="T208">extends = parent</text:span></text:p> - <text:p text:style-name="P310"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T271">parent</text:span></text:p> - <text:p text:style-name="P310"><text:s text:c="4"/><text:span text:style-name="T271">eye_color</text:span><text:span text:style-name="T241"> = '</text:span><text:span text:style-name="T271">blue</text:span><text:span text:style-name="T241">'</text:span></text:p> - <text:p text:style-name="P298">/</text:p> - <text:p text:style-name="P310"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T242">child</text:span></text:p> - <text:p text:style-name="P310"><text:s text:c="4"/><text:span text:style-name="T279">eye_color</text:span><text:span text:style-name="T207"> = '</text:span><text:span text:style-name="T279">blue</text:span><text:span text:style-name="T207">'</text:span></text:p> - <text:p text:style-name="P147">/</text:p> - <text:p text:style-name="P239"><text:span text:style-name="T434">In combination with '.remove' (section </text:span><text:span text:style-name="T434"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2580_1114405012">2.9.2</text:bookmark-ref></text:span><text:span text:style-name="T434">), this may be used to define a pure base group </text:span><text:span text:style-name="T435">only </text:span><text:span text:style-name="T434">to hold common settings. </text:span><text:span text:style-name="T435">Note that using '.hide' </text:span><text:span text:style-name="T404">will</text:span><text:span text:style-name="T435"> not work because </text:span><text:span text:style-name="T404">it</text:span><text:span text:style-name="T435"> would hide </text:span><text:span text:style-name="T53">all</text:span><text:span text:style-name="T435"> “humansâ€.</text:span></text:p> - <text:p text:style-name="P270">.<text:span text:style-name="T435">remove = human</text:span></text:p> - <text:p text:style-name="P240"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T265">human</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P240"><text:span text:style-name="T272"><text:s text:c="4"/>species = </text:span><text:span text:style-name="T273">homo </text:span><text:span text:style-name="T272">sapiens</text:span></text:p> - <text:p text:style-name="P242"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T266">adam</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T231">.</text:span><text:span text:style-name="T243">extends = human</text:span></text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T435">serial_number = 1</text:span></text:p> - <text:p text:style-name="P242"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T266">eve</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T231">.</text:span><text:span text:style-name="T243">extends = human</text:span></text:p> - <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T435">serial_number = 2</text:span></text:p> - <text:p text:style-name="P242"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T273">adam</text:span></text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T209">species = 'homo sapiens'</text:span></text:p> - <text:p text:style-name="P304"><text:s text:c="4"/>serial_number = 1</text:p> - <text:p text:style-name="P312">/</text:p> - <text:p text:style-name="P312">&eve</text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T209">species = 'homo sapiens'</text:span></text:p> - <text:p text:style-name="P304"><text:s text:c="4"/>serial_number = 2</text:p> - <text:p text:style-name="P312">/</text:p> - <text:h text:style-name="P136" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5133_2397857290"/>Repeated namelist groups, <text:span text:style-name="T436">auto-derivation</text:span><text:bookmark-end text:name="__RefHeading___Toc5133_2397857290"/></text:h> - <text:p text:style-name="P241"><text:span text:style-name="T144">Some applications use namelists where </text:span><text:span text:style-name="T390">a namelist group may be listed repeatedly and one or more values within the group serve as key for the evaluation </text:span><text:span text:style-name="T394">process</text:span><text:span text:style-name="T390">. </text:span><text:span text:style-name="T391">To allow for this, </text:span><text:span text:style-name="T409">mkexp</text:span><text:span text:style-name="T391"> recognizes name extensions for namelist group sections. The generated namelist group will then only use the base group name, up to the first occurrence of a space in the section name, and use the extension as a comment. </text:span><text:span text:style-name="T392">Note that you </text:span><text:span text:style-name="T393">may not</text:span><text:span text:style-name="T392"> specify the same section name twice.</text:span></text:p> - <text:p text:style-name="P242"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T207"> first</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T241">file_name = output1.nc</text:span></text:p> - <text:p text:style-name="P242"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T278">second</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P243"><text:soft-page-break/><text:s text:c="4"/><text:span text:style-name="T241">file_name = output2.nc</text:span></text:p> - <text:p text:style-name="P242"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> ! 'first'</text:span></text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output1.nc'</text:span></text:p> + <text:p text:style-name="P309"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T238">parctl</text:span></text:p> <text:p text:style-name="P299">/</text:p> - <text:p text:style-name="P242"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> ! 'second'</text:span></text:p> - <text:p text:style-name="P242"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output2.nc'</text:span></text:p> + <text:p text:style-name="P309"><text:span text:style-name="T238">! </text:span><text:span text:style-name="T237">nprocb = 48 ! </text:span><text:span text:style-name="T238">E</text:span><text:span text:style-name="T237">nd</text:span><text:span text:style-name="T238">s</text:span><text:span text:style-name="T237"> up with 'runctl' </text:span><text:span text:style-name="T238">instead</text:span></text:p> + <text:p text:style-name="P298">&runctl</text:p> + <text:p text:style-name="P298"><text:s text:c="4"/>! lamip = .true. ! Stays with 'runctl'</text:p> + <text:p text:style-name="P304">/</text:p> + <text:p text:style-name="P298"><text:soft-page-break/>&dynctl</text:p> + <text:h text:style-name="P139" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5131_2397857290"/>Derived namelist groups<text:bookmark-end text:name="__RefHeading___Toc5131_2397857290"/></text:h> + <text:p text:style-name="P240"><text:span text:style-name="T145">Namelist groups </text:span><text:span text:style-name="T391">that share</text:span><text:span text:style-name="T145"> information may be derived from each other by use of the special section variable '.extends', similar to derived jobs (</text:span><text:span text:style-name="T146">section </text:span><text:span text:style-name="T145"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2570_1114405012">2.7.3</text:bookmark-ref></text:span><text:span text:style-name="T146">). </text:span></text:p> + <text:p text:style-name="P312"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T263">parent</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P312"><text:s text:c="4"/><text:span text:style-name="T264">eye_color</text:span><text:span text:style-name="T242"> = </text:span><text:span text:style-name="T271">blue</text:span></text:p> + <text:p text:style-name="P312"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T264">child</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P313"><text:s text:c="4"/><text:span text:style-name="T192">.</text:span><text:span text:style-name="T208">extends = parent</text:span></text:p> + <text:p text:style-name="P312"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T271">parent</text:span></text:p> + <text:p text:style-name="P312"><text:s text:c="4"/><text:span text:style-name="T271">eye_color</text:span><text:span text:style-name="T241"> = '</text:span><text:span text:style-name="T271">blue</text:span><text:span text:style-name="T241">'</text:span></text:p> + <text:p text:style-name="P300">/</text:p> + <text:p text:style-name="P312"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T242">child</text:span></text:p> + <text:p text:style-name="P312"><text:s text:c="4"/><text:span text:style-name="T279">eye_color</text:span><text:span text:style-name="T207"> = '</text:span><text:span text:style-name="T279">blue</text:span><text:span text:style-name="T207">'</text:span></text:p> + <text:p text:style-name="P149">/</text:p> + <text:p text:style-name="P241"><text:span text:style-name="T434">In combination with '.remove' (section </text:span><text:span text:style-name="T434"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2580_1114405012">2.9.2</text:bookmark-ref></text:span><text:span text:style-name="T434">), this may be used to define a pure base group </text:span><text:span text:style-name="T435">only </text:span><text:span text:style-name="T434">to hold common settings. </text:span><text:span text:style-name="T435">Note that using '.hide' </text:span><text:span text:style-name="T404">will</text:span><text:span text:style-name="T435"> not work because </text:span><text:span text:style-name="T404">it</text:span><text:span text:style-name="T435"> would hide </text:span><text:span text:style-name="T53">all</text:span><text:span text:style-name="T435"> “humansâ€.</text:span></text:p> + <text:p text:style-name="P272">.<text:span text:style-name="T435">remove = human</text:span></text:p> + <text:p text:style-name="P242"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T265">human</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P242"><text:span text:style-name="T272"><text:s text:c="4"/>species = </text:span><text:span text:style-name="T273">homo </text:span><text:span text:style-name="T272">sapiens</text:span></text:p> + <text:p text:style-name="P244"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T266">adam</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T231">.</text:span><text:span text:style-name="T243">extends = human</text:span></text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T435">serial_number = 1</text:span></text:p> + <text:p text:style-name="P244"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T266">eve</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T231">.</text:span><text:span text:style-name="T243">extends = human</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T435">serial_number = 2</text:span></text:p> + <text:p text:style-name="P244"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T273">adam</text:span></text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T209">species = 'homo sapiens'</text:span></text:p> + <text:p text:style-name="P306"><text:s text:c="4"/>serial_number = 1</text:p> + <text:p text:style-name="P314">/</text:p> + <text:p text:style-name="P314">&eve</text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T209">species = 'homo sapiens'</text:span></text:p> + <text:p text:style-name="P306"><text:s text:c="4"/>serial_number = 2</text:p> + <text:p text:style-name="P314">/</text:p> + <text:h text:style-name="P138" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5133_2397857290"/>Repeated namelist groups, <text:span text:style-name="T436">auto-derivation</text:span><text:bookmark-end text:name="__RefHeading___Toc5133_2397857290"/></text:h> + <text:p text:style-name="P243"><text:span text:style-name="T144">Some applications use namelists where </text:span><text:span text:style-name="T390">a namelist group may be listed repeatedly and one or more values within the group serve as key for the evaluation </text:span><text:span text:style-name="T394">process</text:span><text:span text:style-name="T390">. </text:span><text:span text:style-name="T391">To allow for this, </text:span><text:span text:style-name="T409">mkexp</text:span><text:span text:style-name="T391"> recognizes name extensions for namelist group sections. The generated namelist group will then only use the base group name, up to the first occurrence of a space in the section name, and use the extension as a comment. </text:span><text:span text:style-name="T392">Note that you </text:span><text:span text:style-name="T393">may not</text:span><text:span text:style-name="T392"> specify the same section name twice.</text:span></text:p> + <text:p text:style-name="P244"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T207"> first</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T241">file_name = output1.nc</text:span></text:p> + <text:p text:style-name="P244"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T278">second</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P245"><text:soft-page-break/><text:s text:c="4"/><text:span text:style-name="T241">file_name = output2.nc</text:span></text:p> + <text:p text:style-name="P244"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> ! 'first'</text:span></text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output1.nc'</text:span></text:p> + <text:p text:style-name="P301">/</text:p> + <text:p text:style-name="P244"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> ! 'second'</text:span></text:p> + <text:p text:style-name="P244"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output2.nc'</text:span></text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt">/</text:p> - <text:p text:style-name="P413"><text:span text:style-name="T436">With repeated groups, </text:span><text:span text:style-name="T405">chances are </text:span><text:span text:style-name="T436">that some information is common to </text:span><text:span text:style-name="T437">many</text:span><text:span text:style-name="T436"> of them. Therefore, if there is a group defined by the base group name only, the other groups automatically inherit its settings.</text:span></text:p> + <text:p text:style-name="P415"><text:span text:style-name="T436">With repeated groups, </text:span><text:span text:style-name="T405">chances are </text:span><text:span text:style-name="T436">that some information is common to </text:span><text:span text:style-name="T437">many</text:span><text:span text:style-name="T436"> of them. Therefore, if there is a group defined by the base group name only, the other groups automatically inherit its settings.</text:span></text:p> + <text:p text:style-name="P307">.<text:span text:style-name="T436">remove = output</text:span></text:p> + <text:p text:style-name="P249">[[[<text:span text:style-name="T192">output</text:span>]]]</text:p> + <text:p text:style-name="P249"><text:s text:c="4"/>file_system = disc</text:p> + <text:p text:style-name="P413"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T241"> first</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P413"><text:s text:c="4"/><text:span text:style-name="T241">file_name = output1.nc</text:span></text:p> + <text:p text:style-name="P413"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T241"> </text:span><text:span text:style-name="T274">second</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P414"><text:s text:c="4"/><text:span text:style-name="T241">file_name = output2.nc</text:span></text:p> + <text:p text:style-name="P413"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! 'first'</text:span></text:p> + <text:p text:style-name="P249"><text:s text:c="4"/><text:span text:style-name="T192">file_system = 'disc'</text:span></text:p> + <text:p text:style-name="P413"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output1.nc'</text:span></text:p> + <text:p text:style-name="P303">/</text:p> + <text:p text:style-name="P413"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! 'second'</text:span></text:p> + <text:p text:style-name="P249"><text:s text:c="4"/><text:span text:style-name="T192">file_system = 'disc'</text:span></text:p> + <text:p text:style-name="P413"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output2.nc'</text:span></text:p> + <text:p text:style-name="P308">/</text:p> + <text:p text:style-name="P416">You may use the special string '%{id}' <text:span text:style-name="T448">to re-use </text:span>the group name extension as <text:span text:style-name="T448">key </text:span>value and thus reduce visual clutter.</text:p> <text:p text:style-name="P305">.<text:span text:style-name="T436">remove = output</text:span></text:p> - <text:p text:style-name="P247">[[[<text:span text:style-name="T192">output</text:span>]]]</text:p> - <text:p text:style-name="P247"><text:s text:c="4"/>file_system = disc</text:p> - <text:p text:style-name="P411"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T241"> first</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P411"><text:s text:c="4"/><text:span text:style-name="T241">file_name = output1.nc</text:span></text:p> - <text:p text:style-name="P411"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T241"> </text:span><text:span text:style-name="T274">second</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P412"><text:s text:c="4"/><text:span text:style-name="T241">file_name = output2.nc</text:span></text:p> - <text:p text:style-name="P411"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! 'first'</text:span></text:p> - <text:p text:style-name="P247"><text:s text:c="4"/><text:span text:style-name="T192">file_system = 'disc'</text:span></text:p> - <text:p text:style-name="P411"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output1.nc'</text:span></text:p> - <text:p text:style-name="P301">/</text:p> - <text:p text:style-name="P411"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! 'second'</text:span></text:p> - <text:p text:style-name="P247"><text:s text:c="4"/><text:span text:style-name="T192">file_system = 'disc'</text:span></text:p> - <text:p text:style-name="P411"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output2.nc'</text:span></text:p> - <text:p text:style-name="P306">/</text:p> - <text:p text:style-name="P414">You may use the special string '%{id}' <text:span text:style-name="T448">to re-use </text:span>the group name extension as <text:span text:style-name="T448">key </text:span>value and thus reduce visual clutter.</text:p> - <text:p text:style-name="P303">.<text:span text:style-name="T436">remove = output</text:span></text:p> - <text:p text:style-name="P245">[[[<text:span text:style-name="T231">output</text:span>]]]</text:p> - <text:p text:style-name="P245"><text:s text:c="4"/>file_<text:span text:style-name="T447">name</text:span> = <text:span text:style-name="T448">output</text:span><text:span text:style-name="T192">%</text:span><text:span text:style-name="T210">{</text:span><text:span text:style-name="T211">id}</text:span><text:span text:style-name="T244">.nc</text:span></text:p> - <text:p text:style-name="P249"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T241"> </text:span><text:span text:style-name="T244">1</text:span><text:span text:style-name="T374">]]]</text:span></text:p> + <text:p text:style-name="P247">[[[<text:span text:style-name="T231">output</text:span>]]]</text:p> + <text:p text:style-name="P247"><text:s text:c="4"/>file_<text:span text:style-name="T447">name</text:span> = <text:span text:style-name="T448">output</text:span><text:span text:style-name="T192">%</text:span><text:span text:style-name="T210">{</text:span><text:span text:style-name="T211">id}</text:span><text:span text:style-name="T244">.nc</text:span></text:p> + <text:p text:style-name="P251"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T241"> </text:span><text:span text:style-name="T244">1</text:span><text:span text:style-name="T374">]]]</text:span></text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:span text:style-name="T374">[[[</text:span><text:span text:style-name="T433">output</text:span><text:span text:style-name="T241"> </text:span><text:span text:style-name="T275">2</text:span><text:span text:style-name="T374">]]]</text:span></text:p> - <text:p text:style-name="P249"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! '</text:span><text:span text:style-name="T244">1</text:span><text:span text:style-name="T241">'</text:span></text:p> - <text:p text:style-name="P249"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output</text:span><text:span text:style-name="T207">1</text:span><text:span text:style-name="T241">.nc'</text:span></text:p> - <text:p text:style-name="P300">/</text:p> - <text:p text:style-name="P249"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! '</text:span><text:span text:style-name="T244">2</text:span><text:span text:style-name="T241">'</text:span></text:p> - <text:p text:style-name="P249"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output</text:span><text:span text:style-name="T207">2</text:span><text:span text:style-name="T241">.nc'</text:span></text:p> - <text:p text:style-name="P246">/</text:p> - <text:h text:style-name="P138" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2714_1114405012"/>Using the namelist text<text:bookmark-end text:name="__RefHeading__2714_1114405012"/></text:h> - <text:p text:style-name="P163"><text:span text:style-name="T84">T</text:span><text:span text:style-name="T86">he </text:span><text:span text:style-name="T75">formatted namelist text </text:span><text:span text:style-name="T62">is </text:span><text:span text:style-name="T86">stor</text:span><text:span text:style-name="T62">ed </text:span><text:span text:style-name="T86">in</text:span><text:span text:style-name="T62"> a global variable </text:span><text:span text:style-name="T86">that may be used by a template placeholder</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T84">This way, </text:span><text:span text:style-name="T62">all job information </text:span><text:span text:style-name="T86">available </text:span><text:span text:style-name="T84">is written to</text:span><text:span text:style-name="T62"> a single script or description file, </text:span><text:span text:style-name="T84">and </text:span><text:span text:style-name="T62">native script variables </text:span><text:span text:style-name="T84">may be used</text:span><text:span text:style-name="T62"> in the namelist definitions.</text:span></text:p> - <text:p text:style-name="P168"><text:span text:style-name="T75">The name of </text:span><text:span text:style-name="T86">this </text:span><text:span text:style-name="T75">variable</text:span><text:span text:style-name="T76"> </text:span><text:span text:style-name="T86">is</text:span><text:span text:style-name="T75"> generated from </text:span><text:span text:style-name="T86">its</text:span><text:span text:style-name="T75"> </text:span><text:span text:style-name="T76">respective</text:span><text:span text:style-name="T75"> file name, </text:span><text:span text:style-name="T86">like</text:span><text:span text:style-name="T75"> 'namelist.echam', by </text:span><text:span text:style-name="T85">converting all letters to upper case </text:span><text:span text:style-name="T75">(</text:span><text:span text:style-name="T85">namelist.echam →</text:span><text:span text:style-name="T75"> </text:span><text:soft-page-break/><text:span text:style-name="T85">NAMELIST.ECHAM</text:span><text:span text:style-name="T75">) </text:span><text:span text:style-name="T76">and </text:span><text:span text:style-name="T75">replacing non-word characters by an underscore (NAMELIST.ECHAM → NAMELIST_ECHAM).</text:span></text:p> + <text:p text:style-name="P251"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! '</text:span><text:span text:style-name="T244">1</text:span><text:span text:style-name="T241">'</text:span></text:p> + <text:p text:style-name="P251"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output</text:span><text:span text:style-name="T207">1</text:span><text:span text:style-name="T241">.nc'</text:span></text:p> + <text:p text:style-name="P302">/</text:p> + <text:p text:style-name="P251"><text:span text:style-name="T231">&</text:span><text:span text:style-name="T241">output</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T241">! '</text:span><text:span text:style-name="T244">2</text:span><text:span text:style-name="T241">'</text:span></text:p> + <text:p text:style-name="P251"><text:s text:c="4"/><text:span text:style-name="T241">file_name = 'output</text:span><text:span text:style-name="T207">2</text:span><text:span text:style-name="T241">.nc'</text:span></text:p> + <text:p text:style-name="P248">/</text:p> + <text:h text:style-name="P140" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2714_1114405012"/>Using the namelist text<text:bookmark-end text:name="__RefHeading__2714_1114405012"/></text:h> + <text:p text:style-name="P165"><text:span text:style-name="T84">T</text:span><text:span text:style-name="T86">he </text:span><text:span text:style-name="T75">formatted namelist text </text:span><text:span text:style-name="T62">is </text:span><text:span text:style-name="T86">stor</text:span><text:span text:style-name="T62">ed </text:span><text:span text:style-name="T86">in</text:span><text:span text:style-name="T62"> a global variable </text:span><text:span text:style-name="T86">that may be used by a template placeholder</text:span><text:span text:style-name="T62">. </text:span><text:span text:style-name="T84">This way, </text:span><text:span text:style-name="T62">all job information </text:span><text:span text:style-name="T86">available </text:span><text:span text:style-name="T84">is written to</text:span><text:span text:style-name="T62"> a single script or description file, </text:span><text:span text:style-name="T84">and </text:span><text:span text:style-name="T62">native script variables </text:span><text:span text:style-name="T84">may be used</text:span><text:span text:style-name="T62"> in the namelist definitions.</text:span></text:p> + <text:p text:style-name="P170"><text:span text:style-name="T75">The name of </text:span><text:span text:style-name="T86">this </text:span><text:span text:style-name="T75">variable</text:span><text:span text:style-name="T76"> </text:span><text:span text:style-name="T86">is</text:span><text:span text:style-name="T75"> generated from </text:span><text:span text:style-name="T86">its</text:span><text:span text:style-name="T75"> </text:span><text:span text:style-name="T76">respective</text:span><text:span text:style-name="T75"> file name, </text:span><text:span text:style-name="T86">like</text:span><text:span text:style-name="T75"> 'namelist.echam', by </text:span><text:span text:style-name="T85">converting all letters to upper case </text:span><text:span text:style-name="T75">(</text:span><text:span text:style-name="T85">namelist.echam →</text:span><text:span text:style-name="T75"> </text:span><text:soft-page-break/><text:span text:style-name="T85">NAMELIST.ECHAM</text:span><text:span text:style-name="T75">) </text:span><text:span text:style-name="T76">and </text:span><text:span text:style-name="T75">replacing non-word characters by an underscore (NAMELIST.ECHAM → NAMELIST_ECHAM).</text:span></text:p> <text:p text:style-name="Preformatted_20_Text"># joe1234.config</text:p> <text:p text:style-name="Preformatted_20_Text">[namelists]</text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="2"/><text:span text:style-name="T192">[[namelist.echam]]</text:span></text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="4"/>[[[runctl]]]</text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="6"/>out_expname = $${EXP_ID}</text:p> - <text:p text:style-name="P165">#! /bin/sh</text:p> + <text:p text:style-name="P167">#! /bin/sh</text:p> <text:p text:style-name="Preformatted_20_Text">EXP_ID=%{EXP_ID}</text:p> <text:p text:style-name="P14">cat > namelist.echam << EOF</text:p> - <text:p text:style-name="P261">%{NAMELIST_ECHAM}</text:p> + <text:p text:style-name="P263">%{NAMELIST_ECHAM}</text:p> <text:p text:style-name="P14">EOF</text:p> - <text:p text:style-name="P164">which expand to</text:p> - <text:p text:style-name="P165">#! /bin/sh</text:p> + <text:p text:style-name="P166">which expand to</text:p> + <text:p text:style-name="P167">#! /bin/sh</text:p> <text:p text:style-name="Preformatted_20_Text">EXP_ID=joe1234</text:p> <text:p text:style-name="P14">cat > namelist.echam << EOF</text:p> - <text:p text:style-name="P265">&runctl</text:p> - <text:p text:style-name="P257"><text:s text:c="4"/>out_expname = '${EXP_ID}'</text:p> - <text:p text:style-name="P265">/</text:p> + <text:p text:style-name="P267">&runctl</text:p> + <text:p text:style-name="P259"><text:s text:c="4"/>out_expname = '${EXP_ID}'</text:p> + <text:p text:style-name="P267">/</text:p> <text:p text:style-name="P14">EOF</text:p> - <text:p text:style-name="P169"><text:span text:style-name="T86">Note how this setup uses the native script variable 'EXP_ID' to set the </text:span><text:span text:style-name="T82">namelist contents.</text:span></text:p> - <text:p text:style-name="P223"><text:span text:style-name="T62">As an option, the namelist text may be formatted using the global function 'format_namelist', </text:span><text:span text:style-name="T125">taking the namelist section as argument.</text:span></text:p> - <text:p text:style-name="P166">#! /bin/sh</text:p> - <text:p text:style-name="P291">EXP_ID=%{EXP_ID}</text:p> + <text:p text:style-name="P171"><text:span text:style-name="T86">Note how this setup uses the native script variable 'EXP_ID' to set the </text:span><text:span text:style-name="T82">namelist contents.</text:span></text:p> + <text:p text:style-name="P225"><text:span text:style-name="T62">As an option, the namelist text may be formatted using the global function 'format_namelist', </text:span><text:span text:style-name="T125">taking the namelist section as argument.</text:span></text:p> + <text:p text:style-name="P168">#! /bin/sh</text:p> + <text:p text:style-name="P293">EXP_ID=%{EXP_ID}</text:p> <text:p text:style-name="P16">cat > namelist.echam << EOF</text:p> - <text:p text:style-name="P263">%{<text:span text:style-name="T364">format_namelist(namelists['namelist.echam'])</text:span>}</text:p> - <text:p text:style-name="P109">EOF</text:p> - <text:p text:style-name="P224"><text:span text:style-name="T125">T</text:span><text:span text:style-name="T62">he result will be the same as </text:span><text:span text:style-name="T125">in the original example</text:span><text:span text:style-name="T62">.</text:span></text:p> - <text:p text:style-name="P224"><text:span text:style-name="T125">Additionally, </text:span><text:span text:style-name="T124">'format_namelist' can take the name of a group within the namelist as a second argument, allowing to format groups individually.</text:span></text:p> - <text:p text:style-name="P167">#! /bin/sh</text:p> - <text:p text:style-name="P292">EXP_ID=%{EXP_ID}</text:p> + <text:p text:style-name="P265">%{<text:span text:style-name="T364">format_namelist(namelists['namelist.echam'])</text:span>}</text:p> + <text:p text:style-name="P111">EOF</text:p> + <text:p text:style-name="P226"><text:span text:style-name="T125">T</text:span><text:span text:style-name="T62">he result will be the same as </text:span><text:span text:style-name="T125">in the original example</text:span><text:span text:style-name="T62">.</text:span></text:p> + <text:p text:style-name="P226"><text:span text:style-name="T125">Additionally, </text:span><text:span text:style-name="T124">'format_namelist' can take the name of a group within the namelist as a second argument, allowing to format groups individually.</text:span></text:p> + <text:p text:style-name="P169">#! /bin/sh</text:p> + <text:p text:style-name="P294">EXP_ID=%{EXP_ID}</text:p> <text:p text:style-name="P17">cat > namelist.echam << EOF</text:p> - <text:p text:style-name="P264">%<text:span text:style-name="T231">{</text:span><text:span text:style-name="T235">format_namelist(namelists['namelist.echam']</text:span><text:span text:style-name="T364">, 'runctl'</text:span><text:span text:style-name="T235">)</text:span><text:span text:style-name="T231">}</text:span></text:p> - <text:p text:style-name="P110">EOF</text:p> - <text:p text:style-name="P104">In this special case the result will still be the same, as 'runctl' is the only group within 'namelist.echam'.</text:p> - <text:p text:style-name="P170"><text:span text:style-name="T87">As </text:span><text:span text:style-name="T123">shown </text:span><text:span text:style-name="T87">in the example</text:span><text:span text:style-name="T123">s</text:span><text:span text:style-name="T87"> above, the script template is responsible for writing the namelist text to an actual file. </text:span><text:span text:style-name="T86">While in general the namelist file takes the same name as the .config subsection defining it, </text:span><text:span text:style-name="T25">mkexp</text:span><text:span text:style-name="T86"> </text:span><text:span text:style-name="T123">will not</text:span><text:span text:style-name="T86"> enforce this. The template needs to </text:span><text:soft-page-break/><text:span text:style-name="T86">be set up accordingly.</text:span></text:p> - <text:h text:style-name="P204" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3662_1790556471"/>Using native script variables in namelists<text:bookmark-end text:name="__RefHeading___Toc3662_1790556471"/></text:h> - <text:p text:style-name="P203">When using native script variables in a namelist, it may be necessary to suppress the conversion of values to namelist conventions. Consider</text:p> - <text:p text:style-name="P288">[namelists]</text:p> - <text:p text:style-name="P288"><text:s text:c="2"/><text:span text:style-name="T324">[[namelist.echam]]</text:span></text:p> - <text:p text:style-name="P288"><text:s text:c="4"/><text:span text:style-name="T324">[[[runctl]]]</text:span></text:p> + <text:p text:style-name="P266">%<text:span text:style-name="T231">{</text:span><text:span text:style-name="T235">format_namelist(namelists['namelist.echam']</text:span><text:span text:style-name="T364">, 'runctl'</text:span><text:span text:style-name="T235">)</text:span><text:span text:style-name="T231">}</text:span></text:p> + <text:p text:style-name="P112">EOF</text:p> + <text:p text:style-name="P106">In this special case the result will still be the same, as 'runctl' is the only group within 'namelist.echam'.</text:p> + <text:p text:style-name="P172"><text:span text:style-name="T87">As </text:span><text:span text:style-name="T123">shown </text:span><text:span text:style-name="T87">in the example</text:span><text:span text:style-name="T123">s</text:span><text:span text:style-name="T87"> above, the script template is responsible for writing the namelist text to an actual file. </text:span><text:span text:style-name="T86">While in general the namelist file takes the same name as the .config subsection defining it, </text:span><text:span text:style-name="T25">mkexp</text:span><text:span text:style-name="T86"> </text:span><text:span text:style-name="T123">will not</text:span><text:span text:style-name="T86"> enforce this. The template needs to </text:span><text:soft-page-break/><text:span text:style-name="T86">be set up accordingly.</text:span></text:p> + <text:h text:style-name="P206" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3662_1790556471"/>Using native script variables in namelists<text:bookmark-end text:name="__RefHeading___Toc3662_1790556471"/></text:h> + <text:p text:style-name="P205">When using native script variables in a namelist, it may be necessary to suppress the conversion of values to namelist conventions. Consider</text:p> + <text:p text:style-name="P290">[namelists]</text:p> + <text:p text:style-name="P290"><text:s text:c="2"/><text:span text:style-name="T324">[[namelist.echam]]</text:span></text:p> + <text:p text:style-name="P290"><text:s text:c="4"/><text:span text:style-name="T324">[[[runctl]]]</text:span></text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="6"/><text:span text:style-name="T324">dt_stop = $$final_date</text:span></text:p> - <text:p text:style-name="P145">final_date='2015, 12, 31, 23, 52, 30'</text:p> + <text:p text:style-name="P147">final_date='2015, 12, 31, 23, 52, 30'</text:p> <text:p text:style-name="P15">cat > namelist.echam << EOF</text:p> - <text:p text:style-name="P262">%{NAMELIST_ECHAM}</text:p> - <text:p text:style-name="P146">EOF</text:p> - <text:p text:style-name="P203">When the text for NAMELIST_ECHAM is generated, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> converts the value of 'dt_stop' to a string surrounded by single quotes (see 'EXP_ID' in the previous example</text:span><text:span text:style-name="T124">s</text:span><text:span text:style-name="T62">), as '$$final_date' cannot be </text:span><text:span text:style-name="T109">recognized</text:span><text:span text:style-name="T62"> as a numer</text:span><text:span text:style-name="T109">ic</text:span><text:span text:style-name="T62"> or logical value. In the namelist context however it is </text:span><text:span text:style-name="T109">needed</text:span><text:span text:style-name="T62"> as a</text:span><text:span text:style-name="T109">n unquoted</text:span><text:span text:style-name="T62"> list of integers. </text:span><text:span text:style-name="T108">To fix this, simply use the special syntax 'raw(…)' </text:span><text:span text:style-name="T109">around the value:</text:span></text:p> + <text:p text:style-name="P264">%{NAMELIST_ECHAM}</text:p> + <text:p text:style-name="P148">EOF</text:p> + <text:p text:style-name="P205">When the text for NAMELIST_ECHAM is generated, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T62"> converts the value of 'dt_stop' to a string surrounded by single quotes (see 'EXP_ID' in the previous example</text:span><text:span text:style-name="T124">s</text:span><text:span text:style-name="T62">), as '$$final_date' cannot be </text:span><text:span text:style-name="T109">recognized</text:span><text:span text:style-name="T62"> as a numer</text:span><text:span text:style-name="T109">ic</text:span><text:span text:style-name="T62"> or logical value. In the namelist context however it is </text:span><text:span text:style-name="T109">needed</text:span><text:span text:style-name="T62"> as a</text:span><text:span text:style-name="T109">n unquoted</text:span><text:span text:style-name="T62"> list of integers. </text:span><text:span text:style-name="T108">To fix this, simply use the special syntax 'raw(…)' </text:span><text:span text:style-name="T109">around the value:</text:span></text:p> <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T109"><text:s text:c="6"/></text:span><text:span text:style-name="T107">dt_stop = </text:span><text:span text:style-name="T109">raw(</text:span><text:span text:style-name="T107">$$final_date</text:span><text:span text:style-name="T109">)</text:span></text:p> - <text:p text:style-name="P103">which disables the conversion to a valid namelist value, leaving the correct formatting of the native variable to the script.</text:p> - <text:h text:style-name="P135" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2584_1114405012"/>Non-namelist <text:span text:style-name="T446">parameter</text:span> files<text:bookmark-end text:name="__RefHeading__2584_1114405012"/></text:h> - <text:p text:style-name="P192"><text:span text:style-name="T97">A [namelists] subsection may not only define a Fortran namelist file but also a custom format </text:span><text:span text:style-name="T155">parameter </text:span><text:span text:style-name="T97">file. </text:span><text:span text:style-name="T95">F</text:span><text:span text:style-name="T62">or any </text:span><text:span text:style-name="T97">of these</text:span><text:span text:style-name="T96"> files, the special section variable '.use_template' m</text:span><text:span text:style-name="T110">ay</text:span><text:span text:style-name="T96"> be set to 'true', </text:span><text:span text:style-name="T110">if </text:span><text:span text:style-name="T97">the model setup provid</text:span><text:span text:style-name="T110">es</text:span><text:span text:style-name="T97"> a template '</text:span><text:span text:style-name="T29">subsection</text:span><text:span text:style-name="T97">.tmpl', </text:span><text:span text:style-name="T110">or to an arbitrary template name, replacing </text:span><text:span text:style-name="T35">subsection,</text:span><text:span text:style-name="T110"> if a template is applicable to more than one section</text:span><text:span text:style-name="T97">. This template is expanded using the subsection's variables to create a suitably formatted text. </text:span><text:span text:style-name="T98">As for genuine namelists, the result is stored in a global variable.</text:span></text:p> - <text:h text:style-name="P410" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5414_906201810"/>Access full configuration in <text:span text:style-name="T446">parameter files - and namelists</text:span><text:bookmark-end text:name="__RefHeading___Toc5414_906201810"/></text:h> - <text:p text:style-name="P409"><text:span text:style-name="T155">By default, </text:span><text:span text:style-name="T62">only the namelist-specific </text:span><text:span text:style-name="T154">section</text:span><text:span text:style-name="T62"> is </text:span><text:span text:style-name="T155">passed to formatting, which usually is what you want in standard Fortran namelists. For custom parameter files, access to global variables or other sections may be more appropriate. Therefore, you can set </text:span><text:span text:style-name="T96">the special variable '.use_</text:span><text:span text:style-name="T155">full_config</text:span><text:span text:style-name="T96">' to 'true', </text:span><text:span text:style-name="T155">allowing </text:span><text:span text:style-name="T154">the</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T154">full</text:span><text:span text:style-name="T62"> configuration </text:span><text:span text:style-name="T155">to be queried during formatting</text:span><text:span text:style-name="T62">. For convenience, the namelist-specific </text:span><text:span text:style-name="T154">section</text:span><text:span text:style-name="T62"> overrides </text:span><text:span text:style-name="T154">global varables of the same name. If needed, the overridden values are available in a special section '_'.</text:span></text:p> + <text:p text:style-name="P105">which disables the conversion to a valid namelist value, leaving the correct formatting of the native variable to the script.</text:p> + <text:h text:style-name="P137" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2584_1114405012"/>Non-namelist <text:span text:style-name="T446">parameter</text:span> files<text:bookmark-end text:name="__RefHeading__2584_1114405012"/></text:h> + <text:p text:style-name="P194"><text:span text:style-name="T97">A [namelists] subsection may not only define a Fortran namelist file but also a custom format </text:span><text:span text:style-name="T155">parameter </text:span><text:span text:style-name="T97">file. </text:span><text:span text:style-name="T95">F</text:span><text:span text:style-name="T62">or any </text:span><text:span text:style-name="T97">of these</text:span><text:span text:style-name="T96"> files, the special section variable '.use_template' m</text:span><text:span text:style-name="T110">ay</text:span><text:span text:style-name="T96"> be set to 'true', </text:span><text:span text:style-name="T110">if </text:span><text:span text:style-name="T97">the model setup provid</text:span><text:span text:style-name="T110">es</text:span><text:span text:style-name="T97"> a template '</text:span><text:span text:style-name="T29">subsection</text:span><text:span text:style-name="T97">.tmpl', </text:span><text:span text:style-name="T110">or to an arbitrary template name, replacing </text:span><text:span text:style-name="T35">subsection,</text:span><text:span text:style-name="T110"> if a template is applicable to more than one section</text:span><text:span text:style-name="T97">. This template is expanded using the subsection's variables to create a suitably formatted text. </text:span><text:span text:style-name="T98">As for genuine namelists, the result is stored in a global variable.</text:span></text:p> + <text:h text:style-name="P412" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc5414_906201810"/>Access full configuration in <text:span text:style-name="T446">parameter files - and namelists</text:span><text:bookmark-end text:name="__RefHeading___Toc5414_906201810"/></text:h> + <text:p text:style-name="P411"><text:span text:style-name="T155">By default, </text:span><text:span text:style-name="T62">only the namelist-specific </text:span><text:span text:style-name="T154">section</text:span><text:span text:style-name="T62"> is </text:span><text:span text:style-name="T155">passed to formatting, which usually is what you want in standard Fortran namelists. For custom parameter files, access to global variables or other sections may be more appropriate. Therefore, you can set </text:span><text:span text:style-name="T96">the special variable '.use_</text:span><text:span text:style-name="T155">full_config</text:span><text:span text:style-name="T96">' to 'true', </text:span><text:span text:style-name="T155">allowing </text:span><text:span text:style-name="T154">the</text:span><text:span text:style-name="T62"> </text:span><text:span text:style-name="T154">full</text:span><text:span text:style-name="T62"> configuration </text:span><text:span text:style-name="T155">to be queried during formatting</text:span><text:span text:style-name="T62">. For convenience, the namelist-specific </text:span><text:span text:style-name="T154">section</text:span><text:span text:style-name="T62"> overrides </text:span><text:span text:style-name="T154">global varables of the same name. If needed, the overridden values are available in a special section '_'.</text:span></text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2831_1132221942"/><text:soft-page-break/><text:span text:style-name="T98">D</text:span><text:span text:style-name="T62">efining input files for an experiment</text:span><text:bookmark-end text:name="__RefHeading__2831_1132221942"/></text:h> - <text:p text:style-name="P199"><text:span text:style-name="T62">While the namelist files determine the model properties, the model state </text:span><text:span text:style-name="T106">also </text:span><text:span text:style-name="T62">depends on input files for initial and boundary conditions or assimilation data. These files are defined in the [files] special section.</text:span></text:p> - <text:p text:style-name="P214"><text:span text:style-name="T62">Each </text:span><text:span text:style-name="T115">sub</text:span><text:span text:style-name="T62">section may define </text:span><text:span text:style-name="T114">or override </text:span><text:span text:style-name="T62">one of two special variables:</text:span></text:p> + <text:p text:style-name="P201"><text:span text:style-name="T62">While the namelist files determine the model properties, the model state </text:span><text:span text:style-name="T106">also </text:span><text:span text:style-name="T62">depends on input files for initial and boundary conditions or assimilation data. These files are defined in the [files] special section.</text:span></text:p> + <text:p text:style-name="P216"><text:span text:style-name="T62">Each </text:span><text:span text:style-name="T115">sub</text:span><text:span text:style-name="T62">section may define </text:span><text:span text:style-name="T114">or override </text:span><text:span text:style-name="T62">one of two special variables:</text:span></text:p> <text:p text:style-name="List_20_Heading"><text:span text:style-name="T62">.</text:span><text:span text:style-name="T113">base_dir</text:span></text:p> - <text:p text:style-name="P129">file names are taken to be relative to this directory</text:p> + <text:p text:style-name="P131">file names are taken to be relative to this directory</text:p> <text:p text:style-name="List_20_Heading"><text:span text:style-name="T62">.</text:span><text:span text:style-name="T113">sub_dir</text:span></text:p> - <text:p text:style-name="P215"><text:span text:style-name="T114">file names are taken to be relative to this subdirectory of </text:span><text:span text:style-name="T62">'.base_dir'</text:span></text:p> - <text:p text:style-name="P159"><text:span text:style-name="T172">For expanding the resulting file path</text:span><text:span text:style-name="T156">, </text:span><text:span text:style-name="T51">mkexp</text:span><text:span text:style-name="T156"> provides </text:span><text:span text:style-name="T173">two</text:span><text:span text:style-name="T172"> global function</text:span><text:span text:style-name="T173">s</text:span><text:span text:style-name="T172">:</text:span></text:p> - <text:p text:style-name="P274"><text:span text:style-name="T156">get_file</text:span><text:span text:style-name="T179">(</text:span><text:span text:style-name="T54">section</text:span><text:span text:style-name="T179">, </text:span><text:span text:style-name="T54">name</text:span><text:span text:style-name="T179">)</text:span></text:p> - <text:p text:style-name="P101">returns the full path for file <text:span text:style-name="T9">name</text:span> as given in the <text:span text:style-name="T9">section</text:span> object. Note that <text:span text:style-name="T9">section</text:span> is given as object reference, but <text:span text:style-name="Variable">name</text:span> is given as a string. <text:span text:style-name="T363">If the value of </text:span><text:span text:style-name="Variable"><text:span text:style-name="T363">name</text:span></text:span><text:span text:style-name="T363"> is an absolute file name, it will override .base_dir and .sub_dir. If it contains native script variables, they are expanded to their top-level configuration values; if none is found, the native script variables are formatted as described before.</text:span></text:p> - <text:p text:style-name="P376"><text:span text:style-name="T192">get_dir</text:span>(<text:span text:style-name="T9">section</text:span><text:span text:style-name="T62">)</text:span></text:p> - <text:p text:style-name="P101">returns the <text:span text:style-name="T363">directory for the </text:span>given <text:span text:style-name="T9">section</text:span> object</text:p> - <text:p text:style-name="P199"><text:span text:style-name="T113">Other than that, t</text:span><text:span text:style-name="T106">here are no restrictions on the content structure of this section, and the job script templates are responsible for converting this content into a suitable script text.</text:span></text:p> - <text:h text:style-name="P100" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2833_1132221942"/>Overriding <text:span text:style-name="T322">input file</text:span>s <text:span text:style-name="T322">for certain</text:span> jobs<text:bookmark-end text:name="__RefHeading__2833_1132221942"/></text:h> - <text:p text:style-name="P81"><text:span text:style-name="T323">As for namelists, t</text:span>here is special provision to change <text:span text:style-name="T322">the [</text:span>files<text:span text:style-name="T322">]</text:span> settings for a specific job. <text:span text:style-name="T322">Let us assume</text:span> <text:span text:style-name="T322">that a model run continues a previous run and reads that run's state from a restart file that may be defined like this:</text:span></text:p> - <text:p text:style-name="P77">[<text:span text:style-name="T322">files</text:span>]</text:p> - <text:p text:style-name="P255"><text:s text:c="2"/>[[<text:span text:style-name="T322">echam</text:span>]]</text:p> - <text:p text:style-name="P255"><text:s text:c="4"/>[[[<text:span text:style-name="T322">restart</text:span>]]]</text:p> - <text:p text:style-name="P255"><text:s text:c="6"/><text:span text:style-name="T322">restart_myexp_echam.nc = restart_myexp_echam_18491231.nc</text:span></text:p> - <text:p text:style-name="P200">The first run <text:span text:style-name="T323">will instead pick up its state from another experiment. This is done with </text:span><text:span text:style-name="T162"><text:s/>a job specific </text:span><text:span text:style-name="T171">'file</text:span><text:span text:style-name="T162">s</text:span><text:span text:style-name="T171">'</text:span><text:span text:style-name="T162"> subsection that – apart from the addition</text:span><text:span text:style-name="T164">al</text:span><text:span text:style-name="T162"> brackets – has the same structure as</text:span><text:span text:style-name="T161"> </text:span><text:span text:style-name="T162">the global </text:span><text:span text:style-name="T171">'files'</text:span><text:span text:style-name="T162"> section.</text:span></text:p> - <text:p text:style-name="P77">[jobs]</text:p> - <text:p text:style-name="P77"><text:s text:c="2"/>[[run_first]]</text:p> - <text:p text:style-name="P77"><text:s text:c="4"/><text:span text:style-name="T192">[[[</text:span><text:span text:style-name="T201">file</text:span><text:span text:style-name="T192">s]</text:span><text:span text:style-name="T201">]</text:span><text:span text:style-name="T192">]</text:span></text:p> - <text:p text:style-name="P255"><text:s text:c="6"/><text:span text:style-name="T253">[[</text:span>[[<text:span text:style-name="T323">echam</text:span>]]<text:span text:style-name="T253">]]</text:span></text:p> - <text:p text:style-name="P255"><text:s text:c="8"/><text:span text:style-name="T253">[[</text:span>[[[<text:span text:style-name="T323">restart</text:span>]]]<text:span text:style-name="T253">]]</text:span></text:p> - <text:p text:style-name="P256"><text:span text:style-name="T156"><text:s text:c="10"/></text:span><text:span text:style-name="T170">restart_myexp_echam.nc = restart_</text:span><text:span text:style-name="T177">another</text:span><text:span text:style-name="T178">exp</text:span><text:span text:style-name="T170">_echam_18491231.nc</text:span></text:p> - <text:p text:style-name="P76"><text:soft-page-break/><text:span text:style-name="T162">This</text:span><text:span text:style-name="T170"> will result in a '.run_first' </text:span><text:span text:style-name="T171">script</text:span><text:span text:style-name="T170"> tha</text:span><text:span text:style-name="T171">t gets the model state from 'anotherexp', while the '.run' script</text:span><text:span text:style-name="T170"> </text:span><text:span text:style-name="T171">uses 'myexp'.</text:span></text:p> + <text:p text:style-name="P217"><text:span text:style-name="T114">file names are taken to be relative to this subdirectory of </text:span><text:span text:style-name="T62">'.base_dir'</text:span></text:p> + <text:p text:style-name="P161"><text:span text:style-name="T172">For expanding the resulting file path</text:span><text:span text:style-name="T156">, </text:span><text:span text:style-name="T51">mkexp</text:span><text:span text:style-name="T156"> provides </text:span><text:span text:style-name="T173">two</text:span><text:span text:style-name="T172"> global function</text:span><text:span text:style-name="T173">s</text:span><text:span text:style-name="T172">:</text:span></text:p> + <text:p text:style-name="P276"><text:span text:style-name="T156">get_file</text:span><text:span text:style-name="T179">(</text:span><text:span text:style-name="T54">section</text:span><text:span text:style-name="T179">, </text:span><text:span text:style-name="T54">name</text:span><text:span text:style-name="T179">)</text:span></text:p> + <text:p text:style-name="P103">returns the full path for file <text:span text:style-name="T9">name</text:span> as given in the <text:span text:style-name="T9">section</text:span> object. Note that <text:span text:style-name="T9">section</text:span> is given as object reference, but <text:span text:style-name="Variable">name</text:span> is given as a string. <text:span text:style-name="T363">If the value of </text:span><text:span text:style-name="Variable"><text:span text:style-name="T363">name</text:span></text:span><text:span text:style-name="T363"> is an absolute file name, it will override .base_dir and .sub_dir. If it contains native script variables, they are expanded to their top-level configuration values; if none is found, the native script variables are formatted as described before.</text:span></text:p> + <text:p text:style-name="P378"><text:span text:style-name="T192">get_dir</text:span>(<text:span text:style-name="T9">section</text:span><text:span text:style-name="T62">)</text:span></text:p> + <text:p text:style-name="P103">returns the <text:span text:style-name="T363">directory for the </text:span>given <text:span text:style-name="T9">section</text:span> object</text:p> + <text:p text:style-name="P201"><text:span text:style-name="T113">Other than that, t</text:span><text:span text:style-name="T106">here are no restrictions on the content structure of this section, and the job script templates are responsible for converting this content into a suitable script text.</text:span></text:p> + <text:h text:style-name="P101" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2833_1132221942"/>Overriding <text:span text:style-name="T322">input file</text:span>s <text:span text:style-name="T322">for certain</text:span> jobs<text:bookmark-end text:name="__RefHeading__2833_1132221942"/></text:h> + <text:p text:style-name="P82"><text:span text:style-name="T323">As for namelists, t</text:span>here is special provision to change <text:span text:style-name="T322">the [</text:span>files<text:span text:style-name="T322">]</text:span> settings for a specific job. <text:span text:style-name="T322">Let us assume</text:span> <text:span text:style-name="T322">that a model run continues a previous run and reads that run's state from a restart file that may be defined like this:</text:span></text:p> + <text:p text:style-name="P78">[<text:span text:style-name="T322">files</text:span>]</text:p> + <text:p text:style-name="P257"><text:s text:c="2"/>[[<text:span text:style-name="T322">echam</text:span>]]</text:p> + <text:p text:style-name="P257"><text:s text:c="4"/>[[[<text:span text:style-name="T322">restart</text:span>]]]</text:p> + <text:p text:style-name="P257"><text:s text:c="6"/><text:span text:style-name="T322">restart_myexp_echam.nc = restart_myexp_echam_18491231.nc</text:span></text:p> + <text:p text:style-name="P202">The first run <text:span text:style-name="T323">will instead pick up its state from another experiment. This is done with </text:span><text:span text:style-name="T162"><text:s/>a job specific </text:span><text:span text:style-name="T171">'file</text:span><text:span text:style-name="T162">s</text:span><text:span text:style-name="T171">'</text:span><text:span text:style-name="T162"> subsection that – apart from the addition</text:span><text:span text:style-name="T164">al</text:span><text:span text:style-name="T162"> brackets – has the same structure as</text:span><text:span text:style-name="T161"> </text:span><text:span text:style-name="T162">the global </text:span><text:span text:style-name="T171">'files'</text:span><text:span text:style-name="T162"> section.</text:span></text:p> + <text:p text:style-name="P78">[jobs]</text:p> + <text:p text:style-name="P78"><text:s text:c="2"/>[[run_first]]</text:p> + <text:p text:style-name="P78"><text:s text:c="4"/><text:span text:style-name="T192">[[[</text:span><text:span text:style-name="T201">file</text:span><text:span text:style-name="T192">s]</text:span><text:span text:style-name="T201">]</text:span><text:span text:style-name="T192">]</text:span></text:p> + <text:p text:style-name="P257"><text:s text:c="6"/><text:span text:style-name="T253">[[</text:span>[[<text:span text:style-name="T323">echam</text:span>]]<text:span text:style-name="T253">]]</text:span></text:p> + <text:p text:style-name="P257"><text:s text:c="8"/><text:span text:style-name="T253">[[</text:span>[[[<text:span text:style-name="T323">restart</text:span>]]]<text:span text:style-name="T253">]]</text:span></text:p> + <text:p text:style-name="P258"><text:span text:style-name="T156"><text:s text:c="10"/></text:span><text:span text:style-name="T170">restart_myexp_echam.nc = restart_</text:span><text:span text:style-name="T177">another</text:span><text:span text:style-name="T178">exp</text:span><text:span text:style-name="T170">_echam_18491231.nc</text:span></text:p> + <text:p text:style-name="P77"><text:soft-page-break/><text:span text:style-name="T162">This</text:span><text:span text:style-name="T170"> will result in a '.run_first' </text:span><text:span text:style-name="T171">script</text:span><text:span text:style-name="T170"> tha</text:span><text:span text:style-name="T171">t gets the model state from 'anotherexp', while the '.run' script</text:span><text:span text:style-name="T170"> </text:span><text:span text:style-name="T171">uses 'myexp'.</text:span></text:p> </office:text> </office:body> </office:document> \ No newline at end of file diff --git a/doc/mkexp.pdf b/doc/mkexp.pdf index f020acdfd9e93c472b7347070afb714c7ccdcdef..fe94dac155a4247e31493078f6e2f93b6842c7e6 100644 GIT binary patch delta 71371 zcmYg$V{|6nwsqLCZFHP;Y<8SHv2DA9j+2UQ+jhscI<`8t-7&uR+<Wf%&d)j4s<q~v zwX4QnWABV>#FT5qI!y?`pn#?qm3f1h#7QU5Ux48uMb3{9!j$Rx)hIqmOi8V1VPihY zD+-*uStsS`sX~(hd%S9=^i$ydaZtX>s6T71+fHmbCu%o(_U(Q-SE1+q;+_Nuet%r< z$;mOu)!s-`S<VQ_{J4LKooC|m-F>-#nciZ`Lh9E|!<~BTZ=(l>NEu~+rN}(0_x(v} z5e0tbHsU<6W?fJ(`wytiW?l`D)B?cE$ICtai+eeNfS`U>>vin%HR1!ml)-h5wEO$y zMsuL#R%`v@-UFSN9pA_A)~k*4#X-@wa{@Vmra(!7h*!F)(+?1cyy*LE=MT2d4}w>T z5ru5jXi|#NM<swxR$le#F7G?{4jsMDL%=3Ho349ParbrV@ykPhHN&5ZKWD}7`(NBp zC*X2AYTs>e>{lBqlV=)mi_z|(j{`IVHr&qV*SUr$x*!BE%Qw+{mT4;5BuQ`1uyoSJ zhl9+Q8eN-DHJ8&^o5cNO8c*Wc9_>Oqa)oL>)FbquLxq60vszbeJ_6tuDk+xhn#%R& zgK(N<kVUEj^Hx7wA+;1>^T^>Il!(l!`3oMWS1zFS8$|(9!M+Xgv{j8SlVW-bK0GCF z+Mny3F8b;W6C^8re~yiD2|H7{QA!&Tk4TZQXJ<Z!EO3T~&2vM;p`bymKxEtGvmj+K z>h?bF>mA_GT6#z8BFNO!H_wIJZ3pu42NP7F|BJMs5SQu<V9)^?xiwpCP}~!+LZ`H$ zSiFKUxtOFdp6m$YlrdiBvZW6XU&3ex<+%h{ceLN!t41H61O<kr-|=5wGVU2VWm`%= zO-<6*xyBj$>l+Tsuha>GA-+rUtaR46(mn9*Y5<CbIX#m}2y6nI<+s11$aeOl^FnqR zCuRtfq#76tsPkN8n5(hsakXjt9qe_DohRuzg)VrJn$0a6ktdznb6|_22AG*3X)c+l zWRpDy&=tyvlTg+w*1jzI;EbpZjT+7`{1H#I$E%OHo{)^d?c0h<BOu+h%8zOgX8(3m zwFa0x({vjvrC>r0cNUFeYsrfx)MwD-Y+yPzV6^9kNz=z8z(wHue7}hC#uQ4L*-PcY z6A9}ION~N=i(v>d#sgVop5^sYAU7-5CG29AbleZ8x1?+n8_At8IMk(g>X_(5G1!?T z#>@0&>lP%}L{Cra5Q6*8az;Ri>g?&pWdZ`e&*QwNlT8VbTf3?h_JKyEki3pkt!iOz z(@;Vn^WhWCd9=kcf$rGdr-X!51VZ{a1fBi;f(z(22!#W3juwiBt89zelTQ}{)x&e9 z4(rpf&}HHQNk<ap#AH~A>Tl??>2EK(Gcn3>useEk@)QMD<Y_{ebb_#)d`AO8a{$_% z^zKCLqgz0wQ_mAzVMdCjl^w1%`Ohp?6fVIZQ;6gOBE<IJ5M)kA5m_Br1E;*5S|kPU z9AjasfS&p~Wmd-dQoFowM(iT~WWiiToIhiC3#CUwSL5{+_bRsPum3Xrp*&$cr&yZv zS7~u<T)Tl#FSSf^)QkGn10}TD@(pmVMVc*J`|8V_7o&a%J|elWN=t>(YRgq?Su6#H zA{;&I%HK?sg3suyvUycDwFK*h*Q$B0;J!z3ULB%{3DXIuuhsp7N+}^lOHQU^`y`yP zZ1PNlntz&2kV4)lvGBwL+x8XI2t;mlAz~rsYZ4DT8rUV?*b=N^ELO|SX#lh_z0a<P zj+lNPmG0rSt|{&%2z-6z&>z@aov{I0!>ct}w|HxIlpIQnYe{eWL$iZm7K7!!to3W< zzKeHn6$=OfKzh4wk;>^s)y+HR_D_Mw+nE>VuTxM*t3F013>WS`)+mpKWi)15w{ZH+ zaa%v1)vU!n=+=yun-}&aq5$lY8?7)dZnR=c-U8?*n2Sox&=#MtovncGl;^)TQN9nj z!?;_QojYC(9`^L);SmeO&yq?yr?=~SGu)R3x9jwY21mog^7UYGKPUzzTeU8&YIIIn zn!FyAym^OndGNL;+Jb*<J{K0P)nmFcX>7in&B((@E@0O7e8tUYQv^I3;hRRTl?XvD zw@-Uec73^znK-@l2HhiDe1S7;WfTwFq9Y`F9iJrPNbOsNFSG%X@#zswe^PtPw+#4> z|KuHRJS3fe5&UL%6kT$lq+;6=iQE)FejM^Qu!OCNPh1iHkBu10Ldbp%>|}#9T8c@- z9`)*7KeCN+xD+P^H6|b+qGFqBP$5D6{%Be|>QB*XRR+IIJT7@NTOU`PUDPb*6-r4J zVX1%=%QfSxleM#TT6B`HW_e+aGO3_N*hl?b;^9ZpiHpI&k@9RoNzffSheXFV%CiC9 z|ITwWC^@n|;Bk+N6d1ht{XkEIHJ88$t@3NhO5@G<6eo{GZC1cTl<G|uwAm;oxj=QR z|9f&C#FAQwb>G^ba6PClV=QLT;8o<`Chdu`%4bd{i8Orxvm5fKiAuj|O_e{wM9Nej zpQd8GUB|fGPyKe=rg3Hib9`yZe)dlQ(-)!eadAm?=<rfiRnBZRP-dM}uQ?cfCY?M9 zbXSy^kurTm3>r}FEp=`oJ?LeQ67jN&hW7i{xmaswl|0lKixS4Zqp5ZF-js7%fpm8G z?JOcMk8XmH@TPS=TGPk_ab%&EIA-<`Bw502TZy`Et(`k_JVepFaLjcs+^kvanCsPu zY3UJdBpx0Lu$dZw2zTmluR5<p&m?VJ<MYF6iZ$)8qBXE-S#V`tsFl6&ty6gc%LB`Y zOhMJQrN|Ltixki|?v{kLm6;69o*vE8*vQLFZe-p;s+5~nQ1ym?qUat9lq;Yw_KCp! ziH|VDl=zU1V=m^m;6s|bmz8|PdAy)$HWGSQ#Vy|NyqQt5pu-pbHj&Uw?H^_u$AWg1 zwI;S9egh~Os<>k-aKq`14Y3Di^Zvm@;Y-D)KL8H>rZYvC2lHEQSwjZX_I4JcX<gaM zVLDfthyN&a<WH$c5Bq>NIf!PFnogbwlRa=df=pQ?9WC(Gi}^uJS6djtGVEoOY{zmK zHRvjF%Q?|Xf3)Qm+BsF-bO`+~AL|rYbh&F`U;yG<zM^mrR&)DkT~fZ~u*5cFI2`Xp zbMqDtNUM8H-ktFIp4z#4o*}&~G0t54Bs-X4_%$PxA8vgh;ncvzOoGn1(b2urS91+) zsr9dpRM`t&&ksdYTqv|#g=@#zzuAiXTt?kv7nVvMk$j2u;rn(^Nc-T!BgoxT^^ebM zkN{U5W~DMc0y$L*-1fEs$%b6}4%k88?{lFL$UFsJ0ZuuwZ@*J*OM9sl6gX~%G7b8! z;gLej$E21VX4h|p&vXY2PrskJXe8VennfnW71*|gRaDm}=XBCbWKP2w&Lx)ciILjO zb&zQF5-90RZ<;t74ofRXmY%z7jK*LR2mw|Z(T2^_ytZ9l^#-{z%7qDh>G0f=1j?D| zk~iuFw2YA!L9LAYk`Ya=^{CmMp{S;pfIB_zv^Up$d3yJ6*)+h@KEl8SId?+vK=5^Q zEP}NCnAwo9dLj_Cqy9w=YYtyLuf}++)}M7QMjkuWg2SlN&2pEP=)~nE069om0GKUW zgFj}B`0Ce9<Vm=J)Wg(kMi#78l|8RwD}D_8^W)%S9XZG7v<(YyIx0u5lDk4PBUNCY z+6h^h$-+@a8-gm$<liF9>{B>zaoWsFejP$di3tgl2Xb9pc+Ovp@E~`p+zD*<ZvI9* znnVq>LYt^d(PQe6Slx%cIy&}<0|g`Zd3K#!{plt;vMa)?rPTI>X)02`o2#)VjBe3x znLA7{9h;vE-&jGvhf&`@cR<%8w2E1|{2oL?>B{Q4hGJPGnr~5+8Tl=cJy1KPhZ9SL z)qNq8BR48Weyx_#>f~eafryOTw4cw9P&<oPwK08x<yUc0o~H!ST-D79YJ5^Rw95YT z*$M+!zB?@!nf61!D7e){j11Bgm;!&EijRp_4!T`kJ~*uB9$#aby)g}tqR^Ztmg#SA z5nwclCU0YZn1$^HpmcunyN-T(z6iP8GDxJ7<$z-#a*{HWIv88SvoW)>C9)w)0`K(f zI8(_7T)3i%<47A2A;`r#Bs2Ll4DYYW7c#Iroh`TwT63j1xk_|TXj^`M=(K*(>Ip5V zQ3-vt++E?Nd{3un-tr{I8e(;bclzU~<VhN>2C$gI9)Nt&T~WfV7WF~Bj7zI;LqrFE zy60IDB!Om`EXz(*w?HK+2p4|_a0$=YbIhH@BdM>IfQS34{8NzG_HRPPfh|({?4k6d zCp_C~5P}A`WI^R=)<ChX!hCx-<3_>HDkKIme%vD;+Spyi!5ecv?aCd`7xIs#p}_Y@ zuR41f^$auu0_Y9YQ`6$kd#+x1+FTu2QFDYDcYx~k1)A3b@y`m{vZV7YRU9wXf)*#j zu}|p^ES?p?vagYY#3H8N1ri5j+v1Pk-a!VdH#@2SV;%y}|2MCp8wCLg_<lSf(2Dgq zqqi*$({EQI6zda`c<XgsdeV#9we8s#)`MWw4!rEiXoEpD`7vXO*VZz5YEcQ4;`Hbb zMyBf*!7YA80-l%0FG6uR>_84+7#bE#doYHOt`PtYa@CvrY^p&TLE#%zI$CS`1@H6y z+u6Z1LzWYKRJsLm<FK^wwMbwW!=6^1BJmvuza)7neYo__P(MK7+^&p!*QEXIUCdA0 znYIcu+`u2bI+ruIN9*i=z8s;Ib2ongunhJ|{!15TVg?ZcICnz{kpu#u=N+`MZChq{ zipq_Ll7{!^$98K*6c$Qhn88<3Bk*hn+qA`>>dc9^U9+hlu|l8W9^0RlfvrzF5UIIZ z`SWJvWHeIxOE{GR9G@qTJxoBj?Uk@)Y?EW6!uQT?-D6TdMKPKyt$7Dw){-QD)4sLJ z%R3yF@tmdt{{O+pzz;IPA_}jih}$&fFA31m8g5jH=UVh*CLla1Z03hyQBb`_HBBt7 z8L5`y-A}<p>4z$;1D0Y$Oq}&|(P3gG(7zsyQwFC%@Q!pPS6ORNPZ~*Ljbo7IG(9Dw zT>U@D?c8L+`ujg^PiH-1)6Ax|m52eAvG4W0pNVVfvj1uH-Dmd~<N5Dd%U2##`I#E5 z2A{OZ{PsmGNB(!>F$~V+3^rtW0saf=2}+9pq51T;62n32KN>!q|4V|QVEAuS9950v zF0yw*R%*-Th*f_sQrYG5>yUdd8if@=)f)Nmc|mPHXHZv!wMZ50H^fj)gKp-(Wl|s{ z@=Z2b{fp_ph;E--)yVy)QG}jF8|TIUnT42hxYqc8Ud<fE)BJCwJwgoZKR{8OT=74k zB0}tg9}9J|gPT1!l&mLK#LLLH^NmCTgFEMcR|yI|0yt|T0lg?7W5eHu*7K?|!LuDx zasOq0`(^^_A!RUbAVG(?PR#$D(m<$KL#BFm;A239nOH$X<3xi=t-NxQv-R!qKnTax zh(OdiUfsUzU<h_4Dq#GdY5sZqit#gs@c!;h$e<>d38dRtpUL`g``j{qMY0QVe)}BD zWgh>_4f)#eYNDP3#XS#}J#tiNY(w?{0`GI1tF=Gc(bu9C__%fY^nNyhQ7oHG{GcZT zP(t3aE&W43Dz39<LH*8NRxjdlIhpPpv=&kaFcxpTY6;_V%^-;9fUglb8ee4mnU9)G z&6r86caW6(nBl%l&}+X63vrpl*c7Pxymw<k_fFmyFryh=N8z2fdW0rOZpLTHVMEE# zL`5-RHc%#;5qK*g6i+tnCZP&0jFL<PPnJIYiUIC)(6Y?6ERQV~%pivX0`_6Sm29OF zWnVqfUhacx*afB0@8x$9q19|yMV_uxIP6EAfowR!>zWEho6OTW*$l9@^IP-6+8sAn zLs+${jNFN2?FKPb>?OE-u?$kK#bY;UyL?gA!*>}5;nfSLZKsSbr7n5xjIz=Id?(l! zF1=8xuV{Y$VZ%tT<ma5|ERgZJTWRZ*aP?;&%hS1@^(iWQrvzqSek`o+gURa-!5nAz zB%?SI2t(fXiI~`a=cvC28OmNfNepGaUOB<McyAem7oA}ENSNk4=BtO;xuSyc%#D@h z%gB4i<Lgsj)Y^Ca=3OgdHGBRE09aZlBaX%1-PgEM3gr`GD+aWKBpp(RCq&!P8*cnj zTtS}h2l#q-ry75h%yTl>u7jb!8lZ)1^LJ*!8uI(Wgn&48L$Ri<|LBnn2m0<6@zxiR ze3@iBBo%bTQI1|5Fx3#Iy=oeBArJOO9GeaCflhDwWAKwAQA9tt0|x>R5c@SpvNGiX zUzk+}+er3TYGn9ZpkWym_NJF8KQEe{br8<3r8g(VnLUq0;bP;;lOYGMg`*SFrEvCF z6&q)3l0!QS?{&yvY?^Ml2biA)(;m!1b6;&Hl3+z?Lx;Dzli3SFWFo7p26CNJ5gRCv z!FtI&4)+#@t##(-!*oMEKvJIK&-wZYIqTm<WVq0Rq|$x7yX9bn>8pR_;*TWc3)7fo z<QEsaQRr2|cX&Kv+A*4q;DuGGlM>~-1@>-X7s5hti`P)E0s!Bcj-`>3LagZyMrwe; zucazT@T$ks8ie-KRH`c5APf@Yz^Jt7mjd+1r5-d&4=F1|s3AQLV8~M_5}=X)6>d~; z?Y#(F2yTW|(&N0CVB-xQ7M?Y#hF=f5Xk<z&*i-(zeP{?XY{j6gCz>Y78kJ7owamh2 z#;U4iVq!HQhstzoHCyiTOb^~^Q{%^6k*k9$l8KgLv3W*I;hNA--Yukxa~#}EhyC)2 zh%cc{PVy=wV~^dlz_(gCDefj?6|D8rDPp@eA}pDMXs18oD<6k6`OmnJibrc6UJFxy z)7PA9dR~7P&Um6AJ9%foYyX@QS@<rXD+m)`U!lsdh&iY{D7r>WO#{1lP(+o-l~Q;m zyY`Zh7)YFevfI9U=_XLBXZNTfGtK$RGa_<P{@ClKdPVqq59pkis6Vw-5NF%y)+o>1 z=bxWNhRMDj;VcZ$Cy6Y6Ih|h&LC?l_iPi$italt>;zm9zNsQw3`BfNYAr`#pC4Ih7 zWVyK~)HpR+e750)nrN|?3BET|_v#ZkY<Q~9=rUWAWZ$`@A!j4{9hRvyaoKmJlF&+H z8)3D()rAcQ0sTLhmM?$M=-Qdhr^HG6y7#K&wrSL4m=a2fqI?(Fpo(>Z|FT2@C=w~| zOpFec-d+e%S+8%M7|{uYM#(pD->zx0iOHZW=;1x#PGdreSR^2<vljVIzq>DdnxUgg z%rqjFnpnCCj&rm{g<8=Ca_2^?XhCL_dm@g`pg>Tg0;<_J9xvc-4=h<l_|Dkli3Br- zz5RT;JCG6>@X8%1ptaZEchMUIql<B7j<EFo{8A%VVw9Qh@8xO<Zsx;A*nCYD*nCy( zC|~6w?(@x?XB@(m3Cm`Q#9wV};Vim#t}WjNzCa{~3vOGMT)m%P)f~Ot!3ma9=N+*e z&u2#70Q<z595FNeqtjmyU(`@};P<a-L=E9LASvnUg<svEEoWYGjhqTNAnhy;S?1HT zK0|8lW=20WpFdBUqH~G(CyjvXrb(-6kLxp@8?Hcwh`&uA>b4a8(^H|ZiwLkwBu}4D zm4ssRXM!qdGh0N@pQDw8V>5Fz``~Of=04z}0GgV6aTuh0JF}+J+YeZvh$JtmO(}r+ z#kbS|B;LcUXs?jM-Z}qh4uPMe^R%W!YFjEgCEj}3Bk?xNCHeiR_)=y#9Cq|b`AMgf z2Vyw#mw|Lq4VdNS7K>x2)0}O*qGOn8ZcfqWlazvg0rho*&~OD;XDWsr|3m`cn+e$( z;DUzI;ly2ZZ<mJ>7yCGHL-lZw$E)>9xw~AZNSX%<GBIn``l8Na2h|hB^l=YU8~8a5 zJGWbkpzC{syoe(wG1K<6t55OBw(R|0JDyv(W`VXF&&rz4un$MqJwPCZrnuwy%=?X1 zl1?O?^k8`8WhfaV)+X*qN}L7_3MJVDh)8nR4dnk<xYtpIJ`?@_g2!#J8l05G%cRrs z5sKu@9jnQ5;UgTQ&PC*ya1q3F`~4*od-(gb%9Kg45)Q3(w0EsvJYrOX(1phpzm-b; zJ2eRwWb0(6vg?R+OIQv|2_aA>_u!?=bMx=qzRyBnd8}mcpF%v!Xdo!h6^#F8P;RN5 zx;OTpQnH~_?BXE)8sVI;Sou<M>UPFPDu@46#w<q%L7j5g{xAAhp8(~^_ZkR=@`I5B z)waeen<S!fU8royv#Ffg(g&!LHDXUjJ=cec#N_cvVB%l$6iqd<1^%so++U~d{5<_1 zttv$z8nh_Q5YGQ-yEC(x{x<<J#k&8^`p1zZ*o1F<UjO3qKPp?sr*b_0ZK|K=>MGm+ zdHVgovodq`_r_#_9Nt%vj=O#sbnWi{>Wawt|LX;W{8v}0=`59^{}^VJ@*mph{+^Q+ z4Hp0R!t&Pd|I1iZBV6wPSSM!aZSo(R0UGq){#(NMfAJNs2tx0xJK!PzkKXkE2B-fG z%Ki)ZNB$Q8fBtv1e=RAnR(?s-|D(j*e7rz+jd?|ss&X(_U!%l1_I7g%Efl8kZRme@ zkL4Wy%ovGH9HPK@41F8Y#-oNiQExK(-!gPV%$bd5$O-#|FZHdXj3|b21f&hWuR<3R zE6@+@xB3j3eKr;;!*}<t;}VXfvp*hhx8}VwO7WHw|GEYY<){~yESAsLe!4%Ok;s3B zJ8T0zA7=*_dqe5-yKnpIz{}I?NvxZf^4-Z^E{?mx=Qk8jbzfI7?Z9~n54)Qaq|d}) zPCkHy`Om7ZdB^+3Ug@S7aZos;VQ|x;Efqb3Ac5{r-`LNmN&O!%enPc#FJl$Ir4zgC zk*Oh@vi+O$81LkQEqwXt-;RFjb2ZJJ-}is(EO2=`(CaH%gg)d=`4aEPEwVHHH=&sS zm7jYmsYD9p99q|V-rm9s4k9mfy}7tM2HzKm1Y)KgUwC4oh4hcy2!jdwa2)EOgahi_ zFfopOga!Jh?DZ;Lw~I(ECHIyvr<_ZXPTbJ1zpcDT;ENdbLuLzY-U#`)OV>v%;p%n$ zwCdc(UXzoEOLjex{<4yw3Ysk?Se2?olG2f8C1{dx^+9rl&4h*Yc|xqD;Oq^Uq9{Wf zPrSXl!-9ldMB#mNF`Y;jOq}Lo2X{<_;+6z@YSIufi4_^3A4xf^gnfh~u6a+Sy5ev7 z<@Fv~O)vEK2$g_i^rIqkL{7Do*bn2g>FWr88qfl+ikx>|C7HqO0G4NKTNweJii&G* z3tFY$8x_7tuodNqGux21qyyxLGqZ>EvUqd`MY6gcB%Qb2;-Yaqs=C>=7`>!{m<o_6 zTz}S@*JAoeL7m~2PODw-k<d;?!0BoD{dD(16s6HuJGP7?bY0wNPV-ehR>%1)3`3mw z!R4y{8#d$6H|v=aIcs=Q&e`a;Y*^`0>bNG^yBq~Sm{?o$^mtX8z}zHo-BZr3=Oa9@ z@B!~39K?E(&_ewiw@@w5kUwFO+(Ced*9>VMS<*MhI@SB{avb>U!HG$!=0g5;>R*IG zgf070SmDS!8F_-kX2TxNv|++GseO$rJ5&8>=~R56CS4Kh#qYy{kf}T7s3(RrhcA4G zD<myGP@g)I9fgR7<BdJEAEA2sg*jjAzQXX;Lh8V@)a%Qg*4>0EzWyl&4;cm8mC!9{ z;<NV8zr|zhOM+Guv&d>@!6JC9UotkOI>`JBTJ#+u6dh&yf>!^|(Bh6569;rG_O;7A zL>mtu3r{Q|RWg`@iz^eNA<ch~-CTr^&Rj=krWEFQPa^t1C|fZvUmIJSwo#&f&5^Wb z2XUJORJXH=70`$#1$RBQhxGs@?8#sEYW6+i$gHK2V7eWHxJZ)wzOq&d@r`@f!f2XP zAO=7g6hxpm(*`q0Xy(D0p%GS})3pdJga&0mcpG|k(Rs{4nTiHLC_eF6zr%Xn@C3cE z_i!UZQ`o=IjQKC#!I#L{1P@7Iwo<;)l;Px3ykPlQZsUx#)yT5KsoDdSqHd4*qQN!B zaJA%DB{a*XG^+ENTHDF4M>n+zrT79qYE;bcXr1t{rZHdcv6#|n$*?2ilC-~YP)a5K z9p{lpasGgxzOvp7{>TZTbYOhm2TPtPL})u;H=j1&$>+)}cI|N8oM^kkYu`^@*=N-^ z)X&tP<E3QGNC;$hg<}NhqV=4wMvv?<Y{`@o%%!-Ue{WD@k;_N7(?{ZHfNU7p<wmiK zrLoSYVGnt^)?ft&H}R_?TdC0%U=dN~$;V2UzWo*xw^=>2amk@DUg{r}HNPPO*&rql z%}O>*gYNS+%!{k6NBK{GQNy64g&QL0eh<Tio$FwUX-9t|<dOpXLTroBM^dtgP6Gr& zH$ow94~tb^U1h3vBD88z!o;qB34{}BFRc;}Ar-6>_|g4trNuBdX{tYi?Wb3eZzH-7 zq+H34S0ljZ59SMPG5K&=gv5Ze-{e;npVgsoZ&?tvQoY9%Sdc<Vt*L+`feCI0UpnpW zr7F<bR_cQO)<Fg+*DTy)mTI+tB^`yW3JaypDJ5Q`qM0vRp_d<TwrLi=4K`Sn8lI_T zRw;X9g7fF>C&ezPwV(@`NtlxLPaR0`t>E>w)>eOoST7tVg?2JycWily9xO7}r8p6@ z@21KR$q!P3uoCc@shR-L?J4%9w&U`+zhn8xPs0JkiZDRe_fq;T_FucoiW)6dEQEOR z-@umQ1Nzj#1|bCq&>R>>UFi3n<+*em8{{&HsDCxFhN=06i7nxwn0C>!*+lyanTo^9 zI7waRkBFGd4?GHI_v`W_a%TmzPe%FtsV)X%X%MfnNOrD?TBn9DJQjU>asyseJ?%V8 z!yU&j!ZZPK@rBX3*BYI-r|$BIsAX5z5pAPji02I*^k(0hpKH^d!L3p|v4Zx{lvEde z&5|#Ej&dz@Qr=r6<n4hPEcUZ!llXV#@Omcit2~0RNN--u>@a?#;~DaLxpw^H_8G@f zf9Pniri(Q;$(K7d5?m(QeWC|OVH$(KYEX8J;idy)1jNI#DZ=qsCGWnDnGiA2M_~7K z*cFPm5Cl07Ps|DNyJ`9c;f$n7`2OXkTjD3+YKv~tXu->MFBByS>oxxPbDbCCVAUV# zcod1}fh6WFz0g=Lx<$Hyb?b$7B7CAe8uZi$*~<HdQ+$CMXgbQXrf%R}GU${J=Q>|d zWGet$0emkyH)BWJH7ie_uku`5bV_iF1ftIwRV`cOj|u*qZYhu{M-k+>UwNJ4M|?0f z^+w)*oobY<u0?mK*wV6PO<qh9)6e}L@L<ugAb9@PfzPa*cQqGB`CTUP{^#6jCN$-W zuuM$3pNx2ijY+x!1)eW6dDczTJ8oPD5z!AIjhT>-_*`Qk`}LpCOkiTwdeJLAXRjC@ zTw^7(qHobZzy++tp^qp3lzUijO-}IMl)*OCGrohfR9_DA>AOZ|VJnr{-JW+coAoCu zNaiBz%tHBgM&W#J?}-mbjbHpq{<(hSbH@MI0fBc~ER?otz_m1!L+vPs`65!&zE2%6 z6LqS8V|mMO#(BVmfAB+67AFjZ&9!-CedH4bCdI=C&B}KI!eH5{twt$aI0>Tr&Q|6b z8nH$61aI;VVnJilq!hnkj5tr&*by$)k?X1NqIy6Do!BQ>bNqIUwErTpq9vlRIn$WG zMT{b#c8!uZBzh#PIiy*!_WFR1`QsZvD=W)B3yd8E%7TY5LRM-P6Dlv%@mn*gC$Gor z9LvL|m&!m++jA3E9uyBwq)w@G99vl>-|A8?&1DzmIFYy*8|8S3+p~B7xI)lF8a#7& z)7|YQO6>VC7pQ<hse(i1bIiSD_O9^ygWcXTu}~ya`^J4ZcDVt~s>$*#pUfE$!r&%T zq3o&}95^=A37&C^YU&eCNb}=;^e+hQpn9eO304e+wl(@*RnZ*Zl!h)_FW8@sd<;~m z`-1eI%u*kPI+2dvO`#7iU!l>yQ7SG~a?d8}^SOkI|J8=e9V>rE#=txrh4f#1@5-U; z8Pe3@=oHPV{oo{EFAnczD%%83-_zH_E}Bh|LmLdN3<S=95dRqpSDcG{*VlP$*PrYf zbG~RaHL+APUCySf(&zeS&?Pl_Cgs2eMTEWu&VvG7{mrdd1qRe|v^sM5aG7Hwa709U zb!T_-^_MwxbK7#Z2O;)(KYT`i*-vMGIs?#j?G1S?dNJ$sjA4n_{*5ev&^i2jGb&Ek zc{Qc@x8mbuv&&!HiXNOhXot8&&QqFo>KQHg!k|sw#j3wM)Zw+9`ZLdv#zjddKf!ok z2%1~hK$|6J6`otz_L0AwWsB&AnCYnL@<;b<vnYAgL1u*)-7M$=W<Rh*JBPp0Q(l81 z+e@h%Mq3o1T*_PX4qr_JFB2R6CCa}!dTKIWT~w-ecnqu}JU;jOHuN9tK`AnHaq~*4 zn}GE8&d;3EcC6iG(e<jjJq6`*Ed~8FVP?R4T|XXOZj1KCcj7*mk=wJn;>HaTnahW1 z8`_W6&=azI76*O<dKXRc$vz+C_Qf9zYA#h_ei_+JKO#z1bK4(~#6@{`jPMzWF9{<l z{JsO;dY?DJui&e`IXP~9Fa2>a4Upp<+pN$GDNz4>3C3*C!al9E{O5j_alCoQ?Q4$$ z5N_Ne8W!>AX)Xh1780iigCVLv_>^z!?#e3R2J}<W)9|9m?0I+MB>So(d4zsZ_{2Y^ zW$ZwSv9lp1d90R8bZ4${%dLORL>@V@!HjdP2jvk%e>cN9Z@_GG)|b#QqWtxDPs~GN z>E!G0vtbsY+z*uahVhaAIkG`wW%<7|8#Y$fL{w2xKss`N46XaIwyYt4e?2K74|T#t z4R7;e6;cqf+rvLJx9@7V=PGI)GafI#!af%7xLldOMYBh<ezAz@)8q9~TyLRh!ZW?a zgLT|nD?3NMmg%4SZ5Pu$9dGnqXdmwnu`RV*o905*sb;_C+wD^wfUdU>E5<e5?)Uds zxelK;pu8jFv9gP{Co@y~p%U)1`a05X`J<#ei28cF!r`?1oOtsMUWoVx&U=}WzpXuU z!xd+fh3bQ<8}n$Qa869dyWnUq+auQje>jc67wyo%fp@AZ^_^+U*VD_}>or{<Td%Y& zOWvRnB`Dx7ID3UVP@ZH!xu5-v-@_5V+O=Z?Xhh;u5Sjxg*%K(YTjPx&Sdrzf3E5a5 zcrJcFw#rvoVTG<EzwFa6j+nRXl9gBik$<E-AG>vJ*lu?-W%+FRlRe&QYg=>OO`g_) zCyNI}prS`T&0a1)myqMwt~jJb@ky;_8F*MH3sTewRoW)u`M>*vU(?|qP1rBp(>Uk? z9puGIVVlC(cbOV?<5#<M;ct$obg$Z9cS5;ZHd^Z|@9EIZ3+M5#xj{?l)b8iQ_4q2t zYzep|3m%uN3&&d7=g6I-HtB<fWzq!|?rt}}d=q{hmRKpU3qPo?_t74#9~^q>oQg1o zmKcVu?bOY-6FqvVt&q1ScJ2s4^o3P`(_E|CO3P{yT4v)PCL;{}X`{YS<|W+e*kBBh z$vIt?t-AiV-QQ7M{eqPE_)OJ}A<4F=;EvUHSkp~IKqWJ4+Hjp*i@d$<WWo4%kPL}t zf#+k@vLR-@-`7RC0Ua+eXDCrHkx$trnl6p=BsmNf@%w1G*7hl{1FOpp{ay`#Td|1m zA<!sw*#z1a_50S`_kvJi=)3elij+s_VwXM<CJ2xDk3IQ7e}pO2RV}M_Eq}`RlCOv~ z5>C+C(1pmHM98$OG{u3j`z0ao*Y#}lTy}G=i1lW{`So7Ntd<)^FIG@gql}I@S?oA4 zwnZLU{)IPpE=g0Y_lRr~9UHp<$st(w9KUO2`CAh{c6b^T5AB$b!T3By*KF`c;Cy$D z72-BI5nA-#;=*kde%R-C-fD0({27L_2gOP@=tlekYM9~6EVhCo8{b4op5;HL!IUVf z{Fs-_fuH$c0wPHa7ErnVf0Ked^|lGm^_d@N_;`M(twxjz=EZeDOOl@f6P>aRje(Lw zoo)=*55LX=2IlNj7!IMdE|-f>rPtfSE$gE#rxvhWBA&uQP@75%;R>>D=#W^xPMlN6 zjrv92y5EEqtHu{XK@7;m#wBM9Ga_3?Wio3eLr)S+@Uk>LYVZmEy;tP5$>0`46Oc5n zeiDarEVESzNzC0Dj9!BPu0W5SXwBnB5KX~0<jp$OlXd-5X#s1Y`VA_L?bMRD-32j! zybA-pWS_>Yw_&p1FTsTTG#&K2^+LH8SZaYtXhs^VE+VwTns`i<NnVY9Q&@dwyNeu8 z*Y<qn$w-`8EVXs_I4O49s@`)=Y`&BUNyKdU?e(#vg3sD1_Z3T^j!(MBPW`q~{_m1J z#SI=!u+|!dnATBz_>N92n#q0RdcGkv+CGNiJpX<OSC+}9pM)50Bv!NtiB*_%vsq?T zuk>$(GLabunyz|2h|C1UZFVtmSo4~}n*DTwpPu{dVUAB512R?VE$ulH$g>#!>rUJ~ z)5Shf5Te0HJIwX~FX*Xle?p!#XUS(mU06%{vq*|e1?LWN-*x-XB)^rF&f*VJ9{$b~ z*znAsKh}uDnHGBm6JvYZvWU6i@Nf{@HS;}Pe=*FqH2Rm>Jm+<(NoNV$tg{8-fnuAY zbS@DkO^jX!wd$>56zY2o`WQN9kB7^|8*0myiFrTDw1mZgAMw+IV!Hd@*y$+Ou+q|| z-Zr9*)zIkDS>~ig?60;%NT<~Mv;)X`++{>|j!odYH#+?22<p(*;!fhi#-d=Oqi37= z*!`tN?i^sU@Q)nMH5$mnMSjtP1-7Ialo$SxFuyB2q`t@fMgG`AFa~{xJ$FQv=%VU# zm*b6E4TAg)xGxOGrEID0@WgTD&$^l2r%LIhmfaMrR6s*T7PEsm1@;(R-D05b?b6T( zGM3(vs<CQ&Wa!054bi#%>lWij%k1~XI+HL|w1$}Q5>aJXY)iHStpy4j)xadc#07rd zugD;MLDd(jgu{m5{B_BQGB#@wL-uPrib<(rnUrz|XpWc?SUS2@CM5aJe!iU^L)3zi zbH~W{tu?q7%P)-|p?-m)kL@rNK}jZdbH!&eoN#AEEiX#oHioejEiJnQE`iiHoZlOJ zH<cfC$j+xg7CHVqpK=1C2W16mk)JAy3X&mwQvD%Vt|Fssu2P=FU?cu0r0{M2cd|a& zR^5VcKz(+=P9C#*0*Rcj!|0lsIqCx0vO9*RV@#T#;Y~&!p&3JAwtImgrB0QFa_Bu3 z;%Ss@X=*g8$<-0x!cD}gbzvU4SVH^*ojXKMm>Na#uSo3SF&@c|36~)8DXtFeZ-@Hl zoPbN0U3L|-L<JGF4&imm_e8-P?7uAj@#-Y`05ThLrmi219`SGKzjby-Fy4|Ug>*x< z$wkQ#qUQ;dKYx#5MQ-(;yvfUMv{gYnO6gqlfN_ELFf#!PE5(;&_vnJsW<lu`>$qzi zXbDJqt&D7(*<!IS|ELUREBT-*S{B1P=fQINEF`N*nN-O_*zE~Y-sxgIIcQcJ2jL<t zU=<rbOT!}=M&bmO;Q9}5y>W9dJPaR=4HIrS<><x(R--fnOPKO4<L)-Z;FM;neya-e znri%4{LyGy=&!bT-Pu|}ev@A3xUvCMHPSW_we{KoOD4L(Y?;qpFXrs<Ly;%9lp1iJ zvEit0W9NGdm;PT0CTToqRkNNnzkHqW08&<(vC-LrbaTh}R-sv0_*Z4Lqf}RaDb^8* z;Z4HKHt{B78!#Z>;?3tb23>>xvgrOOl##HZEn^V#D^BqCgzZ9nizC;tWGF;XZ0A;s zAMfgI9_%c9Qk~Ir*U6=DF4hlGiU!%z;iqIQCw?FdB7#*1yEp%?x+bDPx{LgR1f-WS zWa{!O=yH~GQf*ujO6Q3iY-qra_>ei-r08wT7HJUp7jYJg-$3@C=$;%z5NSOY_E@Z> z4>6%^=ot)6kseR%x{=j1BB?t`5L&o2C|`KJ6l8^I4%`GUnrh=xSF>L#2Tn2gRwKD( zBejoKvGkAaF|wX@*44X6@X63Gax$|1C6=4j8~i($G4M~|Vs_^#AUxU2eaWi0fy1|i zX_~zb0;hf$$<U<mS^I2CkBk`uQW-w+uPiMf_1?JjD;JaYa6vdR#A}Es`w8`|SsG={ zT~NDSVv2XAC+elqPAOODyFn^vd}JXe_uro-(^5@wod<NPx&2R0w+|f5EQdKi=jUv` zNIPMKrMrgEcXO8>x~nL&N_9(1=QG0g;)eU$3R%LDBqHTI`VZ^br*F2-mR>YTF@co= zzaWMhhh8r!bVao}nmy?<Jod%{NG@MxqFAi!zYgCw-VK0dOoJ6@u-W|B>#>r*iMT~Z zDK<Z}4qgwxZ&Ov4Pg;hlH(6)khH+IfevzKwq+lAC|I)El5n^8MMVu{d>`;6I{|3ia z9z_(zwJQ+=wc@A)IWE0yHcxR)sbTfc*2y$dLxdX!t59`{jTP^r6P}uCLtkz@i~e0s z?#C-YbC>g1Lrj<}^AHRMO)Dwiwlbtut8^9Ok^ujemr&+GZG6Niszn)wP9j5-UK!ms zf@c~+w9xXk5RryuSy&>5dg{{{`nb4wUqhNI)cJvi?YU|-_bvvlfdO$dzIZMN*mNb| zMEctpuR6v2X&u$dw3e{2=bjNc)g*YME($vhL3NnQyVJGWY=s@74ZT_X%_Vl8Xdyj6 zLuxB-0TQg_jidF6%HIX$VrySaw2p)-SiH%7)p$vtbXGc)DeaAT=-slX!ex8TDkfFj z4;pWNmMO_7O-B*Wvta#-h-Ik|NJ@uYeQmreJ8jSA(9X#t-c$cF_HKFk9qv4fuSpS` zSvkn9X!na)vc2?nl((moHbH~a<_4iv=y`$Z=ZJxIa?+f~50<oj7|ilh%cQCW<fIHU zJcn|F(;)$t7-{*cgSx^o5q{gB&r;Kd^JoU-p-Hmk;%I?qE?T8z>#vqxfObr?x*)jX z%@Vj8Dy$9bY}Pj%CU|S+;<N&i3ttyx`($U?HlAMrSDZ$(seJew_44|0!5FkokSqyI zxya(m4umm8_z}y+@O(SU_cW98Hi6D3i)AHv=ix)wt*v6erkUx3$a4z4@@6^ykZ)6^ zl&RA<WyI_mSzsHoi5l>90LOtwDiO4#4B97J)2I8|o@qHzz+X_?-+u1$&4TP5x3!W- znBdqQ`9MD@oVn!2+iiG0q20F^uLZQOAH2qw9c;3>g4jAP0yHJuzv!#Esro*<)7eiZ z6U)He=nDsVv3Lcn5JG19eb{w6^?!L^)QXahkm?0g05t`iO+nJ;fEwqFNqaofyze1I zAxeqoT{RuPkEz!JS%9%Sc{$f@T_ZhSxk1fs6emmerucw<mwtGKM)$s$pSR=%V&^Y_ zCok~2n0U(ti@^Jh?A3h8tgLO^Nr|lA(Rxu>N_PxhD@NC5vqV|_&w`Z|i_IDZ%U^ED zxdN&wr!Y~ttc0~npkbD#niY;tJSdevE>_6-?gzi!KGyHoMjzRt=aLEcw?<QtXX4CB zgMRv;$Qcj2oISY-3ci(1&#=J*UTa$VS0pH{X7Beqo+JR5@c!|BCG9j6J7CQiUgzX3 zZfE~eb$0>z77o`$2}AgS<uG@a5SP-mt;H)NZL9(l4VzLDNYZhMc!)yuIUuG*t>55h z?wuFvNK#=AH-vZ<bU&+TbS02FJ)T?-9O%)W>wAHR!tP}1`Yw*^TVi7!58Ci}Y*G!m z@<Qi}VMDR_h^m%pUNy$_D5$U#K-1W&PA|OKV$E!s;#r^Qz|6)QL3%=#m{Rddbv;V3 z+qg}AqW{VXAbx+MWcV=`b-+0gi|}RRXwou`+((um0wro1<#Yo4H(i%UQ`MCIJ`?Z; zc@F*|roS?zfaCKF4co5k%^lSA=U};IRfJT#`}6L$w9$?iO8f8O{haofzCfOLad?lU z*eeFB;?^G@bck@Zg!3QT-A6wUSW>rTs6(ezx>2Sv#0~n7enm!JbQIq8^8Inlx&7&q z!)nK)pyl?1xKMyc;aQMh!5c1@8cI`XP2$MkZE27H;Ov;+Y|SaB-X8z%?x1H<B}e^# z=JLc7WyF7u10R${0A1-whPHnX<nzjwp#^yc8ZAclCPLRn*OLf{#DPcu%;Pf|`Le;R zm77sGUp8ITr6a_D`6{Pq?jIO1eRhULYC=6l!kL3xFzSyF>3BRpGyP-0<N=8X)W_r9 zmVURl&##wVTg@tz)LNkX?Loz$sMY)ZOwFBkNY6VAPylbK73%i(_IdVYQ-hzKZu(h+ zNt!gX&TnWb;>TqbocsmnY1>?9{0HK8E6)^L7QRui2@f<lVriEA_a908%F5)h-!_$M zpGaB)4lF&*Lq>eMxi4_aRJO^%OW%G3Gqq?~)hKUbI{k2_xxT>q9E|;|=DmKdwhL4L zMla}K2-M))lP>uKFE1O4#S)Ae`4LIG)~8fATU>7hsT~NZ#6oi#4-eLJ8mKVzt#s*O zn;rqA9QfR#%(XtLbk%8ty;yC@yZGy%O8NSPqOiz(oK^za1#tcA)0GpR+NwQY@Aagr zj3><=%-mx=gWVb*OudrHUf_}oNH(zNrl2SWx<P7~`b9lQeICELp}Aa$l7yzepy}x} z5k-jJ9feabY}u@%_sjvYs%%~!e--q}R%w#8-{eV@smbb1<-TGFCa(KezzfBGN$OUV zlPLouI8Z35-2Agp)o(php~L5x(9@35GWy47df;x0ew_CVw9h2C7gAPmQIc8jsoz@y zIEJf?W>Kq&=<|0#mo1VdFqQ1gIl{;I>tu*u_74&`u_I$n#gt}+--#+CC)HWLoXa+) zdvJ>4%D1ZEk^gYIRU*I@jGj?8q~agN2$@Aym}Ta#=V3U24jG|!$SEAW#pVWCIH%1K zPFf*12!FFD5j2}5&4)rTaDt7yPM4?xx+f@F_gg40Ymhbe7*kIJ{u!f2PNd#^6Ki4@ zz<A(dAvrR&_|36HUhqS7w#R@9!aq*Dz~VQzD6I^NSi#N`vZt0V{MFFqg6*pJ={NBR z2cz1nS1RnIE}N<@Ip>I<MoO<D)b)Y<t-e1S9UD=kRTYgrl%iyF8>3Gken@)&f$7Cm zt;-bo+EH5|2~LY#EWt=CYxUVEVoY~+v@~XOvrJ{rn+erw2W1uUIEKiWNCPWVbRlV! zh%zcTJ?n@}P`a)wo(3c>qaQ9VBifmqL1er<C79LM%ON`%P}G-WDsprBU!HK@Mj7rY z6|sc0+Q*LX$*x>%NCcT9z%M_5k~4*yC{<3p#T(SJR>L=6AC{=A-kT(t<CHbm;epa< zFX~yU)56knw`4bQ;&{e+=(5xvO)D_h9&I%>PaI{d7M_{@f|-%d#Deop%ZSK>(ugb5 zjdSxcGicFnp{CS>T<t;J<!ZjN^wG@C`H0WTBEe)9g21!33VD^B2WJK7)L&3cjz?7~ zac|+4c>k8mcHbEHwjP@J4a8S{KijZ0T(6z%(i%+tmNn%wI4#NUC3JMcYj~*e?mc<} zCq$y0@$wv}eCKRmvTNS$%+_dbPB<K&FFVg|JOll((cHe(NNR>#o!XF}a{WEg#tw9{ zoq~__rR225<^<DT6DtM4{T{GDwNR!<hN&ToHz&F5z>NycPt2%2A|)b<_)v@+o?<sS z=<6BwYw<B^UEfEaft67ETN-pJl6Nqf`A~$T@$4&2!eBjAm?Nb!wxuDBcg#W4Ls^sA z7t-6PsDv37xwM)dWh~<SWc}!q!?h@3^g-B+{4#qy`#l8aU294pN3pZsyv*s;ktJDX z&L}qioC7du^On;NJ5zz|kB0K0gCO{-aYU|`GJrZhgmATLMZzHUHQ3BtE`p*h--UC+ z26vtpmfhO2_Ey5?M0c1Ze-vzGo%QS|4N;39_8WvZ2B^S*BU+k!&&wG#^1QrqDQsi! zRJ%?Bdd!%f(?}0Mu-=`OmSiCusoSs@(KeYum(Dovw8=~!ns-7lq<}d*WjNAA7=3pu zMjx;{iJHA|wWLQ<!`r63xey5DcQTzpU26Je|JN3trw9-VYo22?wztCw9BQ;}rR=86 zuw&ju_AJ|$sK_yqJ0H_H2M>*uXECkkLu=Qt>;hk9n`{BTxQ03wIdaILBO+c*EemYe z8Ro*}fL!P8h9NdCEAz7o>sMz765o{UmA-H%DA<Cp5$5p)FJujk!E^1gCBwd8Z-cz! zQ}};Jn;GM87BC-A949-{ud6+CYnL#|3|H_|!WLv>Zj8_R(_zQv&Q4?@cX>`8x-a2~ zo+-inks1PqOXfH6=i|a6Ir}G(xFcuztKp=4+zD9|issj=1gi8jWsFE@iUk8fhPQ+@ zy>48+v!)o0=<iW5$Rfi@C2-n0ZE0O+J!Tyfp|!p4YLoFPOTT<hqDXw~r=-+=J#k+9 zS8P1c=4V_#XjWl9Y{T91hM<P%$q0)h!dwX&kdpvV<k7R5mmB%&bIR3rf%JI(k?!&D z*l&x@SQ=p?aEJ;Pbd0@?{fyUV8oGV<YM$M@%II~w8Fe39)vfwJ=>w!f=j=YOp<YKn zFr#8(KE4itM4zZ(UI|8YlqBYQW4dZq=X@r83cnI=d_^yfy&z%RSL;_v$$FG{=@Ujg zAZ7!M%63Ir>h_|_L^K~ecY?3KOAyvDPlgTPokaNU9i1Q*r{HV_nLGY*k6|u3G)Y7R zg`X&W#*te~%0!{A^K<9XA}Y+YvZK@k{Ou(3h>3--H;DCT>3hFt-`P6psEPO0c;wqn z5Ec{SoypTT*N&xwv>fd2QH_>D3SEMjZKi?AeN=NIC^nN2W`e%ogNw-$PQ-%MV#x&1 z+@mxN)FX2H8KhCxlg#|8)GdF%AT%;yO;?$XL$^&IU+E!LZrE+fjW4W}fsQjq96%P0 z)j&;sq{rq1ypRFD6%qE(xq7#9@48Xu5trHGwzq8L-+Q0JoF)R<*ZI=|Rk8}zw@|>< z=2yw3da!_U(4w=iF_X>wq*^YO;l&@gzhIk3=j3?Ngk{`Iirspbv~DbOpN+QJzrh|* z29y&{TC_JrCv!GqN53s05>9x<lr%aB_Us^2K)z&i=BtTb^j8*}C*^;t_W{FHG8$N} za&}#RcOG`ALW4@{in~L%2~{if8zzD4y7j0gYl>uerKJI^2A<jGRxv8<fjDsiBQrYV zMblg2{(bAn2RhHG6?VZgX?Z!Bbm24gZI+VSsutu?aR@KF8-GIi6jWW;V!aUjMus79 zXFw`8y*bT*_^S)N)XlEu=9^T9P)Wh}%_))=S7?fhmBlLSfgz5brIBk<j#l83a)ExD z)LnPR{)oiTYoglQQ(`6K7aT7?2P|sh=0n@-lFI!ce#l|?xbv+^7)mV~QD{{u1;^PD ztV*@%Fd@`0wQzDl2&C}kbK=OlpnShX8Fu9x0v7KBC{YKRR`pABEAk3A$>)LHZ^u83 zH5z;s#Bq%zu~1vS5m_K98rA@hs+5L*EAvsXiOfa#!+LOM`{)u8GI{=1!62~b{$z=O z#hHc9wrk2D^b$XZgEGGh5QmBzk0dy0a3U%e3xjiI|04-|n~pCB-}dBt+bAK^-`BSY z{=@o*2g1rB;_L1W=0gs66m?dRXNWUfSs$?lGlRSXew4?)bu26rOO_mfEHlhbm7pns z?w+Y@XF{>Vb4M_Re~f9;Evy5!PRr(>Lp%>f6C?R>fqpPTNGz<HQaC80nzFi#u@vFW zZz;}$J44Ud!vNdYO%xu@F4_Vtk}aR#PmXHgeG42QkJ4&E81a2gpgbu>?)}jW{Opw7 zTG?=ftLs2k6i(sTE9nGSzGxY%OD{e!A=I0CDPN`|2vN4p{Eh_!qqh{9qB59N$@|?v ztugIK1@aA?N_wHne&6z=0<(51JO&8ajUXjD{~uA`7+zVhZ5!LR*-6J8t7F^jbZi?t zwr$(CZQD+E*s+tB`_8%V{aJrXbA7c?HRc$jHdiEzB~a);B=~_dA7dT&WRvOWGqe_) zzUla*USA}%EZ)eMYOr;FKCUCaLKQ+hB6%JAnediKV0A8ancM(0w}$3Dob~R}m`V#1 zE^^+AXhl};CVm}DfMH29^yH+|iYXiGJb~%KA48}#l#BtIxtvE_)-J_1@I_@!Jt{R; z65Pk_77kX?5qM<7-+)z?`F~wEm<bN8-LG0E#t+lgx+YtKbv%#fWDIz;(9yS?Qj3vw z@<TLK;=`h|_A-EDknA~zB=LbVY7o5Tr9zVnb{kSxJuHoiwe{D@U&gZqI}fG4sOOnb zWij7dA)GAXp%hR1BX7T^wy;4=uI(8&8^M#tUP4BNXPRGQ$JSedC<@z4P__kCy`mjD zE+rh>%LQG~_NzW%ZT-LbeDr-{$D>VtnRFnH!vVqcs~P|qJRi6Shv-^cL%yzuoQd72 z%KLeN=VeplOWZLP5_BWFg^3p%m~-51=Hd#lOcW;yVNfQ?$9dnMfWHO^eWSnjCcmGe zTx2;<^iy&xP9AuAiK)qhM`+&#P<T;a?{z$~e>bZ{qPqvQvJiic?ZuG%HcF;8GTwiZ z49xMiLk<GWous)6zlv+4R0?(<&Ii~H+h4Bi_=YFu&Os_~{Pe4M<hOsHneb6IdS_?o zneztPdC?p5L=%|}DerN8zZ5@^Y9pYf3^93Kt3=Fgx`0DB$xQ}65_m3f>BduYOK#2V zzg+AGie4Ii5e~dMb`)(z>umgd+}7eQ{GxQFdt(Nq&e7St%~PlGy63U0X*{SQzkL#m zFw+J>gK#AfIE`-ina|u4s14=}<1<!VSw^VuHLvEY<yxbcANM$cndEP?(%d~J?TOp< zf}dLd+vg~QQ^t^vpc1#}LHK>O-bnn%eOETV3{z^X=UYMXu-4VrXeo{jA#<i5+_)>P zB&h@t_AJ_T^<COs?CAbu4a@+RIYv4HRUM%YcHWVo@wb#mBye~9oNu~g7~HbtSEA!1 zB#G)-Q3$Paqv+lu*r~cO@gF%*FkJbu7$1?Sa{CQSgT272<GYM7%_R`EX^??*yEiaw z#KFCNK?qSv8+O@^_B;)+Bb2u}X?gdctG9sP+M4vgNB;!fY3V+P?0hlYq5xpA+Mch- z7zMfuI}a3K5H3=3^dfIt=N?|JQv{5f-)K39Q+Y>MByR%TzUF33*4T!Pq{8gnjf!_; zo!4^C9P=h-+Bhk(q>pH49NqVG<%rlk>?vZ*(xn53RP58f>a7w=X0t{O>&zZSvR?tb zNz{n>w;IN#;S+QRI2uP~F|6)q^{UxYu2jgQLyGR>cRJaeq2q@Ab-eZnaV7lIhh-D& z?r>XSyu<CHsP1QXD%otM3E~rJq=!k)3p!+#CE*jdiN+PYNmn97g!<qVw~HrbyyhrL z;ykIiLVCC(fvVZBoCzfi+DBzhrngpu!eT$<-Logqp%vW~%z-{<GTEHN)whcyX}r#B zRPuQ|anzq@<PSNo{|VGrHRKb01m)}hhe;L_c?t6!nEa7sKq>EycuCB@GlB5Fvv=m0 za!S>$O1t~?Qwji_Dh^BNzd3o1|K{Y`nAkWI$PMk8pgaoI8B;<dk0K~3r*H3b<iGgC z5;)<H<h56)$E~St57)HaUyp2aKHobQdQK6a69x?{0P3CnJ^N%f{klt{ox09m5X8j$ zel>x6dm9goIe=97E&)pu-Bg`^Esiqt<cf6$Ej?8oPB}o0wiJFu%pUo>=fKkfl3oov zDhXTnjnA)_rk3-FHVOL&Y_j9HWW$!q-g-psW%r5O;0FBEFx<+bbfhktF@nhC&kGzR z$&iUPK<lLh&g5-9<*f$T{qc16f%{=fV%*(R#Sc@B7g?)(^jIhe;!hN`x3D35;in24 z2uQuiNE>9oEt0YPWz#QvsDK^8eX0P)@FunXoED$S_#s7KK?I;J{2G?&giM94x;msP zcVaI#AZ#;}MnR>QV;wd#GSahk4ja)TelYbJfCsr#YKe8#*ozM*8p{2aud-~4_J|*4 z6`g)4c*M*$7l_zJ)K|7~f4>bANL7{CK#4|M7!1`G|3Ye=P3b7Qd?P&<w`cX3&&M<9 z8}j_uO#BQ{J(`U~na^hE=^oLO!Dx%eWLSV#q_v!vf_Xnq^EWG2(l|0_!olL&y%A;< zp!XoU7)@k2c3%ov+HxKf*G(A%q+!Y}h&Rm=ZvPkQw2c$<yq{;BV4J$Dz2(*vo*Jod z+7vYcaso=P%t-B76o?7?-=>D%i^vekJ{EGf)WX5q2Gc%2wMkB_R<memdKs2UO#$!( zUe{`R>ducJa%Qxt_5?EX@jN9Z2Jy~&7?l9R)O)21+I8N48qFM;M2HmLDhU9S9e@v; z;%7UyCi|H6K!Ej1dFc;>ETg?v+)N_V=VzNG_A6{+Ej0p;rcFmRSz6cTJWz9^X++ZB zN+Y34_^X^lw=jD6tK)v|s*Bq(q{<x=*MV0l`GvnTTHR{Hz_p4%yhlAU(?~_<^+--7 z{E8fDFfaQtm%GWu-!aYNY(dNp{sMa4RV%@5#~SfUw!$nOva!l62!Z(STYX^^Z&jm> z`Ixf-;*|`g&T~5i=;ml$)cd4Vyc>|5W>HsJ-eIWIN-T+$X68Ax&(^}ExCDb|Tglyg z7+{qXvuy}Lm9wgYQZy7KC>|iO_q#qe`_o{Gv>#qj{IQCY>ERoNi}}QHd#H7d^OBSp z7YWk!(w1!>pen-+)@EX0pz#fj7OY?Z0e-mgm5%UkbX^*JOaZBc;uKwUH2GKA>}l<& zw>t44u7WM1TcXe%BZ+3>&RzG#>lX=!?2cW&qlzdV1VTJJsfWwcMjOhgk?@$4F;Z(Z z`Q!SF*j$xv^Dc9+jcQPDr^<-;&g>+sbe|RKgV!PonvXpR6BY_=V>d~=_fagsV{hA2 z6nGu!J`RP2&udtO_VaR7npixL$#peldH7p0|C58;rw7W*&zepH<qOocj2(c)`<7F; zp`mEda{IAGiSKH8Pqd&b2m)$>fg0MbyA`a<&;6$YLCe5#3jz!giPU0@U>8*g<8$C< z#z<oNt9r4QQ9QU<45}R^p3e^ubI3|&WIDugj8NP_OacM?*-}L-M2~BueiO@Br>-qI zw?Z#HH=WdJh4#Rn)OZ5IhxBotgeo~%x+6X0eaiU-`r4nq0l^@)7w%Hpp1di#P~4WD zU1YSQOtQrG)R!PW;5#zfGk`Bexl?KQ$|Z8HP%&$mZdFO}Bzf=8A%zA2tOYbw?+Rc; zu)en(7jCItHzi`hM#y5(a4ShrMl!#3fb`!WGGwP=kCdr5-+;ZHp1g(8mE#L2v68RI z65%=Oc@~Httqf#C)md)7eSW~ous@ehWc;)mQg<+Dqwl<?xz134F<GMU9*7V(M4+mI z(ZL>StXAAgsd`Oeud@UI%$<+JoM5tAP)+;X&X*pBeT@&7b`MZw4U`|e!Vi3&q2ftE zAhoQCg$Wb?Bnn~+=<9A+ns#KLsw8?-7~>!E7Rv_<cPIlS{0?<6)XFzKNr4!nNGzh$ zmRhu7E(z)lMXRM%dLvcTUvjvG-}vYufjSt!9#!dh5+nNRv>%`)GeS$Vn&;xm(B&uA zoBvb6CHpcZOihqL4>Z`3M!|^Xz^2JTTYcuZvv!<_%xcCey?TbQg!H<95u1w8itzm^ zzQomGa(@%A0<CF^2{_k$a3@2=y$Y<W1cy=it&{9l_a>Enkzy^qrW_Mnjk1e@V%2a5 zaW?7Is1PTJ!6smqX-0xM=l~T^2Pq7Cv*0yEK{&XQc{n#zX=H7V$F1ee#Uv>^BW+$< z{D5}F+Ei2E!u^sZS0yR~$<xL-*~o%umi}p)tqi&JMEy%$-hs>n41S$W+}*Xk=%QO3 z!HF2@OEVeU8WFQ;9?w=+toXn)uDz1~rni{}^s?us&M4uJof+7dN5Z%r1=^>{nAd~t z;LU~cY;QH^*}y(@y!{GjPr|DGPtcSED2HaygM_Ycw2|L`?&gnmlsI*x8M<plmZj`^ zZum=nl^VH}$DHr5%6g`nN(a2cZJfd;!}7;!3`r6vy#v>SeG-}bN+8EaQ!DBG#)r?a zl2nPHWtNF$MrtsUWhbmWSSF_H<RqUn$!cBl<ra?AJ#g7R1f4!xQ8gyn7`$fy)nly~ z+lc-`7Et%OMZ-#5!WJdW^4HbBP!>OEuspW=a2OIRXr!Z~0TM}Ri>egzcRhR5y!blG z7E3+wcbaBqKx`k}NfiH${^v9FCirJ6>&1RZ0`EtlmoqiAhy<aW0H9wxtl8`91SsEl z=>xN^vw2FH1HBgz<zpR7Y<$3jUxk4!r=Ldp4<MEGc=FCyH4($b)tg*iMD4A=5Wv`U zukk)s0q*gSP#rj?uYP}M4$o)41<8j+5NUlnwv%!{n4;y;EVvS-esA?VN3@6<pgZ@? z5xhTi#=bu#nQ70X2I$YD>stWlTq4#R@}YNblCs~OMdh>E7ZO%<XA68~tN&Yt*aE1S zym=B%<Rz}=al3-a=e{l@ua`3X?)J(k#2|$FpNvMS69Oo6LX*?CJU-&S^@hKv|KyvP zA(?DshQPP5;MZl%@<00cdU$E7*sjCt5-BC1fwY4>6{*)h*^T70kK{r6l5eh{BU(Z# zWUIMm3ho69*H2T^!~2aLz3*iYkk|n7^X)PvWhEwMXws%0%VcjEcu=!&P3#cw@%sEy zLf2bdeT&)nMLq>^nNzQ`0=zu$9eo@ejS%KyzWUl^II4qgKvw_VVmMdb>`zGC5Y?l! zdj9SCe9ialr%-jAv^PM}H;@uz-4?#GEqBn)6GS?RoEIx9sD(1QQ5>e?jOmgP4+Hk@ zeb>m7&(0w3byj`|<-a`Z8DTk3_60|2R_$=Zc-88M<CFoQq}AgMBvBmn*eRr>r|PC$ z^XxmdNDKLi>5WbYrY2~~z^#A|{6}}-AdN8RD(^rt_2o4YyMwOwS2<iF%4>^_wfp4P z?ctEqjAs`;yp$fRg^+*XLVSmZ;R|Ir<Ga7)1yD&|tsPe*!6P2*m%A#7ntg&RC<s_$ z5)=@uh+-F@-{Sqg{)_hDTN8mGyd}}RkGh0bh(^;XI`FWVK&Bx=7+)0V4$S>M?Wcl! zv|Dx4-8L@Ri7J{Diij0o_W&=A8XsH4u)Vt;L1*@)4JQkU1cqQ&c-C>741zltZ-uE& zfeE>uZ(ZjDuY@!RDZGSoDPFaGAbJVK<2G5a_^b!e5(913V1T@7bv8=P)=4Aa<g)M? zVvFpLuA8Vt8W#@c&HPgzr0`^d286)Phg)QOS&B3Lf(FlHvtEFSK!l`f?(K~|j77)7 z(&Dg0BOa4d&^g`Mn9JrAl8B0dtZ-(c54z5aWtQw}D9)<!tR=JSXj#zmuWtH<k2lvE z|Dgi#Yel&h4rj&0pBqPpRtMtYOQ9Z3=4n)4VD;_ESi}9kHU8IO+704wG`2$C&SFG_ zXqgjKujqg^J}AauleolWOGeY1>yQ*wi_{;D@w%#98379DShb8M%Pr7kvVO|EzUou> zXctmDT_7!2h4pn{#(UM0!u`qQZ*1e`g)|PBb@ssjp`GFG&VchKGCof|h|{J<hNVHu zTw$*xZT>(+L+kFgIL>duvf6Yr34J5vfZ<Yo7pfl4^uunA5&-+wei+AxEQ<SVsVTR& zTy^nWv<eZ`dsn2@>pQBMWC@yAi{v)&da7FKi~PKz4(Wla@U<{e%A!$Q7-U%IPHh0- zS2(At;1A+kzHUF@Uxv-TNiBYp;vJ<BY{Q<T@KSj0gOrwTpElMgC9FS#<0j{SbfPK8 zv4!W?!D?H$DBmy>z33xXOJ?~{0pf!Nce`LKx0=siWvrBkCS@nXg^7kd_WWG-tiF?z z2Ir`gnA!<xS7+d0xr`*n`RS;~BliQ)v=;QY3N7sGNe$w1DJCM*IV9K62hUQ?&~SAC zT<8z<nn7l|0J`)XS?9Atbv@~`DIvG$C>g2z7o(p71N1_s$UsFTS%e^DEMaz%VuQu4 z*HXP9@%ZXCQR97_EG$n(0t5bT7()kmsFk$RODRp(Ted-1lX$4IE%jDYvt=+K!wETN zsw#wN<uM|n9g*)5ZWAh)MoE3|vtn$GO;Z$eG`za&$3?`hNEG;kfGQa-=4<U4t_5o8 zp^2-I1XXCY*o*AKU51l}vq#KzS_;eEI;v$wN!zoeuToj`X<rkb_Bgu^+yq9Xb!?n# zUK6wgJnIHguI}_{k{_w2R~`bOse|BYDVTe;TvKc81@-`TR`?oaVuW*VY^@DD{8wyi zdZ{IO1x3rb7bE$S)DLct%^@^b)J=OkcojFHQYF#X=Tp4*eWvIprZ}7pdxS{x02}yR z)rG6@DRGsdZe6RHIV9#`EK1RGJ`osCJp$t+orjXBc(^mWzsii8mCN%0K^qP$p1OI_ z$?7Gu*aB(`SxKuOhvD7n;K!ECl)FB8n)7A!U*vn6gBjyRhFs+A7sC-wyjF%D^<i4o z(g5JO>aM05+<Owcuyi<06GKLs5%HUl6OLx7E`l(&9Bi38Z>u-6Ybk-d03&_{{z2E3 z$m?_=mwa$J!8j?MW$*()55cA)?A%PN--5_3^ulFQBh-@C!GBkXptQEzP%=utsLw(B zx9w~=$zuC4s#f_?8+t=2fuI7C<5&P_FdT8<U`r@m|JU=<oE7%OU%&GkT!4CDqy>|) zHWF9$`T4zK^wn)_{X!qs)z|^-m0t#WquHj_i>UD0npg=7*9042IBp1GcN2=2sVf*X zih(+SS>(94)5hMSB>;8&NxQl$o0v#9u?l~1KyhqOlurY{tyoK|nhS4?pOh)v2oW{F zT7$s&=jkzss{M<MVnORxvZzc!Tp|BpIGYLFKx;nn!8nch<vKwa7NNgY-Y4(fRS{m3 zbbS@nt{a;(J=HwG0IiULOp-L@S|#R~zVWIdHYXiJ^K{Uq&|+1N%ig7}n3GH14k_aW zsrM-}er<aO>d)?lD><vi9UyvAByi6Cy_*`0-kzdL#j|@5%w}{WKYD*n9<*nMJg)f! zGbc)?n-&vsq+r^y%n3xwa2=)NsJn4?+n&ss@^$<@dhrdQD~WH45*f0QF-bF5^aLnX zZzF=vfUa2*#*G-JeQu#|k6ns8QIw^$J~zu?G)5TFR5N6=x)v}$g&Micmqy1%>8c{B zeY&zbT8KL7$Q|b5QGZ}CX}c{nu@ferI*2fr8GTM1aN-W<uE2WQjh^zLA&J&Cb>AK~ zjrUOytx^GSbp?HNCGES6xo>Pt^rtdfD>F|{j`B|3{L4PQYQ=Klp86>;gszEq+^S%I zuf#jGn6A+gSe+ljis|AWzr*Pd#BIz^Gr?zBd3uwQ%j#<s<ll%>cze!{Xz_HGrNp!t zxw~O(p4{T16&wLszf;%O(%Zi*bAY*Zx^uc1j2;1qm@b^x(YYn)X{BJwZLov&*yQq5 zO`bx9?x4ti#o=r5gw95B*>PpUx<>aq@>;UXH+O(*J=p<$%OH3!j#VJ4&p|a(VT&LA z-m>&4ej>kwNU2Oo!^me^HztVuDspI}mP7|Z(l77C|A$zxH_&nG)q?WbP;V2fFEfYF z0f+~X+sk*r0hZCBeO1H94;rYgmoa2(Fps8U{>{O^=f*X>Ow1xNNsP&r)e8{t%<akf zrQspnz9nkY?2e(*tuRt6$Eg0YdJ||<(QNL!0aI{7WbMp&JKQYfG>}v7{4fjO(+P*i z?utkZ`E65~Urv`1gcHG1Yafqi9wei>K`jKBq`87DS+mcEgp~JPXc%&PC{mrnms%+H zOonOiLYDABnH=rtLO?M4*Rr+zj6x>V!ntCT#sjk|>B*yx!;DeS<_9AH{`(U$^_lGV za3|ei_|NzSi!*`u8)Ol1-BIx$KB<TIbYn|$Y6heg%fP#!E9BJs_a~sd--QQ!wPrG) zcJzkIgS3Au;FIBCWz=_!JUS-pXDda($Kgq6OOGi_>Ok&pNKVN6vnZti6%k|PbKWoZ zyMY*T9~}C-0XOJ(dL$FYe*-hZKJWSQImWQ)O{fBmVx~UN_Jha)#y&XLzQl;ZRlSBs zC!_*CieoWYk1DI3!C{6ZhBEHTZhjYltP2(&M5D2rgHTSWw>EMY5-v&=N-iIw+XL*R zc<>T=$`Q*{PAHZ^6{~Q@O1w3lUW^s5E2bFcBiWlE+*c7_t9WA7)R9yfpx6Ch+~FV) z_p+?_z;-;l;lgFjtegK|8B$}X9g%tHR}RnQ{|xO#I%PHO7H&z-@A}>Pw)me=^~p=< zGR8|NvG^eK>I`9>!A#6T52!X?E8Bm7KvvfO0)Z@?tgH#-z9N7Ko)OgUYyCV&L8+c% zQ@lZ67j^DK6OGZnLoDi8;ok1&9eHO}f$|*kOU7UV|31AawymXy=d+6P=GM`LYulde zK}ns!b-4&_1`A!ejJTAk@dewS&W{KA62JoEZqCl<%j4%m^Xi0)mb&*EyX))g8*m2M zIsWYaAttBh?*?F{;(2vS^_wX(BwX3i9xiV_$m7Kh_eojwb?himvnT$EZ@)3~!v|7+ z`ndcZy6xMgGp1303*alhSM~2wc+=H0i0=>as($sS^Shsa(xFndbVfeKx^212Dwyby zH<1zq?rDc}$`xG3bI&Eik?KIg6tPgXp3_8-MPcPkum`}e3Y)Pf*j6PT8>29AN0R3Y zC+GFr4$=)C8SzA9YxcK9T$lIf<3mcz+scN#?%mI;zj$|kyq26v$uwgp)ybvDO210) z{+-k_`beK+O61%0G3gD)@!?tKbN!k4d4`9)s!mZVF+5ezOF^5!L2y7c>82*h{^iJG zd(YfsyEzG9Y&FK+HlHYje8ufH=pyAQDHiQd!{{oMiZk%c*sN!#3zqqeYYD^H#-lB5 zRq^1Ua-UrMXVMnRZUYq5lUct`1NW#1us%?HSbip<-E{l;O<kfpkGZ$OC-WYt+LJWr zRDxhQ1UI`wD~CV^_57O}(^yah%63sfy@!zfX4nb{)MIoh+`H)AXGYNUMr@|kzt?i) zqXV%R1UVvIU1jVtX}g>@Ybi^S*zkjXXv4<<NK=vesl|kip?^eQ&;5pB1O~?Bj+m(o z1$6w2r-}w<{qxoHNDNK;`wJ@dxHir1%a0U7U!s_|CI^PDTu10+>X#_p0J%%-AHKj| z&%INCDQr#JM<->bQLUI5?4u(007I~N;8bp+GjiMj%EQ_yP<R_v17^wIxCwOfGy_|m zpD6&0L6;JU(IW%Wjul#d-N6QmaMLl5klHD^C@KP?C~1Je2@2Da`y?)?fpCNP^g|{X z7cyvH;USGuImxvsvojnlZ`6f!k6Olc36&grKF3jT;o2*~EPxpR2MA=wj(riO%w)x( zA`GB%+D%5V$R1NCmpo@$chE`b5eZtQ%IALN6jAS}#3pQFke^r3Fc|kxr}_-(w5g3% zJ_rIcGDGI6U6$SKg`GKFw5TuC5pf-=cwO!JTml#d1g@kAk>J`x0ATEXl&;djQ|6Ix zkD$>~GMco1h7<x)Lv(=Z`FCgraPEwpbI_|67U)L|<w5QBJ~Zwr#<TjU``A*Eg7CVB zGuqUF`US$gIu`Rf#w{}TQ}MOoNhZlTHDhdD7RI@TFs^^pgW`YD;f--w_ut=eE2LF} z8&amRgF%<B<;wAF#FyQY9Y)3?{kcVOY!*b>2ydZyu2%rqvb=dpVfGo2?JfltF>n#d zMv40@9Dg{<*qO0-$j`wFD2YW=I)nX~W>$gN5kX=)VwQ)4kgA^~++&?9FBt_$jyeY6 zqC*yLn^ngV%g87}Su@#kn;?+BKz!8+Aygc?<^FM~j)G!<lBB~<RC$IJ)8R&?rL6Ow z|KY{^HlqztGf>*deNsGZ93|g*3f1Pdlnb{%&i%zl=}KCf>wu~53JEm5rrrsg$=B;& zjv2gx^BJYp&~cnnSfkt2KaHTzxWu&e8_=BQgjY?C4~f(wov96goY%c{+D`qzu$tOU z%7HH>;?_u6$C9`+{F&G!h%y|_)2VGtB4^ETjo}S&mCRssr{#{-&%e?~H0vb5dN4xo z($SenfV_GSJC_&)0V?XfeSli;OqJW{5kc=DCGR9haR2OeOddXL@f*u(qu)~h`}GR~ z5g906tFv75Tjqi}<J)T2SxiPfG4k&ial0MCXJf%DF9<Jg0yaDjLFQm<mc%}@@l301 zbcQZ~t0lb*a+Bii2P`D9VeP64vW&Uv>uwS_-QK~tvUbD+nf5@N$T7F5ZC-G?%in;Y zERr~08+3i0QLk9kon$x-Ez-RfjdYf7RCZ2UOEafZgkd^pKc6QtXBOFvION!6LDVL8 zFua48%58-z{_-v7-@)%jOc~A-M^aRjEf;ivkZr6NyquItp+>p3Flq%GgtAWa0ye~S zjSJHsoWw<fh4^qz+Lg*rx8?7fj}oiy7HMbQ&{TgNdIcj{(Ekz^f{M>+5OSiCmjAVo zt>77z#~+etNE=rq)DRx@O`v;k5SqWj$s@a>B>x(udFnm!jO@~z<E0dvA@!GJ7`s;n zL^;GuP}Zu683sSw{-J~JD{G28Hy#qe(V;d|!y<;vlpG5$OHS&EHtAK=YK7cnj<{a1 z@QWfv_h^<cNJArxe8)<6CTo-1jnrAbc?;z?&v=$a8hOL#M4G&UEA>%h@53&LX|ooV zU11l~GKwsM!(U~#LFFi;yLdr821i*2NT;Stugcxxq7=z77)Ta_lliy1hg*a-SnbF) zSr4AB3X#D+&ywS4w2jMHlm_gflv*`Hc%%t84=74MPIQv$X!m}lnsc&Xa3RTE8Zk!A zb{t<p|40v^5IZ#+26G;nguZWg5md-{MUbVtZDMy__*2NH=8U6xRuTSKe~R1;_$4v6 zVnbEwnJ-`ev`7JL6kVfvR3$D4;_^uC2|Fr-cAP34(w0s6a5!@|JlJi#&4>FWN-Zl4 zacAyW_CU98>sVNGlYmEz5BjVwJ`HVCu=YnJbuUvIAxnKozBK%n<>Mq2f4p_+dlu?* zVJ=t-&rABjZA*#E0KdFqE6T?43&~+2j^i)q+*x$kMArcJ52x9+T8}f1d1pZ;xkjF~ zUR$7&*8UiI+yTR2;A^6B^o10C)l0%qC>20JF$K;*n9*@nV*q{hFMiKr9=v*VYiw<O z8$E|DD*MV&Y~a6wgh)!2=9E(pOs9*VLsP~|L{ISB|9(pSNls3Enb1r5irPp59=A|? z48WO*WH9>E+WhmeQ@X6lA}Ip7^NlEsE*$Y&HX+SIG!JS-%B@`GeF!={mKHbKg*!p7 zvlFc8wm(*$=V0;_Z^Pp{b<a=m4kH1a*(%}c=}4tr@y~)Bq%9vO3L@S`n_Z)zO}4T* z!cLa_d8NfhpspO>Xs<ZCjXpABYl+69!9#McIHS+dTcW{9BzhIj6rP%u(_ESuNAPT4 z$U-uURo=W44M>x>pOure-iv0oDz(Aph<*K|B-Ls#xR=`~AunrcXScy&G`4Bzfftu9 zP(OMq8=nST{UN(FH_aV>OwnQa(A5_QHoj0aZoCDpEoj1uCvZLe_2;a+A7NNAwGRiK z!N!+Gw9~0>*Z9!03Y)LJV!mTnm$NJa6Hm8}U@MnD9hw*s!4km#gM2mt5Y7%D(ay7A z#VYE)uG7)PP4^%QC#oc>E0$_;5JdT;-X}A;DFzQXYgwv_PTI3HE}9Q9SxNC!R*tO9 zcN%p}Hy~Z>@ZpXmzqaN|Toy)VK1V0vGOo|Q40pPKP0;1-pk;ptrJ~z{lWC^@1WicN zLcB(Q&l&3;H|lVI=d#Mo58DKIpnQUP%BGZ!PY!1MRBbT8ql$g#5Y!3`b7ITn`T-2= zSald9h7BA7Ik|>)LxIUS2Ys~WD65FqeE7}s9{kPt+qKd=2WgO|;=j_FL<_KlGp3MM z{Fsq<nZ5S(pjx~zfR80|<<kOV=?n%a7}E18OPyzg4YUu_ECA%)Nt9U=BiZ17movk4 zBrtgO)-1MSKoa9yp*#q9ER>D;N#Foeas?zwymGDFV%0u@_rysDE4Tl_kY6GYKsg$q zBJB|X_r~<nj0m&lCjQuEZLk*gxfGFuq_<E(uVk0n+PN6mwSK#U``_p~@;BFi+;@j7 z07D?_5U9Snazv5UrSXlfZ_{%-dVhX{>yj7U@Qroszix}ryP2d1F^jQf8k=4ev+qdm z(wgO7f}nVhj-<&?*ad>qPFSt8ZsFTR{tn|lIn+g!vo4L4*}1P02h^6$%#?hA(J}x~ z{=0Ple_qHe9Bd5?X}NHO|KLKv-9!<$L4KE82PY_JvK~s_k~~wRV_?k=1~r@&#DGG? z4eY}F=T2jb5J0&avWigP0URF|VEn79t-F2FWDR?Pxq&hWZNQO01s%Z@Y?o1sEetEU zmp}JpfcF>qNboOoy#D<X$YlMr8lM{xh*Rqqk2>y3o3C$Mu#`X-K;WZB278c0D0V2G zPa#Q;gMExF$56ywiCti`O0E78&kkLVW@o=@)BWK!7hh*t(Fhkl0NdpLA5rOj;tVby z<b|Akx2sUhue=2Lm+X0Tj_)Lc&%Xzdw)zqhb>B(b@{n7w-T-BWtG@BJTP{(CfDdjG zo&y46bFP%0llw)_d9buI;prqkeQ2W+j$a|SLK2AWKw0;hmA&H^*#`x^e-<X_unyaI z&aLh~%6y5~^t|`*fX<Q|_#?+~9jG^FL6>|)vn2~WYnmNpkNx6g$3zU?L!C9{SUSOD z4)Y5x@j0Gj+J%hU?3#h8yNt8EPC>cTxS`wZ;lC3n7;OlT=e`#rV!O_Bfo_)n4c|BG z^(s{6zdbAoyZ4=jbmv{XaBuSVlo5@?b0T_ShiNyK#3{aHl7%!UD9X>yOniY_#WfuM zXP()9{jYxlGY4zJ-+B>1%t7n_s5Sm^3DVKW=Zo|*?b>XBJ~oema3MHMfNL22--Ck6 z_8VyGXrAt`$kO`UwCXh&u>_U_EPnL?1sK2h%M#KP_2e6JsJkXhmiimHIX~W8QUt!P z?rWYQK0jWF8Ey6TOgO4ajOP-xK7bSY@;!iF*bCsqPEU4IHz1X@(;WYk_3YMS#-jWE zXabq>iIGvj2FCp-x`!~FMNy34d3m*zzTN}wy(s$FN?P}vgiqeajUvDuvRzi^Iz>Gs z=gh<2lxZ)`wUag!&AHy>RujV;j8L>qmmbN7g#4XxH0a{yE^c&tf6DXEm15`-f@7=3 zKuLl9Q^c@oH9%6W{X>CjK7HnxFLcr@L_D^eG+tr~Vrqc(-lz~|xC8!ql2K#l*48zU zIOSpTu-KLun~!=9<aA714YTK$-P{klkm6u^oz5V1Ie)RoF_fG0QHD*JcqWFh>!04J zgJP1T|3<=sj^cy095u1=-r7Yj_rKX6s5wPQtVxe{;ee)`<1GyBsYJF+wU?W?K%|71 zQC4*0eriGMcV9$GF71SZu4L|!7hD?x1x|T;y!s65upWJX@?7mAE;7&gdbbFhytIhl zsKo{3bq$KS5*JCOqQJ`bJ%M})Y5Y;x2;pBu%GBJP1}I$I;&vruE8vTB7=65bHsKTl z=Z@!B#(*%9o$&Cje2#sV35J(l7FF#wi;2VYO@r%0=bI5rr(SNqmd;W3Vg@ireYmU6 zv>7NCPFxfA1$y!3(|}-uy~DM&d^IfY8Fig($upzr!g^#9#cVSW3r>3}S?O#}Whxul z+RJc(2qQb;+Mj9MUkF+hn;rJEz`yria|SFn_JC>JSW2nAGJJzW{I+=UIM8}bPIl>k zS=f+*5ieHF0hl&vnDqOF+X3fBPO#@FFRQuM>0-_MD<;Mvq^QETg;euF77gg4ECoR4 zii}AgJ)*fp1_cS5!kINfNdM{VOyz`$!%bL>cwxW909Et%`|(}5&!duUJHg{Aw~P_X zDu5!4L89ViDOVJjZ6!P2q$(aTk)#F^9A3%_^y^0y@-!GCM&-;_CoK7>#IpP=tJwZQ z4hI@>6KgzP>KH5<U{I!dMxSjVocVkVXspFC9YzK(+}YpT!f|+R20G-t5y<TC8E}(e ziL1gpNfMfg(#O(UC?BpgC#P3<kww8N48Va3a1H?G%4{DDtb~FxmCz(uU)ndY7@xeu zaI(P41fF)rEz2?>YtLUzp;#0DDWs+8NT|j)<@k$UiK7cOY2>;99>YZUT5qJdJ*Qv8 zT&F;myH}qoBYpdlM!V4!u{OzGJl7pKn6F*AKvp}V@<WEc!EhaexDl%YGEG-h4B)}s z=)@g4?U9sx&m!Mol!0L(aj|@KaG}OnKY^M%INecYNYEg>z$4kw*$U|+_A&;D%>n&L zEJ=c-zG2_#+dy)=7XBO8q|G$_Mq)`FUQw9Um)r1Ia%U+;%8Yf(TSALFp*?NnfRm|E zPd{nUX=K`?`VYJR3pb%aRmnUO6##l~a&6gE!~ic2l5N*X;nT6oPM!=Qv>Z+#q)O4} zTBgt#6xX^J4kC_2HjBjCqGzS-Q7f%NEwXAa9XfLeH(vkSFfu&j@5ng2RNb<D>k^K} z9416x4K2r7k!M^B8V8(5E$y&X1RwDz9p_okdU}CW_a(u;Zb7U89O~(8BLMF`w|z-- zoAqb0CsVp|Ht-*f(dlkQ6{!p5iuO2Z)=7GXR|^Qvutz|r&g~MW$Zxc!+Vd{;7+E^f z=>>;YS##ltyaC_JpF>M@-yY3`M2ojlzNnNiAk+$$yh@Se$u7^sAv&=VhNGBFiua@i zCbz@gB;>?reV#PIM4V}wlmI#?r@l>z456dor`XO+Xz>(X6<Jpc+4+5^R=xbME(3d) zy|(3s;UVh45Mg<Q;}bYG{4J$@a~WkyJeRfkRapbkb{g86<%{|H<$#Dael3d)|4Rn? zmX0%I$7bgSbqO3Zm+=UwL|5^1dMNRpAlMKe-kGk>MkvfRyIhWrQ$So1GiZ5}HhzCo zv9e;gIcAM*(Z3Y5SH$HVX+9PtcK&5}F2lC_sb-@Qi+irpNd09>wZAvpHbi6vo?B2t z{@%VgSRP|jN$Vo5Erq@z4-_~?|8Dg+WWca68jS~xXM6sB1c+<<UAB0auGA0rv%NO; z%{0=ey2UrG1y4AszyJWEvL>YsLj|;F#ILJPKWqr8GpxZnLnnl!mIcf<=$Z^oH*7{6 zlR`BayHL#VyQNOQN-a&y^Wl`=qkcYG3)e8PYoT@Es6+VVu2wO+Z7>_^CTRE&ll{1^ zzhTFW7(2N9>>Zb>G-Vdta7*2$kNopiVxf!1z(}fgr4`1t;P{=Nti%d`g`%pd>$guu zc%_jcf@lrDeF`27arK_{kv?F`fi5T!#c{+Qk?@jor!oW;2TuKX3;J^lP85_M+SgF> zBl4k{TZrM(vZ7PXPWTP}cy?dI*zPdHgLS=Iy5K~WfG`~nYimJ^RXgB|K=0)1CR^_^ zk_dFMm84M>ejCs;02VET-#b^kulsH~*zS$uv-CDR(-8hN+^_oW$~iA_UKponj&Ns> z*5}W09pZ4RKy#(clMQkyqPfe5hmA1q2nmf6RX%&V9+#MxhP?QuvKUa8D;TjwZYu9$ zqHsqzRbukK@O@FS`8>t!WKVsH=63RSAKOuoQ}GfT0$?ltWs}HxYP|`J-V(<8GnB-0 zUVrav+_2^sU$7jXagh&#SQ#s@+EUd=Sccl(%x@zy9SkDFh?Am3g}d?O047Iyr&%v# z>q_T}w_349tUNG}_FS9mU{pC(aA^Q<9?_hvrm{n_vjX2gO3;#NnBe5`yWr=>-_a$> z>+CbaF@Uw3h`$HPnI{$(@z*=q$+u)%xe@vlmwAyCH1M~GihZBwN($efZ8Yww#yNTt zwLuff=skZ9x{GLP#TePux=5x&%XB9x-(~woNF?FQV6lf;1xs)0#If^6C-i?jT7-@M zw4O;oMip5MBMddWaUJRRPAk@Nc2o11Vy`O*6@XUQL!u^dUVX=Qyo?ezM$$t2y*YZR z^9lN4JswPedrc6D$NiU9AC&9$2WXiI(opDzi}=KYo&toBcXSn?Fah9kNR}*j#y%Jw z;C$Zv<L+3yjK!KdU6poRlh>U`Swinme+)NNfA%!_c|%^(K2Qekj-weNLkU9ksjYm0 z2yk5g;|={<-@6k9v%yOS+CdDd)_Gnhg~quw^J+La8S$&mU%Zr?G4ICKsq^m$k$6?a zX>r39;r+PjiCbB?>6SCkIc_mM8*tNTlB>m}lpQeW$+`&ho9r<oU0-g2srOs^qScVa z5(h#^j#hjy{_j%{v5(nFn*g|Oc?xR+1Q3J*&@e(yBzh}ZK0bUF0y`|z%Q{(kPk2UH zfNS$!k}ORRe+z+(yX|d0W~AY!T1*q<lV|l~+gr;hc-O<HgG*2gE&xoAa}URTP44`j zvR}(KXk9BP9m(be##;xqo6LP47Vw43N8MO19U4g(D8JkKTlg=e`>d#TSPnXf0jj0j zOo0Go&l){D#F12?jYh(Wm+1UpS$)LseTIbscL4o7iwE7&UUNC3DhR~q*v${5z%x&e z4uh2gTe(2zzvQ1*)yHRc(Vp69mR`-I9UGFC#JxKGBNem)WbUHqemR_Ui_pW!H~&Bg zMb0<&c1a>1vaxpKs2|U+g;$0{0hYwSEmtojT7_QZ(xm)<{2A-IXC4%eqO^<Vw5zBI zgWxVuk@tKkQ>nrIaw=bmEH5K+`w(LcH)waoFLJLS;m|??=j4_^Q18W%+=JF(-b2TZ zUht<MaFXx1s_cgB**3B3P$^mT6<SDm2o~AQ9|%O8foj>;8JSk$q!P202B2b)1y}8Y z#fuIuH-?LB+K2LZPbpbR*H+gXR!#LUO<6J#;BVi+qvJ`eLrzROk-M=B3n>XV7FHT( zHEo&VHaalV@Qus=F3k7ppteDl^yVbWhsjGYBj~(u;4!^-!k1xqlI#utb`-X?3kxsW zOK+BMblMah5%l}KN$a;|1^8@`pyc&89Y_IJ%<zDbu#~$?q0SyPubD$DAf>^JOG&<g z76<Z6vF*HNKxVLf26YJLKxQy@`$~OC!X42Gv6-N&xFUV*;at~lcr}VbZ~i|i%L1cO z{Yh|>-Y<@1HuLilA?{D6?h||b#UdMJ!kv>#Q1BhBHG5T<CfGNZfY}f3s1Za9V&9{m z-9qYL)|E;RXqGEZXZlQz>o81}qo_Zhy^ZZO9@Cb1**_Ap&QJZyJ-LDCr}}Rt7n2+F zc#hyN0ZdN`&Q9F-FKH`l={Ll^lO~&3tk6^SpPW^QpQxxVP2OD4Fcq)K?nDMvy^evk z4d|`>0k!=)1f=xyfUD=HnuuD&8F?}*{m(DwK+GMcx&%y>A2=u~s4*`}pay>uP(3o( zeej)#n%IJRU_1sC{E+`}tX_>xe=%MVC4X+pENrQ=ejtT^U~S8q-c~qQV!<_)a=4^x zVdG@2Y^fT&o<L+&8gjN3yQZ>5KfN@qh(G7OToSj7R_nx_1A2DG)}7@EHt&vpmU-op zu4p;-CvS5g(=_U&A2RyS2wP9HHz$?rhA?H-&d4o`SWH<Za{UZ}IYN;aNBX;ovR#qm zT_b$_m*J;DNb`q%x`%396}z81#(Hq2Zi#*@de8jdu=RXH7z8A^n&oppA;nY>o0}0D z1sQeSc14<sF#w&+++w|!V?5(GtuNlsCjnLJW&l=BAWk<WL3<NoIH$X7lBzR5t@_LT zRT-m$(0^vq(aUTq;50Z)70o>ne&%$PmPsz9AH}OM{v){tediM=6Nz(bT%L7-S|9lV z7TMmrG9;F7Jo1cnXWp5L<xmCs2tR@!=cu1`+DPum0YIZe_GV39X?4jNsL7xo^FZr$ zi+J9D#k2^WbF+kgdo+s9vUULrZ31s(kcF{AtsC=@7t+cf?6WcM$A3Sm^Dve|?#;56 zFTc+-J3_N^notw+8u(qoLp4vHdp;z)PBq7iYo0n`>eZ+l-1{COs^{oDkAE*ujF>M3 zX-|QeLzf;K=R9vOpFhlMnfi|K6x_!=mhHch|M3$B6qu&=98JXWr~OZHl%Wsr2X=Ao zBm952)13dio#y0VYS`|pg98BNnXKrnG~@!n^}MnS)l*?aCQl{&eb9t~kW;CJqi2mj zE*27zmkEZE0iVi;q@Ou(qeJr0-p{|zmWZ*e=K3l_Y>6XaPYvJSuLtx)FI~P<&{$d+ zZs^^$zp2fkI{xLhA8Y%VkS!z(7QgqWVRz_g86xDU5S2_C*YCJYMgyJ*X6@yFn?>iG z+zyH=5uu-|xeXK4&`uivrwLfYh*yfV<#IWfPbN#sn9l|?&m2MJRbk-qv-=NuEs7)1 z8WU(#V;#c^-gnM~kg<ARuPYg%h-tE;v2XRu#dHJdr!7y-Vc##3!?74;ca}A>7;oU( z4W9b=z>Ko{JQ)#f47*7&XMUumQ&I@A=`E9Ha>z^(p8)YE^4gY<&VSINuBmUgh=%bg zSOfrzPte(EBH_{XWIDvHwIU(vK(t_7n%!Gyk63U&*lQz`A^XUfT_M|m88BDi{YXA< z3@KzMH6jPe?pgGnn*b^`T4Z7GWlutE?CuVL1d#n7dyH#)1{*xqSb7}v;V=vuDwRjx zJ4d1U5*6Qlu#Mw6;5+1``;4P#n{*kN6ae1qS0G{9ZT3mHLyi)t6ueGjlqX9O-wfsv ze-T(B7N`COU)uctD_tfskS}gLY0KaI?rk1yD7{9S_R_tY=7|<Fx6xOp^>QrnkykzO zEfG#Z%U7eqiS~bc`aaMKBJaFd_@#DahGi;-@0ex%BwUm57_eK)uOT4ddIXz+b(?BG z6702l@a?Z{sGc3jK9K-yHsECL?enNk_~Cx*sGeP0mOQea{REp=f0CAi9?wtN5ss*% z=fsx6r0jA>dBjhtH3U^nA>_TlLk>SMH~Bq~?lIc;Kx@%cH$&}kuRcCk6XY2d?q>gZ zUWP*Wl<V36@2d@Mk?b2f#T#{8w;GUW{~OCJ{H;PVHCk~t?+q`@x)*<%&50M7#82d| zKej<~dLXM~N&FXmXI}G$PhM!>#okSjzw(IdF(Jxd+UVq0RVD(O)s01tj`=j#a3yo% zb(aJsx_*!w6zfdW(>~G8l|u<_#yEb@0zkA)9#-8Ri7WA`pa9vkRKwNhf+b~^UwzW0 zlE-&(IX3(4cG77c455}T<|6O!)=Qn~7Or*kRrk7odM`tPywBD5kzGFze|O-Y-DOu^ zL>9`MLyg1x?p1FT{dXozay$R%agu{KO&yIeI6`5uw_u#kgnWUo+IrW*8K;nEgQ6zr zZT=6}*K$({z+eU^*8|p&aVUsI+F=A0?DTzh!A{JftE%P|t3m5*NyU1+F<<3Od`<f9 z{Z7nR=Axu5+{YM$OaEGSr{5S4=f~?zOwZ@u{WYim=f~^a$iul|pJa~7IraSn@SM0r zfPV^h5qMq_;eOUp_otUO1bK1yrZ{_dNteqwDX)hWaQ5#hFS2g=R37hqsZs#AFuyuv z_N`v^SDl1i%F0=;(dQ@9Cl<I8nY$v1kgcDU$NNpEL80YNXt#iDKP_Rh*?2KlnIO?A zl3%-&B8Vg=d4J7DZ`WvZTY|fJ$Rf<?M;Z+1AgO)@Q|~+xFm+UP`FLAF_Gh6G!&_<S z@YS0Er1B?GXP=SYzzK0((=qabise<)tw*%iFeNC^N#5h)=%wZ9&)6xZ_vi&Q#w;Dx z*so?Cudtbb;t%upqklk!`$P(xhr;*JWA_S9OiJR**u}8cSx8`;PSMMHan$hoY317u zf;bz?7B^Lh9dlMhbYtQIA2KOc?%=vZ=isgZY8nipMxTvz7_j^Gg!05bGT`8}9`mTB zxsB9eFugU?+zdaWyykl#kAHP71#hq4b5GevK^@HbNh)G-;edVNED|L#vz=R6q^dTM z;rk~V-o{^s$5yc~P*W9!7!R*#G-X?(_;}msToO^f8Cf4U!GO(Yv*wW)EIO#ndq1QA zDyyqt6TbiBfnxFvmEpT)Y$5G+{CLA2Cr2&&*}-MwF~0>sMEiFk*_qf^PSG66Few%r z@fqR+S9Xcx1TK-<hr<S^7|B`=$L9+BP7>NI|9k}xiMCXKMw`bHz7*997n~4^qGPv) z=`^BlW>6AbbWbxR2*`cVD4U*iuaq<ZxJH}R!I8%>LJ)lk1a(4Lsl_c7-*_z&!8*;w z)5NrpX_|_v)(~lX24vdCXvWbJkB)SZrXMH;Bb5FItwpfToZ@idpz}LFC*G2389-Kw z2$3b`_4!M5{mEI^P&7>}fb<R!?1K`@JRVTGE;K^!<n`AV4>}+5CG9PI!wP{^HgC_{ z3Lw^wAr#miw3+0f6o5rK^_w-z*<gp~p!u^lJi#YE#$G4!)~!v|k)_z8Ehw?UaFk9x zy3t<mzp1$0TEMq*$2*Q_q(xpEcK(m{w}J$90^BY!Ku3bo=qHK~olU?O-uUO^X^+PP zt8LbyJ9}O+gCNC-0%Wy8;pj63=@7Zg#k0MCoJ&*6^B%g`LQ-`G$oin0KySx0S^h6Q z32;g<w(^GA8r)3@pcm9{Z6_(FRU^Hvk!lwZ-4iTA4ojo8ifjkFj`2qS8`MuWy(PO+ zza@)sz>%e~*~54#y=Ezw0|AqR)Tn9Jp2JoaOe5$*2z@3<q1FsPS8z19A-Z>Qfs*0p zvC-^go4}J9At+w8HZZ~YZk^&B><H_(JfVuizxL(E*YW)A4Un}{8X%u#9avwr1FfH* zq({4HYO2cs#Wc>3s~|$|a7*@{vt3Z0wZtG60F1b*W`aNdLU4m3FG-^EG5s;=ed3D; zx}!)qelc@-gMq)h!zG1^YAoCJB7p_yO-E$cVzPdp9?>suYlFF*f95E*Xi#7aC%KjF zby<;Oe`NB07J)A29Fnu7pE=+uxc$bbQI8gs#G@$B&{8ljl8`g@YpunStf&;OKg74j z0|a<)--8#F8z({|vO~st6Jd;YVvoY0Au)NTi0xFYd}k5H`3)fraD$PUeDvoF?Gp)z zu>9(!=-i><63MD5Q?Q-xaNIC9kdEO>T1au>oE#A*Q3>X@T~TsB4}YK;NThN&S6qte zjB9ZUbv4dt8{jctyF?&kzBU%cy71V>1CqQpUA5gBbRmuwV%ZzrY>Eg)74R3}p<E!M zL%2`XyrLx;mwVAxH;U?@%0j>ni+`w!C0(>05Z=AW5M)PkI^G;HtGS8E-zh$&V;~JB z!ei3|L702Mz2|68pqAB3oFY%J5Os`8#yBlBaKVg4n{~|;Q*eG)!Jv&Sy#9Im1T;!o z{*9ZpU%i*Cf$UF$xx^^ZmWVv+_3-TyUrFH2sclUb@wnKxIFvEJ<AnIjAi~ib^7|)w zPEkO8J>9|@i`a#Pn{bHClQr@xAq5IM(oX-guIytJvDmeXY<aaQcxh@Ae0$HOQ!dbG zC*zRJ)k~qS;L%J_=uaY`k$uEu8Q?lSt1DC>zLrx6R5F+Hr|2%}@d%CA&>NJKzTmli zgn|9r9oHhhG-}yPdcb$5_PEOtc(naAL$q_6^MD(t9x!$pi66MVM%_k0j0&tWIKiUR zPG+wl+K7Nj*pJTyI_;RP)b^+g|5TSu=Y2Lq3g|en`MZ;u*Uv0}Jr{ja4af+_q+`(H z)(vv~z=eYFM;gz@h<Rw8+HVsL?pUz1N;te^<)~A#tZkm>#696NZg9se#Eki;)Mr{9 zj;Jc8n>*(ED9~8G00Fz3Te*n%+Dv2yIA?WFfaqj%kDzrp=UfR3uWx}PB{c5gVwXT` zBg5Nq5pu0<blwO5ThM}t1=w^Nc=SD2AhL)6keV*eBYTcG0NHEVnRc6%=6`<h;4V3T zjEK%`LI_h|I8~LFNbu}FYhAq~iefG{hcuFFV+&a*FKeo?X-m9KS^poN&M`U@U|H9( zHL-2mwv&k`wr$QAYhv5BZQHhOJ2z*aeeTa*y;k90S69{hm;vy)152&)5?;w?f?auZ zFk2Elo*u_mqA49V9r_BoG}o<SRf~y}yt;l?(Jq2oU-A0@d#n1AwVElK<d{(Fg=A_r zzb84`)u~G^bsWrf0`Wtw8qzvR@e-`hhufQ&*XEi|ugV*BGgQ*prkGlsqHW=pwLl>U z-rx23Ig209*6D2rhn|_d!)lT^j>~3$#u2%DEZUU|y(-VEI9LnQcof|i60X!C#DB0a z_bw?5o2w0gH&5j?A4iM7e|lX+47`}cPm+qA-ZskUHt<%?<lG)^g7vm;r%AW`{t)B@ zu3)A@nQn(Q$wL-d|Etupn-GI8?2HTiAm*r18m2iMG;xwTZm+EP)G0J#u{v2{s}okV zLs3pQbn_lHOMvbkp6(D|)6C{I{$5&pN~N<KWi(L%xQd>;8du2+9S2EoovSy{ZLqh5 zB)N(s4B2YBy;taZCa(vNUww4YsWR=IsFknij-}ZKYN4puvnv%Guy}fPTb%0Z&DRb& zG0-)n4P@Ksv0;0%C|?jSy^+GZ$r#m%L=Fjpo;K`VjG4-e&VLBdt>ubM&hhB_>>usc z_0lf_Xu0Z-7}K4uD>pF8T1bs5o9bqp$mhX>wxCJ2iC{t!Av`chQBV_OWUS;j_G{G4 zDz8Es2VxE3?VqjlR~`R>3iRJm3Z&Q@&`Oi46`1x4u7ceXLk+`JvO0gq6?AxQY9(YC zIiJ9Rh4WAlWKP2}LH)y7i0l-;As;RbJ>1y@XnyGe4L5o5_Kgn1{{ZO_Qm0k2SF=4T zEaG&a=v-}G8#ZURi(%3-o^h8glhPiWFcN1hDVoSyCmVA&IWj26>+`w1Dep)%2JW!+ z*v_4hWq!0E(@E7xIp*|Gy0qXoa2IpfwszRtK$>2r8naRv+I<I|AuHJDAJFhTnFrAT zxEKxkOzhfR-C@mrdxcen^I(t?^aX=TNka3*B3s*rIFK&(OD8lC9t!<re1X}Drq`FG zvNyIN8um3gl(K?mw^pc>eQe3Ps8g1jsI>BvTPN`!H^&0Ca39??lHmmM_HTy)10nMh z*`8dT{1s2}G}GVQpJd^kM7vB&Lqhxjlv`Mg>-FbScW1o&vFWf;_afm0Jq;d<-(3S- zksg<(_|qz(cd(cKLB`Y=LodwA9=I^cD_yRAF!P*U*>YSx?CfLH{f~h{l}8!Du_hLI z+((JoDDk(liIknbCIzh{|7Rp@4i=oqDAIbs$obFzH-cadFgDB3Hp>6t)mFe<s2bK} z2@fNb#g7jfmmOkJ&3owE=}|>FW<6?5_uy3~lV)(H9fC8HHqvcR9sZwd5JL`=19<d@ zf-;VS;avN$ODl?t9vnDu7o6HxkCrUP5}oMT+9xJt`smR<6Y~93>ffGzu4&sPMA847 zS=bx^maY4i2xCaU@%P{VW`<y0U}2YzgL8Pi>)Ds1=A_xZEq|9nt8L1hRf=4Q;cIvQ zE4uWT7Jf({SyOdp4d^6rnuP^xa(2i$bb#ihpJRRsRNn#9pOy*ZpOC{DlH3IQZ)1k` z=jJ8r25moV+EWM=zCn)zqU>NyY>ku2vVale$xlr&P=L9>xX2tp`eBgtKHf{I`O_{8 z91dLK^G}%p!~dF#car}_kDu=UlnNW0Kc&L{aJeeX0}d^A1B-5VC4oR^2cYA_9td)V zuVeD&OpZ<y>yTEXk*az-F$fAaGzFdQNVJ;>GTfaB{q+_d430GXAI4{oG!QsK#@v%_ zQ(p?gk!fYr)ESPu;#j|-MRWkiJwK7br%7z132Gi7)xmsYkk7v5R9z)XT@y$fOz^WT z<8Gu)UCko&165<c4T^hLY+XkSG0(m7^aR}gnBn$dc0gDtN5LGHK;Y{!Jfvd5hE3gQ zX{X9wFS6}y-4nvw{g{J#Z(g-^QRnv6x_Y1v!qey^8$R1Zr?WciDRZ(Bob`P5FlhO) zqPho=qouj32BqFo2^ZN8{F`_JB+8%}9WQq|ZTY&~RUNckt!22Q@+ektx6N0}pY|Nu zhrBPwU~xc>mJl1`-b;K<=Ak+II>_nn1pS}!B6cMNUVjYuy#jDUct09!7951N2M?bX z9M03O^<$H!@kf^NIJGRuJXIUpg(k@SsD~M#T+%H3IF>ClhosMB@<y0D&Qt#oS5VdG zYGgF@rUi=WTBdCayJm?WjLr&DB2_N&HPLrAUCpYRTdG)0^tVn&4zDQ`-Fs9T#k+|Y zBke%a1;5n5+o%AAquXD2A{nX~_FjDi%z1GM*U=}PTJ>~-@;k5wwR4iSG92Ncv&92I zp*6Bw%x%k!3Y!j6NftSw^O*Jp649w*jg6vzRA?C(iYRw;DdMU9@8~+E8Q`&hwPE0w zLdPwtKeR}GUkaZniw@Iz>MY`2M%p!?VbzHR)L2yQ2_`4Svw1b3@HR+l12}YOLKq-q ztzYAr@vw3w35`r6RC3ODTp7FgI@6E<ABA&1O=VFHo7EAjVsTczDEZ?0g`&fq4Kj3D z9wkyH8HOl}0U|RZH<lMf<b7k3-P@-<(!m2-Q|UnMX(E|n+B5Q;aH`hY72FBRcvG~9 zI6u^`B*HBHA=l!aX-@_B&oVc&*uJRQWHDi!vJ%BP*ev5C6^c&Ba1JRH<VbVCESg#I zp%jHi!k@XRg9cnoA!x@6sif=lw;Gt0EE_F0KHLha+G1Px?Mq(J85)+*IrGrt6jv9n zPHtIF^2eTFh%E0viv4*EM+Y?vQ4-(H@@294V0joSUV*;eGP4j7iO}IDTsvQ&Dwmoq zW~srVmHjDs@h~hlVEAGPT%m9PqB?O>le#Ynx)2xh0hB~v0pTyT#E25^Ru02oAv%ld zq66qq_+kU54njN}mg!kt+=efec~K<-C@x?DABKOTO}?}>W}<_AvEwG-6B2VOii+kt z_PX67|G;l*_w42cil|ipa^AJjc=DcQYeg=3m1&nfmWDrNcfi;m;c>kHb}P)cfM;!` zkzWeJfkY_QQdJxuR>~rEhqgk}WE0rfRJ;cTMlvM&P`9DEbcR;h>ngldg&XO(bB%+~ zi}szsIygF7?M2Fna=Qc9bMo1qaB73KE_V_ch1XUzHDmTyQ%-UyDTQ?T7vjKNeDY-l zBLAdb99!Km`4)z%Vox{$%I3ouGV#Gwmw9AkL7>@9`0&PK7i80neeze<h_H>={1dYH zYbxd{^Xh?S?dpg<X1X+GdHKA&J(<B{H0w!=jo78&uQ@Qwi|B3AavZ#qw1wEhTFIvQ z`X4qjt|gD{sR}en8_#ct$OZXfp(_ps#wK7);b!UjSdrRt2E(R+q**xVge4ea$_RVS zZhy!Rk$p{UiZpfYVs_R2wEocUU4`&1N|}0T?32432j%ONJ6_L%{z08kSf}bfRVrx| z8Oo*o4a|#9Ggv7P;`(~!<4nk=f*o5j%`lV9Q_cZw<*=xfYst}4Rw;N^&HzQ#fO9Aj zZzebW!B<YN!dzUy3n?GwW6%SmxG~&`%cwX4E~Ha)9}$J>`UUBNe?c}^04|D@|IEh? zMC}gHPH2vL=e)Tl@dfN$Uo#n{(E|Ov_0$Wg6kPi`^7pfcCJYr7=L1V~r&eWbXF&j; zdT6I7Z}?s0zK8-#U9Egui)p&betAa7DrZOotCjVhv4A#U&$-eHLT7AR_0OeZ^VH#6 z?71#%1Wyn5vJX_xv$yKaAd^iUrhWczaf0z@XQlV)gaa-C$$7>gp}JuKfuT|T$+;Ql ziLxcHUeS8}1DJb#tUL-K-wj0_FO<XxaV|e4Y7*(J<Q^hjQm{$1NqcKO98U{t#PIy7 z&e2!eFQY#IM#&MIM%J<2O|hw3Uw2Jv=~ecV_}MbNA~0LNg4-H+`Gzr{9%Eh>X5Por zMjFfsmo+I<Jqm^LJ@3UvydiV1krWjUv-B~zcT+p|l^Cd4s9FZiQ!>?&4lj3ZUS=Ca zE7>N-#F4EFaa*&hL))s9IgMgHO5pAsjQdGd0)i|+l)(&-3ENTKbt-lIOt(bz=B-JY z7B$xKCD?X2+hg!>%u)jV#ohIMueo!|lqf3)t=7|Cpi1-y@wLof-B4NNY#EexL!5YG zDQy|F`T_)EibQSCg7oE4(G4hVIol`=lC=x<qxXbGVh4e=`mV|vt<9wMi6&F5Z3^7t zY8?eYi%Xcx-1?1ka=%^tXYw9@oTGpDitdzM+hu>A%FL2tL6bC=x&v2s;AVY%-aPGF zF1AGnac{>F<IGdz#XFe58$03lG_R8bnj6cS$pmQ7zK@mE;O8xSeZr@VUxuuW<%|>f zTG?sVCD3$!Xcxz1bhg-q+ti^v$v!V8!VnSw55-jj0^ZZ8xU?m_wS}612Z|SBQT*!b ztf&+lslP(Bf9RjLTge0J+<?Z}KSM?Z@=UtPWvn~Y2zs}qc!+u3@1i)tw2Y!Cp8+zg zebO#{3BH>YTi^P~tFd8@Q8u_m=JxsqhNbaG&*SvI87l;=Kbx#v@kS8T6HnYFwUDoX z9;bO2+tCF|4t-$!dkx9H6QLQ4^&JBQElm!~_5Onxy_cdxxab*fG^Put)%zjn9o@WM z+67;?e8qV&6pJ|66E?h$YZY33^JGr$ffHT$VX)?Dq;ily37`8ZN*Qc)qG}y4Oo%$9 z-vWhf;o|Nj7A638LB0KmR>@D2B=%T<DFx{!#;g4}N+p18yp<kvTgH#L!J10G>zK#Q zmjSJNCs^;z8Efj=WsJzldy)Z&)39aNO>4WvScyS$L!lU*bw+n&<hs&)Q{7^6=IzE} zStaqn2A;)oEe3+b_dvFf_86fP+RC}>!Uy+($b)K_cIu&CVW3C!E;^~8lvEE8wxmV9 zNH<+J?aB-SS{>a&{hn$t%?<IuD9@Sjs`=a87358GD+iUkk%pUO1Rk?abQ9_LD}mZ* z@bd12M%7LXSexLjA>Na2QUs}PwP1E&z^Yg`9yC{XUJ_3G$XdOd3Q|~aOl__-XVM8> zYl`&f#cYnpQ7t~B(YpAT+zKKf8hQxXWpayUJu9eTctdGd`gfeTcm1nq9gA;lrb9Uu zwhP$Z8j&$q5(F|PvOM0xwt(J=%(x!QmcZw&Smu;()VoKxM%8Wf4>Ie6Q?mHYLG~?& z(?RltUf%F8%|6VV+WqRVR~$?P@g)IXowrBgW-Vq#7N?S+ScDYm_)#oCsx9z-IYeLI zn@1IyPtGk10x>H%;x2WKcT6fGn~U83Ip$hZ<XSfz)Pi#M!Mbdcn1Q~SUJ@l5dwRk- z%aqvcwpMszY!aa$>kk@L(nR%(4K2khk+cew-2OwH@#uxo<?_j6>u}Nayc~b6j>z7# z5u=;*Yg+84#~;#cQF0<c16MBQyNXZ>)vQ*qhMQBBL#Poc!IhevH?w{+l9MEQcS-RC zKG;aL=z+URkh3mXU%1n=*g-x=Z(8`|8n_ibzCQEcc_Aq?%>Xajinyh4NLCM}s6FvX zx+0E7<UyViDO3rRCr8X;hxeP8um+VFiQia|kj|qmM5iM~T`w1au~tg8xgVh{;BW}N ze=-x6t(Xvn8LX1}*|>uCaXJ4|j3KSTwOg%u`Q!@yibV+=e|aAfv&>nh<z~No7A9cX zKuvY6idENBB}k(tZCDdc6WnFlLIj%}6O9`rK$l`#WEz}jR87iV!4ieps_0LwWXY9r zbBfHFh-T!nF6bcweydfcRj3?2WJQ;9Z}S1@`neor*i)h@>^Gb7%D0?o#i+hGSU4}R zAPKTC!&UYY^A=qZBxZY2=ZOhsao>_Yda54|ye!;)LGfZKtcykO#x)ivUDIvj2%3gs z%nZ*74{i)($O1hEf&1TntRrPJAoYQ3>%6=!&~oaQ0EI{Zw!ZGJlh@rax6#4>sT2M5 zgb8Bc6B7Q0p!|8o-#<_YOZP1U5!v9huJiV(5~_vl<(n#$s|A|%fByLV2NV?e#Fu@@ zMUtw#=6C1sgh6tj%y`U~4LRl{&7-JW6KtnloN$*l4SL8`h)2nQ>GLDzH0H&Rm~fon zn$rQqo}LB<IP^eNk$!X-(-wdC&{qrQ@^G9Tx*EGz!QWc2oN7<7HM^V1GD$AxojRa0 z|Hm8j)0ebvF{DxWn>7yFH6sOU>qo)A>k++mNcAJR2eU@4P{b2V)IFe>kK=ap=s}HW zcXmKTgO(dQ({)_WYewoMjaEXNGum1z`ToCQX~U?XKgjN4)zh0TC}$~`37QC<QaFs? zXDL!G4pTW{T^{?bhPh~+bT;xT9PY|h9-VO1ETAaUd4-pvlPXKYE9yesLMI&a**@pr zahlNQfATV>>;L8aMBK}{TmIk1=hibU2s2~+`STCAF8T+X{Xc`(9zZ;KNt!_UzE@3n zgw4>{BL*>A>|j#96J!7Z;?f``DMy!QUbveg9s1v>Qn3UW<**t51I>=-F8wz*K3aK| zXXd6!tDOWb-~IJ?s34H})o=Im{rB^Ie0}&|I{mms)}+awrTJk!`EIWhl#}`4?Z2&Q z7ES<lmv#Lv|Fwqi_uM17cZo9_mgSr0ChbKZo_@3n&71GBo#gBE&bQ^SkK2&s_u=vB z#i|{Txx*%MTUb|6mqnN@_YkyEi-JmrY5c)O?V~9neQ{(IWG^H)?527V{6|l=>zBiI z*QbxJJ$#@S!i-s)wQTdppUHZHnCSBpJ8ytYx2>km?&3e0?WR?o-C8V#*I+x$b}m2$ zho>&{p2tj2AGa1cnyWpf#~zjSeT-q3$FIo|cTKXXp^zQ7LSdNAf}q7Po<0*2hx5TJ z6RW0CyGZTaFw#=Ob9O95*;taxW*7#he4&ZixsQ3OzpCl+dZzwx4vEbQ-seI^Scm{e z*AElD1$N8#tPwByd+eeEg8aS0B%*qGHHC}7{5aIB5|<gNHqHBS*^N+^R(M%b#mqS& zb)KUd$=JR<8`9g9i@n;+<K97IIW4!}JaWVDQPSZ_BRsXc9_SJDQQx0dvCe3`3Nq9$ zE*d;uV+Sd|15--6Bmlba0}PV%aUlRZj}ptj^1-By)FL^9Rdd9R?-Y@GaXoDbv}{I| zQ&l)Uww=bUQS`0#beRq<k$uK9=1a~yWbOcwO3~Tu_}QcnsDBflj(%bd*T!98hn-8W z<NC<P1Sep$TVS<;&2y*Zao`iPF`cs+I&J9YJZTedYE<Ny3t8~$%kHii=vaV`+{X%6 zZf~+MH1efI&VTBs!F~1aPUd+|byq8mfyao7qrH#*g$|gs=~~dQVfmhWw1jc`Yl>jF zSVAt^B)EFcQ6w5U#iw;oqJ)_ioW}EFrX~JUgcn<zb1Rt(a;LZWzd}=hu#>FX+F$g^ zNLEf(u=!vGJP35Ge?VxetCxWN>`OM~&Lb;r5H6O<E$q%1)$3pOE|+s!|7=(;7^Kq; z>JBYZajN>X`c%NCH&vs>`39?(s)zy}A?DYL8DxA5>yI#;pU+kO7|o5@Q}ACgK`|Fz zEGMWIde@#*nARwgCH&6lvxtf2A&tpFZa&!(FuGepin@Y{4mf5C?PCF7gNX*F`n0}z zFdQjIVi9q1yD5e;J52#n!?C7!`nuQqr)HDO#X?mDiHn&Z-u6oaTFwuBnEkC#th7*0 zd02tx<R2UOFc`52V*iv7w$Eq{lEy_88^$zP#R0sq#0t>ZGosGNK73&%>zGVeT-sZn zrfM2)`WmF%cdXeFup$7w_QKd2lbF6Q*u2O%gIl9aWkvq##Sh}37jC>0yuvn0vN8hE z)E)!8zg`ZL9%jl}Y{l)vdBM8Qa>W1sMHcRI&_PkC`h~(B8;u;mmLqbKg{_P-q5g5% zs1A7#<e<D>qo|u5T~lK(Yq}@iO`eb-F-(ga+RHo>PlnbB**FD28i7_i-y46L7cD+$ z*}tG^>nF4eD*S?!p$A)~`KLVwwc6^-6z~fgiL8hlOT)lv794~$#4johMUEM+q7061 zih>`$MLQ>T>g|sgkZQ$uuPfNrZiU>B+Ay9rtKV>n4Sjdoz#9g)qg6o-rl7X!%9y^N zQa{@O`df_*Kg1OvO>TUHqlU<NL)eC4^>>Nsh@0U|3JD35_QZKTudUKd8#<z)dXYvp zq+6zN7`aTC-?|`yI@nknCFDg(I<WP-crB}7gge2#$7}2`dpxb~4xb6yYP&!olj{)Y z5m5@;!z!pNp<2Nz>f-=18io5qnEt+Z-OPAGJJyRG+@=iRDB#Kv;&uQtGhiI|H6$L< z3dzYb;3Ic~;HNY<b-?#=9_=t#a)uQz939WE=d9jk;VKVmd3*{sqhJD}8a3rWN_v9D z@W!^GpE*}k87#n_ee}&}aCT)}*9MDJx%lXk4;wVD<eTQIrgZRFz-37iv>V&a$0_L5 zah5P9W0nUj?qvwr+d?75^=C|~Lh}+0C!XmwPBWc~*Hsp2`cSmVOq1P>fjxu-=O$Ta zYf7JMz){Vu62yiUKVZU#OA06zE-+T$XHL_XnY=Vtv=Lk0cALm`aVAMV0Z7E~5%8Z; z5noE>4X6?^j9oam7Ze`Cz;1EG+y>lIa8<;Fb$|c^-r?z<YVAmbDrG9p>yC{S;61s2 zDVFQDeHmMm9b~u|ONbAG81+Ghk_JmZ4Zz!<rQL5s#i*ChT6qm`4TZZziSn;FNr`F& z$$%*5>O0xZ0RVAt0Sd@#oD<|zb+t5XM-bq^b95dbuUOP!sXqmrN^sB~S}GALLc|;@ zb%=mG)9M2@HgZFvV0k>yKkZ)cjdgR%44h@gm(|}^RUFQmjT&{-mWb(0LCS9`BqzEo z_p1=oloxg36V89mJ4TBIGnJmt=8Kl%W^nDEB0U?&_$w*8xY$!5Krz1bzx0x+rV|jK zrohpe^g>b%P=bwc$M{iCh1HwTh$@G!Xi5Q)Y6**27h4(rtKm%q9{wbFynhr!Z5dR- zL!{&+`-sSQ6HAY@LsE0Ja(;y4_?eh1>**cY>~Gog=qTRL@X+NO5T|;~Gs>u-2q;Gi z_}$sIZ@?l_7Fpr?*WmXqdaDrQbQDo^RK-jfeeA_D7Yu=nym@~|Xe)c%6MExe#1aEY zM{VmuXG$aeOVLr~s}H5L%!{1*l`u28Eu0amr)6hfwDS#^RM%|KH)e8}SF*hrJKjRJ z_DV^O7kXveFPaXRC-AQ>%h?klM@T3Ye68v~#_{6RV%89uaFsDmn3<@ZlAUita1Z1D zU?x|C>wCgbL<~nnPFxK){o;9+HG>3jiJNsoprZjGP(t37N4Z1o=ile9)a##fFETB6 zAFE}KQ^yynmr-}Y)X*JDd_nCP!K)WUFxy0+yteTOb1nv5*oUd7A`Ib)7@=-;Hh<F~ zL~|S6`-enwY841GKTg=}prr_F$YyW9fOdwRn^F7drIxwLc{J?f;iqvwW$ggkezq^F z29?ywNwqJ@>W2?c7JxvSro_6YMI)C!WMWf`DjJ;AcbO9m#MM~65=rWHt&cf7JDL~w z`MiIZ87g)ZH0EAkTLB+uKP<QRv&yKub<Qs2qD?r#Uj03nPXGOHw*S1eo~EKTO8fYU zxQ{fk5*%{{tuc+#kg-b(F@_xQL8rM*HZf8=aq;2#^!$&JGu_&>ETY`s+-q7d+IuKN zpZ9^QqO}fOwg@;F0XU+Kn{2G4c8!92zNrJ?^4i$)rR~K@{`D3mfqOT}73G^4oX65+ zF!a{+XESqW5=AP&FMx!c6o#_aSK^Hl*TG1VCn_>@-wa3%F?^VNI-CojIgWH@tDdS- z_={Rr50l}3g9&t+(b3wwL8aDr`H9zaRBE)#U-xxm51(W*re`D@wZq1vrX09?$ntq4 z$H6FXp(4?s8j=dusZvp=O7pCmjbDzdeAzzaF-MnAM5i?G4=RK?WZyykTIF<Wa$Txl z7_Qu~C%<!rB3q+lc)u^8ICT?E?nx(8Ea!uFxDk?^ryKLG^lX_aq%MpbV;ui!G}?G# zS=q?6)$veP_9(YnD+;u?245nFz+!scjfST5_+7d<S*B{crmdCp#NA&&_rcr3`0MEs zE`FQ!4tacgqlTQ-zf|L;I6mZ#WR@sw{UNh3X4XRKN@|fMStJtR@v`h&y)+-+6*LBW z#6)f~nBdwzf9+zN<?_~U%voB$>z{H%kxX$~v`x8aG^@`*(8#fdfWE$YZK=&brn5Nc z+*%+7Qcd+~9S79I8thy#J@Sx1yXZ_7g!hIH-Qdf<U4DA;N4C{*s{VU%3##4FZ#!wA zo0S2G<qIr-@}M5zFgoZAHb*N7o)fiY&&jy(*=gL5B|C>fY8H2F93ItM)oi2wT{+F8 zHnfW?U|#EUIi+4vMdh+lU;}EZV<|WKC&);n^6S>H%qFa^<^r7D4y*5`m%xk8iOIGi z7@p+g(#8s0^|vrf{65y1ALfuHFBe%#%x>zJw(zxmZ}AsEK^Bg%qgYqO#2~B{?eI?^ zVN6~#g*Z6ey4;3TYwf8gU~jEsSPfL{Ob{h{$0P-|BS~QGi?HC&`T^4frN3%ucwa5P zPjP<nE3=y<mpolCI0`MBpjW2}5cMGsk=6>M76fTzTBlI+pKwcNA(?^?iJ5m~wnxcd zwn?0XtXi}H9w<vVOh#=~O@ELqxy!aj;9yo$|C!4^O&iE_)_fNfn?)82woh4ec!Cp} zO?VI2-fd+z4);BS%d++Jmp8@;5#$dF7E#0pRD9Ag+2`nPfE13q$E2<UZ{_<nhA7$2 zTmT?*08|2T&i{<0^Xo1;xj9?+FaIY2T<fdKPfIMBGz%Ch`3)2p29$-7B^eS7SPVeZ z`fDp&Z`Y*<FENXbG1#f<vgd-lHD)kI2cL1kZ{kM?K$W^vE6yjxkLAj?RJ!a~olK{; z_Y^?z%@-EG61br-lrG2Zw8m!L9yD+F{qk~7ApgDl>t);S`|aiJ%iy9ZJ41QB>wW&Y zJNxS;h9ai;`upP$BwKw3!=XECml$w?wgY0XigD}0w|@=^^$`^9_44J>h+$B5{IRJ$ zDJF?aX!7bT!fl2kaX%2ExQiC4z76xa?$Yg>e{83Ix<7p*<#id<KN^lj2<$SO{dVuU z#RBaDOlONc=VqL#Ry>z=Qhc|2396o|>w+@>HC3nUs40sHMc&cPbPGu@KLnVT)NNka zXQqYkl^YRU)CuhNm$UBU{CaK4!s`xY4ISO?`hIZu{<^(aOdhg(%NZX~h|}+l1tYx& z@~alyM^+p_=~K(jP)e6EeuM^#>x2>n_x^Ta9bCOd1*+-$B|#*#XUocYtElJycl)<1 zM{NKQq4F<Iar0NYj>NSQg$#g<om)*#V`@#&qI7F%R-^MBECqFpqn<4I%78(>l4M2{ z4H^&ja2K(D=k`THPt<xN1JuR4!>tK;3wYdEhA1QGKT~^W3y*foKYvOL1<t)QHe%_x zUS0+$?a`F^tvhh(Z9B95Y>CCLi(e*w`DV(I0r=;@2I+-StL8{KDmnnP9Z^}R!a>mu z*O<O}B7Ei%{^g_+DK=^r&99@TG9wnrBU|hkIcs>q7fh2aY@=F!f}X<SphK^z_-#G2 zfn9r_lt$jizyF4e^q{s8y3I^c6aKLg2R?;tv{2e9OH3sds8<9{&$`V%#z0a>>vz8k zWIvo)PjEWgDD;<;Yjpz5Twjp!;M0_n(muH08M({y(+2AsA|{|>t^uDG%0-x=xD925 z=f(1)M6Py-2Ht4?jT0aQVMJxYRr1hI>@LBPQ+cx-5c?bS-2Klg?rF|e1uawttp9P& zl%`+GG0ZAd%2pw2KYwJViaPz1oddhO75YAirA1T6T3e4)m%s&prQS1Z6SFD7NPQzc zG~`TOEXY#0lk|kQNih>g2Ewj2b#|3uhn~~1c_E5Af;X$SGho%%{ST-yfzr!0Zn?6D zn0S1>ZBgyJ&$cJ&V;z{VDUfoJFq)8BBCHy$3*n?QoS9nEV&ZYDcMqt6866(FdDS+2 zaaMNDC`Ms{<Buz#;r7pg(13u}?>pX&B$Ls)Vq+}}H4RWl=E-Gp(D#H#B-r|pEe$?e zkP-e)$;_HmEFAg63s)xc8t!YczEMCiI}P38J20r`1E!k=8Pz7-vA5iDO6w@Z{wSp( zlqGUnsqh5Genx_D&V<M!J)XpfT$EbxilUldlD#2@{B#?jQVSwBnAS$YQmXU{v#MXD z3}qE7aRTbn=Y-h>v0SP-U^C8*ma(yy`L(3zw|E(ci<(P{^_~n~Qb^$mtNejutrW)U z$#Rc!UhC<oZG-He21i_7r{F+5((3w^UyG*|ccgKejnOSMF{{3&k3iwzs*#||=*l3o z&>J9lP*$LTYD%4*6^2WsK0+pi?1OU5Dn8jqo*(5^br3d+#e#rD25eCx2|c(Ks#Iv{ zAtkhYVU>EKG6yg>br-HY)r^RH-3t7KAw$EyPA2ERkv~=}mP`6UEP3L2m|obNDOUpI zXQgKSRpcMUbD`$M5Nd*g{{YW%cF{dNi}EBPlPy62P?YsX+P_RA9RCuE$bJfsHK%l% z`BKn#r1?@2;)%+l+cr(u(`NGhW$X$yKeL2Xgj)lP8_no9v|J4&qNT+bj=KJ7lr#;^ zb)rcR>L>pL0qr5+Arq$*jtRIIBZAXT^n_owGgklL36c5?4c_xY3VyXAdP(|4Aa*vT ze++B`Uf{$rXBHy0OayE;OI{5`ET+&r!D4QItLE(Z2B3ACEBef9RpxhH0@+KEm4)Et z*D=<XIAX9=OmJ}2^H6V$B+VEth%m7~vEf^6M*-8C<wM|s?%<v9m;j;G;b5FRxTZpn zzTP+#tM1un>#VS0&oZOknOp+vs^pF5T*f>D%Bzs+dO{MV&aij3W5UQR87kd0B-95j z#~~MIlg(6b?d{422m)}YioXVNu{5GJEb`)q7aM+^3c0SWeWvR$SALZ69`R!=8wU(+ zzz|4pqC<D~-B*wnd`a%Wqp8>;9o`UX`!<2u{N==yHTEhRsbVS=rn<B9;nTf*9$~}> zv<@^_jVhO;Ze+}=B)XZOje-tUBDP2~DyKf_TIRBY(5lirBB>$k$i(i;=8}{QC&sYZ zdPkJ=MLF{ZkXZ4Nvs!kA*Q+X;YN|(-CqQ5{>UYQk6_P8%*D0W<&C2@pEG5RGq0h2E zH}GDPc?9?y;-PW&Doz=au2fOC;;{?>#?Q`Nnxz6Tftrx~wW|h_cFn|exVm3O@#J%` z(1INAVDtGu5zB#+z5`>DQG|^VQQ+toj!Y*?Pjc#n<Jzpvi(-2h5HV9nGvE-=xvS_~ z!XmMO$HZU4>e?ni6I#buft23;A;8|Ace<?{usA{Z*+kfq-dyvkx)bW~a-z8a)^qX| zy%N-OGZ0Q(3N;j9xq(?ibi@xONK;uGSzU0EJb1-17!MTGt9sEA)P({oiC$ce>XV0B zTx=tWiFa}uC0FpgcNId}q58;%ik%|^8XKiyUD8&!k#Cw8DYF!w*M{eFD+xFT{=`=5 zqs;|1gF+=Em75ZqlhrEg%Q|uZQ9F1`ptjc_4E{r`X{Iuvau=1uA&EN2$R`S$&bTX7 z(sO(76Qq`DTQNB5u{s>}kC;r-9dKPJnPP6(-bsDaWG|upT&>qU&;ja1ORzq}Wg;)s zY>eRwzAX!v&Vp@=OMya>6$S6=i;~j@y!o;u!`NbwL3~zz8;Fw)>9}FQ<#>wgd{Lvm zZFC^9U_;fGifZe37e#%lbNs%CVy{JX%op1NWD|dOVbz<XZPhO3&#z43`hopfM|#gw zV6Le>*nK+#uXzNXX|;%?<BdJiC&?3|SS;IChx)7-+MUi|GlKBHIZw<+$U$K*zg*`9 zBTCQ__)y20+dc014U=8~`=bl_*>q^Snx;&7#e?@T6x`o57uv9lfJxjc?#&(guHFD{ z+Lvz}4y`pAS=hKHkR*X6fjCcw*2+@?kG3vR^_l~@fyV+^v9&q7w=Tj6s_UA`jTDfu zbf4qkgap?Bb>pq}Be1Pb?l>$~ZcgO0Pdw6LBKo3<wkb|eMeH{~NoP(P)6KdOkteOK zkp{T>yXra0<7HRp^j`f-+<O@(C&a_sl+1A}Q!#nRQ0_m&PI_?N^vgDULJHJG;5^qx z6?Hz$CDy*~(^KQ}Kque)HC1oV#1rfl-)zFuFHH%m59NZ?%}+xmqmquc^rB#nZt1Wc zndBWH5#j2+lA0@keH9lAo^V$)LP^h6{ohY7NR`guy2mP8gwC7JV3tYA3Y*=D$>UT9 z#dBv5r&A=F7h!R0eKZO_-80RG^dY2C7pc~+CdUr1i8!q?Swt-~RTP%|rqGtXP7+l- zEg97-X~$G$i~+1zDQ+q`n^rNO6~af6;_`%0o6&Xczw;A-fg+J>1PMgYMMg<kg(J93 z>Zn5X)hX+yM=1Q^dYTt)VG6j22>AS^ff^$uP&?J<NSve>^|Fd!hYRUVmvo+3tNpm6 z%7FSO^k3g1ASn6ji6Y0zQ33Qr6S`+0Dl>!jPl_0$;d|3XwI6i}GK;p7fmo!`Wy@W^ z)5?fQl#sXpuKwpMz6O4<;qHZzeWGQlR>yQ=f{CBpH4AK*L$){yhoWsgnevwihFnX- zG9(~Bh+_LT>H)k@jx!_t`#Sch5Vvt0BRPkOZ$&aaU2A!)-?V;S*zLTZPlr9t8U=e7 zT%CDE>i1V<z>ZfUjCfPTKHfVUoZXGB={9{khbGtnt}IAZVshk<cnnlsM#-4O=YNy1 zH)<_9<?|oA(||m-83Eru)emR?`D#*iH%Dwd-Pig1e#*9#l&o)`H&}-DOn;+@T_LYD zQHBJl_S6YsagzxaJ_%wgc@rgX;J@?tk4%T0N2?CHPSo*xu(ct!LvhNu_ZOViT!~U2 zeV!SB4?_iuiTeGH0~NV&h7J6)u~%B0p^*tH0eTFKQU3P9spE`@x%AQtdOn6{6o|z* z7GIaUe}jcg77k$}Y09andQhKpee)@1!yc2RvU?bw%?uxX!AxZ*lzdg_$s<1o=$%PF zbz1``r^i17g&zMJ^O9=O(ML-ClM!9Y7%NbJ0imIP7l!*!3`Z*DgBU}V&I1Yi|1}uS z(6IVZ&Ns+39d-X7Zxx^ZR2Y!fKk+~6$~0Ro*Nz7>4O-prJ37Q()N9dBzrH>I2E8^i z{?qz_V`u-rRY7L<WV>HK<xccL%YPa`T!LK4k9B_jepgjhKwj$wez^V{aqu-OnuK1X z+lXXmLZfkIUh!D^MYR8r^@s(O(95;I?(eR}XbsV7=uA0iIP0x7tI`w4?Y_NV&k2(B zEFiu<FZCGgvKiDErmo62pAPQ{#tE)HV+~(FPGJzX3KFG3tcQ;Q(+mXJ3<9o_lTE@h z)Pg{9JXE_nTZ2A=QPuAcEp$+Pc}jT-;Ohy$ZI(NS&GlUgkgiDj(qE9UzZ?6cFdZ!= z*8R6#OE75OoRvG>u@e7GDh{cW4h!_T7lna8Rt3iGsct2R%fK4ke(SStoY31!k_5(T zZdsiH!wyxg?*(cB#0){u8*Yyk0PU7Ol0InbyH$ISEj_AZ`-W9}mx?BWgV0AUl;3Cm zs87B$b$K^rfmqiDm>&vmk{)OTkOgcpAH?&{kADwT`TJV(fYGvl(_c1|<lTcfBteU0 z!F|f;E#kL`TuPpA`*L5P^(kPL6!w=QW2{u4V84}Rt~j&-xQq>1Dp0u2p)P_PbuZRy znQjYuewBuyK*{>-EX8tmLU%l~diBS41HKp=(l>L#{H!?+gxbozd7S6q<4K|@nPrf} z3erPm8#t<o3%2t81^SfZP{<HHNs&DSWZz0VO9rib1>U&dx;0?cNyQ}-(WYffcG7>x z;hgf9p2uYX=ub}n`btp~x=_|lMUuiQ#}C$F5W-^MWg?XpNGTtYyU@y-#v?B~S1IDh zoq>GBNKRgwble3H5N^9#zOQ9Mc1S^r92GPxaA!%y_p&AM3X+m@xH9)c;X#@D_HOAj zF2X-W`EODz$XD7*>r7$0jhwKRq*v9)Un%zdn+X2|g#Hdei10DBYfP=xer5H2DleOq zkidyHaa2%oW6Xk|HA01-C1U{kDrwpDI$Zc{py86GSBigsouS)Kfco}m2gksnZRocr zx<=A1&7xsQj$oFGlX`!=-pl+ugPC<!&Ma}`j;DkK-ayk4QUXilxLfjkcO&Ygs121K zsKT5G_;Yo>H2xQ(hHKDgRN1XjxHDr6V$(lkCptXeiI?BH#v}Q%Zg4+=dKB4Zw_hGc zmTG*d6>0NO9y*+&S}62BDiJ{lsw&x0QfXm!O(r1^SE0ue$qrQlk{vvB#O=I?i)^d4 z<ihw+L?aLGtxaXok2feaN%=e^WJ{Kwc%p0?&;%7)G<uk5F?ITZe1{Y65beGbS-C66 z!aGh&b6cX26gl_ng);Wp_#*y}lA&1kx03Xo`|@0|{W=;Qca}N@*l=rXYdmMl-Oq*~ zWmw3g_ZDXY^_1tB!Cy_q=PX9UaUe3?svKTsmdaHV$oC_SDBdu8cH1vK_(4RJvAa19 zz?y}CAfmNdmY8k;cqZ0iGZgl0JsNjQCYas?RSl+*ng_%$G#CTyf%)x}Y;bsFpt{<; zb#b3~>MIS$z*es%ZxldX0K52-#?cP9G`Pu?CbK}K)uN%E=6dsCAfVJw%r6`m<gcI^ ze=An6xK{Bv%+lEi9b?Y$o-!OalDLW*KojlDG2sKdi-O0pwheeIk0pQ~3&8?pYh(*Q zLdarT_q#ZzpLl=|_l%-trCt;*+fc~Qo(hqEv;f))rN97^C(*4boS%0_!b|w}FbDBk zY%gXtNztE#X~q)?#=!y3R%{d`My|sGpD$neuz@LP(papf99!@$RZaMh$T1uMfZoO1 z@0X^E2{p-^CT!7!s-o;G;31>Dr<kBZkh>C+=Yy|c7Ggsy$zLlQQmT=&Mn?dnR#&ta zw-{crHk{nzL;3Em>QkQC2F{|omM7&_R8;y{Kr5JZ3^`6BW*FCz&9oUjpNja5V(rID z-&X?mv{7S`Q+D&%@pUX;$2YD5@O0~x9mI9^O3HaC;)a&)#Mhi~jFc`da!zFy4MG=U zuc_x-Had2*;0*diMtILTPR{_d%7K*8Pm&TV*5e&^RDsIChGzl_yT<P-<-1stVm%g5 z=B6A$ZJFV5T>zxE#mr{La6<6Zn{y`0TxRya^9kJ3`4-m{i7xpHXsS2?w410;NtKBt z`AO2t9;i53<)PWb@X7p^*)TS7g_j~lV$o!IPjM``W3#mLL!hvczQLzsn%wtFfOETN zd`}n(Vw|5VL8prmViGkWO9Kd-^~qGK9(ywgL8*5(^LZH1lsxi-uli`HsZ|s_G~I`= zi0;x}5UYY^JOst#Z@4}HIh~vs?pr#$Q;<h=;t?C5VLtA!73H~2mGd~ZmOxqi3g|YL zEr0p@pBJWXc;8)9rfscDS+XjWwaqh8cnEkkg5i>LS6dqubL@(TbsF6^8xda3A{6!U zU>9XkYC$^cZxr!lN;TP-FlTn`O3TSTZlcS2wjBxBuGrb?<`vceX^E<kbI}HVH>Df3 zP4`eXjCWv~hB}A^VM+!YG6Hou-E{ul#)f~#8AC|b7^Llvd06fHV8HD7*Q9nCc8{9# zq+3Cx*0g3_saAI7{8jpZ#3Nqmia?a#+>3GeF}~^sKRWU5%63=ll#-KF+AF?k@Ekqk zOKjaS&>0{4A$5oV(kS#$x0e@6NQ?nlPG+<WOv9V&2tNpNvxv$w*t(26_ojU-L*LEM zb$6>26yj=BC{WOZybGna9Gk}x2AeUzoQh!_k2Qlq*dKsiZ-u3b=h5fuPHBz0Gu-$% z+$j-TgKbAHVCewMPRSmc<t&HeAL@=VWP=2qMEXHlG@B0K7LK}&2dPU?0UU=#p>86l z4pt~e>&yEebJv+k^0Y#=2SYfUq2bsJJ?gklP;FiV%=DkJ*+%%Yd4z{QY*{U*X$7%W zoaez4T$>=9E$h|^2KcmSEazr?r}8mIn9Edy#8iqwI<^(r4gV|wlTGp#F`3sT5ir{I zhG_^Q{^+fMVkUFL5O?Iy!Uj(myZrKAMG`nvq$FHn*_F@DP2Yq^GL1n&MaW&&m9|P9 z|6kDnIAoW$EVBE!R+{7;hBEX%Dhv_m@eS(zaU|gKtMJQL98wg6A={_OXgooYYVkwW znCFC#RI%#F&&zma>6AC(eD_b(RDERnWZ3O@X;?*oO)+8zGyW>6A+kp@1mY+<(kLpe zKD_4H<$bcsWAX1><>Hz_<5Bn_0yFrLrb=>_SlJK(eW6~tE5cq%U`=S71}q=@L;aei z(7yW!q4x553h(^5_l7O>c!tAZ)@~dHkd@vtr+2N{?}KZaJ})892bNufn&az%_LG=^ z$0I|4kpbhwY_-ARFA)%k@^gFpq7m%pvkh|fLJ!(?@lLwdwqEMJ)lc=Hewn0ddZ{Ul z)kl}PR~EYS?zubP!cW<AZ;ql(q-YbxE$>uSiq9tyVu|aAPOS1=88Ss5&n0arHM+1_ z4s+5>y1rQ-4#*5j;%<6RN0E(7x(VhS)FwB8s!tzSK$`d((1ed!q4N9z!p`zK*v*3z zalM<8>sywcU<s3}><NE3*9bBuU#FSyM;WE2rMoMue^>7h8Oc$!RU})Ux%ozBM!}F0 zZl<)yucJ=GjmS;5IbCi1<>$eE$NOS85c`h+z4hbb@eDmgShA5J8Y7<_EbsI+`H%rH z;40_u6p<^XMSKUk6fDY|(-%3GA>kSIZ^DgQ)S)LuHS#q-aX&+%{@%M-7!|SsM#!U0 zIpf~kHS1a>bPs5TL&%64=O~3%`A10tBiV;_BFX~Y<dHgsqu>WnYJi+9Vey9SGo+ms zpCa?WCIwH?vPypbrdWBVe>?yjfCwM9ig*UOqD_xq<%1{@poCXg>~5T#Z-XCx=BMc2 z%~LYnLH$n-oD7y9erTn#dw0GWn(U16N2Et{#P^xT`)*K$YR{tZ7E}4F9$m^rdBCmX zsgZqS|2emzkc5M#r(_DQQBD2VqeG9af{}aLe>0%l15&%0HvIqRJ>R_blhr?WPEC$U zbNdOcEf@I)N#=jGzhI?l?7{!@h=*tYKbcf!E)J&T5Io=?#KC{zU_G2lrxxaLEc2WH z#|Fc%8SuOK8R8;Sl}a*^%ChU`qXnI}i9GwHk4`y!=uZBYH$<)n5=b4K*qJzJ%;-#< zXZUvidBGQb&%l4Y9_le%XEO{<{dGhz-Az8dzn&+^{vS5j$FTy3uj=MOJMt~))p<Ff z3%dU6@;)Sa_;@@TEf2gcG(qdo5v9hzHS9gSdrQrp<0TX_?RG5PeWZDDYoM-6`okUN zZz8>52Z)X!6cs43jy8;f(%!rraZup(?0!7hlBF(kHltLiw<Q=jPE0Az90I1?3*FTo zA8seO_(}CH*r;SD1O)JCJ}Gs780F8>h|iwKi<RhY0`cEidfwHZYbPHUuyJ#KfA`(E zIGRvGX~F#%PST89s7oW3ka9$7PgM?6S#Svaa!r3VU94Ov^h2xXEPvDzEN<*J<8g>8 z`EVzpDKEw%)C(~F%(x|59|h!+K*BxvuYE{dE2AM?9E{nVWuiT^8e&2M4lH=USTK=m z-rddHjE8>e<f;ch_lwIZpY`SQrm}`N91=R0cqW2wHoe;4<y|>XmU9HBUSk<wS0dlM z{hV4tr^DIESrbVdypJ638Al9&W0-J+G2rfPCurLID?pH5LIMjFl@;mQUXalH(o<>i zmk?abh3uJ;su>%y?5+)|S9mf2m423eIwcTBT}p|%fsRoC45N#pKm;+)G>L)?`MH7x zZ&MJtb5k+)Pw0?$TzI}NGr?;9O&e;(EL20mM7;<_Cr9q?lEb<=L6kXxNphHW9fv`9 zt6|ugd!4mTBjxT<VLpahX=Lknj9n6%bIztnSrXDOn}S9eV=g81P@&&|7brlawBF5e zDl!#>RVkH!5#~NKFn^0ms`qb%_CQTGXA~mSWu=ha79lx((GH0HSYc~}Bxd|PJtB<N zZ7TTVf@U-QrE8pFk*VGTj3Afa;3iSzFG^uvk1~eMMzJm`<r4THDk8rwM3YNV7$q#_ z>AgQfFTuX-E5l^P+mCVpYnx3s0r_fZWVza6h{5FDvNeM)(33+3<__nV6`JVDT-S<4 zZQ0ZgnXaX!%-U|z;5$G<>d(PJnjv-Q1bn`>1QW$?v`0HZ)CLSz*4qdcW$C!G5-g5V zS7fkOao_7&a1&{ps-<;g*j!5-rbGGPf;4z_?B0hIVkpUm#wTO|`6g~W)nX<B?~jqO zLN@({{Z><5i-I|$UT)Jl?xo)+@wt@qBJ_>~3;X5Xis`#C(lsY1bw?QoQ*#OODXa<} zBv>ag8$5}5o7MzlT*I50!ATBl%|mRO6*I_6JgAr6)7)NJO7|GNmkUNLOZpKG&sM!0 z8Hii0Ik?=U$&v$riHcn5++p1b?bj|9?D1E>uCb|Wl0FURQ3qp!XcRmu=}O-6aB-JB z$?#}iA3S8LNUm!KQ8~3@QEklv+JBoK#VI-`&xaAelh4FcCodbvHeI4dRB*?7b9P*{ z9asECwqx6NS0l~$pW*@rL;i|Uov91Yja_mxSw@eN;nqw5Jc=yX>MDs%4Z%X@bd292 zE5Wz!G2@0`AP{iYE!E5>Y7R5Bj3f1u3yszL)f9%_S1CTvq+k}V<s^Y`=qp>S3fVMF z4E#8}o91@1@z0N^`JAUF+r*23KHucFeo;Xw(i09TkO2#P0;M*3;beKhhN6DazLDgD z5p|-5(i3_EawdP#@sH1RK}QyB1wsRYBzSwfVFHd<)}Ufw_-}?Fzcx_vElG3H&7gx8 zri<oou%Ky$Nmvw0A<Z2m`Nydj{W~m5XFO>C`s0?$v~@mLyCCL7{!JpbWDz8@78&7r z^OXQ5BII7nEw9BK!0z13;70SLL#=n((4Xm(SVP?d)KIi(JC%|?D6xgo4^}_$Y}b{Q zv758<*k7oz%o9OgJ}4(j{<(;yS$Drl<bx*RDYX;ZGm(<R`|HNa@5WAjUU4#qRqbEr z_M;`=&sqTQUHxtaH=+EaNZu{an-4UD85IEZB8NQX(w4i^8{5V1Y@X%W;U@TZtWvEr zA!pDMz|;>oCr-tqc`P5CYO1Zdyn;ELJI(+lW}P}_6Rovb#|XR`e1i(nJ!6b4Mh`)l zcb?*tv6X4JgHKSeKZjPKZ&Unk%~SRj)=oOu6q#w>zzNc;RU~lHfEhk;3PF2TSXs{I zD8U@R%2<h7-*vQG*oem`&%DoYWZHz(^F!DNIR4pmSSYK>j(@5Jp4vCu0L2p@&i`g3 zV^GI&w#Q5>?^LX<>%0!iKaf6mY@a|8x5Vtf79Tc8$;(~EYjDjdm5Y2@zAh;3%h*4Z z;Oi0RM_;QF2zMcI6|UwFpiDKfwhMn+WTJA-g;WxuK7i@c9pS;M_<i<qSOlG}a$=4G zxGE1es`I??tBMI`rS&9oetlx-bX(o#J5bxjc|ze6h$$L>bJ%bVXl^->8)AE!x}=lH zO3F5{#Or8>t>37zQY>?K`}pjKUD{v$QtO9hA9{bfeP-_HQDTh@qq1i$lJxcC^<8}` z!2R{&2o3x~1QN2fB#abG>syEh4#<lI(Ec5xG*(fBEOee3D&1~F>H;;eFA{RfNn@MS z<-P%G0{u?lqZe{9&ogo(bXHgAgCgPf&XwJy$FNqw;rj$9IV;=+-{$)q!Wi6q+RoMa z;D-og6tn}r6+K?AC2H2$1Ut~5mIuI{-&^yFhI-6rwD<(qz!R+lYjgYRxQSQ;Y@qg< z@O#>Wqx|LyHk^7fDdmW~G{eLMJ)4X79j9@|wf{&zU0DIP2ZAz=<IZ&h!ddL(c-Gyl ztKJtuGwWk>0VKuon3T!#%gO?lRq)@9X93A;H~){Ww+@J^`5uRXC8eZ6kdp2tmy(d~ zZs{)Rh6SXN2A2*=5u{TZ=>|bSX%LYP>3A<b@%cXb{`iM;X3m*YGjs3GojGIH@R~Se zbM`h^pASCVaUtaU_On^uk7uw^EJ<1cHUBC#29U$~I=qYM7w8q%t}5?m;m1Fz%)|Q} z^&-R^UrXhq<V_^CT`g(lqBx1(G)5gNK5h<!^s-$)yhB{T(&&Sl+2S^S5B!PX0I`wH z?NAdHGm6aff_sh4X_<K(YEb56`0ni;aJ(Feyi3H8nn*;!<&yvVwBq;58nvO?)>Px< z>+Ah3_K&AHi2G3DXD~m6F3`(TRQXCQeBAkc`|Hej3`PP`zvUDA%WE9kwi?akzGM%| zryO)e)lZXq1U(4T)B?yj`>Y$H=AL2%;q%IknRx?Sk#oP+eLEl30t*(^f)3%w(UYnE z#~bf+s?B+rRsKc@sGJBgw6`aaUVOM$vH&HWT#IN5@pzZ|*z0AzV|^&__L(PisP>jW zCiKz!)HT7#rVw)l8<bU0?T)6S46tNzlsbv^5yhpcpMiIAA~fdQxt}b5fyokuSFITX zEh8uV=%ak05TyHKug6D&X5igbruSZX)cpgtPw{*91RLPO#}U{ekLMydjsbn3zZ8OJ z`Nm07ET}K(E%O#`6;vVRES3zIqDl@NhB)s?kN#@0mL+U^ycW+d^+9tOOGqdfpFBIe z?`X&ET=a|G2w<40$1f!<*pi%^|8W=`Pib06+Wx;XBVVA0F9v!ltYBV4%ws1U32Hzu zp2d$6ZcKjrWiw+O_bn%1!T(GiPSkFqT9{)RG?Np2ND<gxtJ<hO%OH%EW>%};!_s*T zxuMvX)Q0=(-IkB@?*(d3J}&+SB}VvZbm+@F8-xI^A-K-yE9`kOXijbNix8h+(U6KD z$~y#mzXYo29<;489lmm<wQ!M}AnV+_0kpU08#K!8xJI9oB#o?+1^wGd>R5S2?zT@h zMLk-PJ`>{+I@sW~!fj$&SEA#j@Z@aqBcz!zWvrq%v2CZe!STPpu;&;9rzoz30?EOZ zb9+CO8G%TE-xxTsjsPIb>RINikRC8e;pUe2HT5X}?ukNmc4{ph4lGasT%~x}Q)HQm zp1PVohI~w>K8J5qmin$mK;7VY&N%y*5N1CmjvnC7Gv3tA)WM>2@gX9ihDKyU)e|;h zrO0Sw5mHlnpW;G2{HYHoLLx7)Sywkz8RmA8HYd{+3=lbcKJxYuG0bT{%AWbB1?pRD zbamj8B&(O+v2TGJ*c86Ejn)Ru;6q^)#UCXrb1<v$9OB`IY3u`lfU~b|I&aGtN6Duu z$0*lyOQdeGpjpix^-bNu{mhsM{W}o<=IH0*0>dhJ?{`KG+~?>Y_ZHoV8ZN_>5Ia*J zTK<xX@)V=ZyL%RStOvS8g3~0ymY_C9e4Lvgr`h!J(jQ0nMfUPhP6O2F+mO(RWjjkB zXPQIP4pxzW=+GE6;Hn!N20eUyyEF#%zdFCIFPjRO;}zV!a=y4N9(qCk4dL6-4ZFxf zNA|YEEmUaN8RTlX;BX7s9XXG4%Gf`#;61nEuejZROlIUOQt^#fWOTb%dHBm#`_kAA zFH{g-WR#G7=>{7P@^YovSZVDjp809x1;zDdR*|rh&fy}@;!zN~E8SvE=ob9wHg3^f z0sYpKG2gDRxY<gow&@~$6ItxQZk$$BO7`)65VW2K>q_YzG}H3!*+U}J9>S6GYfPDB zu|SvYGe~YER2QyRfiVAJV2*K&%c=J5`Hkm`oTa6JogY5@bf3ScBcqaTI#Z~5mPMj4 z4{u*61y?O45_`EDvehT3Xygu<)^9~N=Fp73q{FsE3LPH~Xy&NYPda?8Dm@wTeTMQ; zUKrHZ0qMZG`9woy_z|C(jb#9xz7A)+Ii2k7k`ht5qJ8WOol)B10rhcB*YKB^s6b+G zcgN!{uKnWYhlyD)dY4d#FujPr=+t@aHC8Q5#9J*Ij_1pkV$OWiw5jQsp{X!elQo(6 z5z=5kX?aO4a{Z!Axh<*pL7qfE_i*P}#?%7T2S*YoXwF0cpXA&>e?=S%r7Lc4K4NBg zswhV1!+FPknLeF<teJYeu#zj{bFxnTe#K=`(AmW3mxdM6<qU!Ds;loy`iyKRS4+NQ zjU;r%bHhQ^P(&nm>S{36d~cv1&m^~BM6Qv=iLowgG3~UYE6&quHHK)6a<UmiIA#r~ ziJ22N6XC%3&YJaed|`}c-ZrakOIRqGSiydDYYnZ)k8#3NnIKVDyw|WBq0Z2QUUWH< z<btVa`YbXkQ`e?&Vnd?cAOW+%le&Ba)=Wz!T+}6TtOxbZp&VGGs_}!uOhF!>(3qc% zj9I4ZkBGRG4x6BBt0L}l4&Xkz!2fIpeQ3I^kl2_+>#CslfppcJNK(F2tM^8$?`8wJ zQZ2lMbIf*8gd$0`0K~=55GNC$Q(_RKW2wjOeMU{;aM}FHX8M(uKjeAwnpbPSOtMMV zb1-I0{mDER@zJDadh~u2sTl37TqqS2vELraiQbumUXH~3%)&zVFjo2+Ai0DXv}Zkm zw_;W!z8?JI4ku~si7}UO-6+G<?UDTJT+HQ~R}-h~9J-V^1I}{zKhBnmT?nFc$H~(| z5Pv*|;LVA<)rO<WPwK-ni5!~ZGIsMrmr6~p?5RilQ=6qa@D4uX-5Dnx4i94}ehW%q z>8m&Y*yUg=h?+6&_i9&Wy(4U#2TDk4Ecl+*1bI{q;}Klx@Um*$P-W*{!v^tCXH)DJ zzE2~%K~4)*0f~k6fl61h8NG2BI;~aY#~<*Q5cCo|7TE>ENUe~e)I!cJ5^zCm3G7jJ zU2yF21ETov`ppW&VX9sfbml}o^6aixI8;NmWV)8TyNA6VL5(NF9bq8}B~VSZ_hg?4 zLSOIGLU9bQQSHH!xwWNaLn)MGXM}b%t(3hNv~<qwI@>*@Xq9k93cY*g7>_;{x>5B{ z7mKC_m4%i+7>|z<#H_keu;(oqT)sq*a^VU1ng1MS&p*(c$U**5Bm7ZFVV{m=b*UgG z291z%xgU*atJjuaBc@GVdjzySojN0GQhE8>q(MUp)vyTF2%i@DVk)@WUik=Cx+i}4 z?zFn=d7Bp5G3q#Sf0mpn!fg~whn{)gZt}KIWWCc<Rp+GX61&8_$Vp_PCrY2+hy9SA zzeJQk%O8sWlJ-h1l=#rLR?Cgtrn0;)cx0VNwycg~;8RI8FPDd`Vb*8p%rhtiIP@Ct z(`}1bYc_IPn)E6`#aCQdlJ#9b*m(}pixc?@xjaUdK&9$Cu9oivmza5cNuILrkSg~Q zgfpz?$spD+_P5rV^-&#?^F~6#v&G1l@Q<bN%5CvwkIx?cz*JFQ%N6#brFs?O0N>}% z;aJB_itZR)a1q(?+H`pfnr}qUPV?l@BU(Y4^OIYgt4%VI*rrNS##T`AXO2?jA<IqO zGR`Bs2K#hmDr~8|;QmY!`X1CvwRW?VD)k|<4AuHT*<zzvGw*qa>O-7HuUzz<;*jfc z-70r6AFZNAn9X$f1q3^aSAq-k?K*ORp!9icox=6#>kypCpY;pFP`>6tOHY-P8fQfO z<-`}UTz;{NR*S_BWbu3AZxccY%9@bZEOdqov){b3RA<^S6+@h8`a0KGEaSm=@bM${ z6Bp9$m-K2q%4(wqgA|&%<*G;ol(0b-$k5lEH?fZ*l8RrM5K>JbW4CK*&`*Epwm2RZ zT%ENLhYd$~kyt88%0LsmX0WJnOV+bjxj6AE>V01|IGFBv`kJ;gX``bh9MKGsJ(I}z z@x_2PRXQiVe1ikr44+JBkH{C}>ubU<EKgEuBUqGA^i`4bb!sREwmv?SOgc7BnW7ZF zU0QV=+2aw%#}8i3RD0Ojq*xd^hzFw8SzA0C>@~3>bA1oFCa;9{zz}n`AL*v-PST|O zAj*?Oz?*d{>2^<ho&C;VjL#ykY@s?(PD})csW)5BcuHz2TFEzqE}{fdZ>%u6r=w*j zcl-=X-DT}50y#O3HDQbV7jntmyhlW-qGRw20Z8`KKQWRLznqH>mRG&tuf$kZ3Z;`g zQ#fVr63U{>_}EYl&1uo{Ps?Kv%Ccdd|Eg>?h^0Bf(I}oVhp1!UsOh*?pg2Jib=)l7 znDa&{7M;rQpnF10lAGux$?oY1J|W#{I)R^q?usgWXzU=5^iY+B3hYq!eJ+|>C<edS z5hU5oxy(t9UNS^y5BU6oja*qRe7ZI3FP|AQKAA@()<pt>idTv<cj;6JJp!XxIIwSP z=p<>XPKbTd37ji>HYcw6rKY|^&1E7Dt*<~`s%$=f`-jZ*<o?VdH45j4#Z!H{;+;@j zH*QmWbkbb?pO!hwa_Nqw?ek%dg}P&}GNsdkLkjlY;lsy*6Dob59a$2_v;^6{W1o@U zHSuM*gUzIsKy{5zoi4XUe;VXDq7^W8pwn{mChvL?W|yOojSW91>cN`Q!b%VnT&av% z!Vrp2xWwFXTkqAs7%g@>g_CyPMUj>}(YzcfFsf_rj$IhNy|i%JM&woPkHaMS0vg;Y z5l5je=rx==fXib}+)E6{<1cWHwfcU7ze*Et!a88R1T8pWR~^O*A=Vq`j5~K^;>D85 zi5FS&EVxRN$am`@L`W3F>}U0i)wCh&e~0+Gm~9nD!NHVoEqT0JkAm4Z?)v01T`d-C zi>@Arp)djz>Z9nmFu`~EE`Ik68C(0OE~}<#h9s$x=<S5f#$}^z!lNcv@)}z>sVH?@ zIc1#)Z|DV%RY@~lWTE%@!!)A>U9YX><gA7r)Vn@N<8o7<=@AoFTlkR?OHI{)^gztT z7hmh?6v^fyq1%%kN3kP`gYvnol9UsM9~H&o!Al$CVvp&|8?N<;xyc{aN^*+yWs?bN z_n5nLU*vx$y`|O*G|hEoV*mU=&^?pAi~k3l$QE?SR2Lur;^apkPdYEZ=c#%b%j-zE zTnS~&_4gl|<!tz=#~$dHUvX%*x?4lOEHZzIRD6#w<l@PMq=ltCXXslO`jrTa=LA>t z2RmBHbQF&3f*v~f>$0>MJdMRo@XN91&3!EfMOAKWW(;oFdIF1b`zR4^Cj`o51a=0) zZeyg-E8AY-aiOcBfGww7u56rB<PO~{o!&;t6ir?K&vehlC`8|eNG?KQ-<4Y+>f~Wq zt(~t-CC}alp5?Ml?nPHiTq(WG)3o<1vRJ9<TL~xm;#>=At~7y6bq#&PKO{;d&b%W{ zud(``MLc;LY?#|HJH|5~5!2jt*#CovnxK>zYGGYl(1zJny*+ecluZ6gx+<Jk%!sQx z?^yi#fchuJG`Lt|^X(evRy6@pRR*?5>qdhaG;}5zv15i{Ti@ZL2@Z-eA8F`ueVg%? z2XKJ=?V9DjgyllhfuP3g;2YNxdyJELG9x4kTlxbMg1ZMg<%?|}@%ctsD=RJz@?97x zq1KLW45E)M<FW!2w0Ua}y!*~4Hp%c}LF4RhD$Cs>aBh^~?vgRT#$_)2S9t<f9V^60 z*fhrMj~)!Vxh>0JcM96kKb75n<GviNozSlmeXcZ2$BFAhIdTM1G|0<;w}yvSd4kof zuHuNG#+i+h<+TypxLC?0VDmPB8jIm$7&Izq@*zd_8>)1&;C5cCz+Q(d1&<6qo_Dx} zV@4G32R7HY_tbt2dU~r&f7P(Hc|1Q|8SBgd_gT<)iE&Jrok}RO8!lBg`9eTwot6?; zJWeQPGEvF%`{jbq584{H{g;_8fz7Z}{|t?DeYHCwQonYIe3L?l8B6~>zx0u6;T`CW zomUf_yo0KpwV&mFtNSBEEBi6($kuhj`l$Q^f3O8|)7KNrW`V>7;XoBB+b3ecg?v~0 zC)sA|fsb3lLlnf)*wlrbqkLa1VN!Hbh0m3X_)TEz)AlnBu4?+3$QiV7Uv4w~)Kuk1 zQU@E}P$1!VmJ+2Old2h2Dm!JVcRYcfyy3GICBZa7!w*+@zTA2gFRC7bV^J1VT?J`k zz-tI-Bb4P+y>X<iA0HS>(<0N<GwQE3Sa`%A?OsFo`A5V{-j1lu5|NM0R<t=Sku@(u zGe)}W8E#Q%Tj{^|#5vgpN1`@ANeMb&U=q{QQGG+|PqU7Cp2Kqf&M$(QMu9sAdi{+; z@bL<BX`<Q<j@`3Hk;R%At`&6q{Plq0#qnmlxDEPA8)CeM<tbBcrp)v<0fKo_-;;3q zr>lXw(UDhgMufb`<r_L8UXpvA09n+#$n13<cl~JJ71?jZr?zM_74HZ>ep)u~<5teX zSUQS4GVzVPlkl{pRob|0iP&GF13ExJ>hvm|jG*^r#Cu<r2S;TqChPg0glVHZB}g1r zUzhp2-Jg)|67fgmHOR&tga&XjS-A>kH-1-oxK($$ZgM$RCGVWvM|J*$J%SCmz=CM9 zUubV1di9#_;OJ=9Bzp@p7TVTXuUJ`te%Ba*j{aN*Tf=DUw4uG#|N7u`Z3D5roog6I znGKH*+m?g}QYe5M&L!c`(V@7vh&%2K?}(5)JKKX9QPy0$yeLQ|x5YjhJrOg3SI}dK zucFZj<=VDP5jr%wy{1=wd8cezuv(l1xmn$4&f+x}m+@?Fx87o<hu)oSu_x@DqV7!y zI96Z88y#rYStwJzY2M6kr>AsP_^F~dt}}XcBH3><*4i!9r-5CFL<@aJ$Jdj5`c-iF z7eRbw>XYorY~OHTC4gKG{kzz5L~-rrqDi({Y4{|9kFn=R^?BEQU~yymnR6$E)CERT z)N)^KN*z8Kyg&$9X54S`1lA>f<kcGQ1ofs@S}~^%er9w=+i89BTEtb2;cd!!__hC_ z@~i|c{en-)ii5W@9UCa^p1<oG7LU;X*z2ERj`{9A{>ESA!@z3oTC(E(uhxaw|A&y$ zA~it~Tqt~o1uT~cClgB82aehg?5j?{KKffQZ}$B@MpgfiZ@*S2VD{?p81UQ;-s<ou z4}kR{yvj2h9}fquq>h1FrTm)=r^#md!SQ7X{)&}xKYL&dItdptEfvwpx$e6l==pID z8TOutJ0+0_rpx*CmiwbuDfwDMm8~Qj`zmY4FS?BozW6@;YNjyDO;6d7+xY<>6dE#^ z%_=NS<1dHAz{bF@m)#!7zXz;n{lcMv2UcbBjQ`>h-Ug%QQNH!Ra``_%_rZAzJ5ZU~ zp8(bycfhc5V8KjC0gfsFmi^)Ap@6eVVsW}WKs*Oz`o|}-Zw%d0`-e9Q-G^jFp{UX7 z-LKUCjk)4uUkmZifR(skwCgT=o{iy`&!K)hoJ9BQaF5&7lNK(X`|J&_@u_+z<2>~~ zTX*&?qE`0V8AuwZ^Tu7s7QzY{#LKxl!WVFc7gwH2>3gn)>%9sj`j7B<x4zvElER^{ z19IobElF&^7y5hbf?=mL-*6Lu$rH_LwwVW31@G?_Fo++oQSBi6r3>_4@sCaKiiGun zJo<0pLXr4A*Mj>pPXR^QXn{Jq33SZG&tJ0>8IR0hO@O4-U9UzIDq!vLmm-}VP2X0t z%T4P6-X0`YY3HJ_e@%uPlJ#Qv+m%u1E_;$U|HtvDzIr6Z!ur&INe%UW%2-_f#WV`q zS4?h&v#AAsBpN_|i;@=2i}_clsW1XM4R1q>5j;K`6gNQJu;sXc`dMI$XN@3k>_x}9 zJ81(tJN45d_K(+a>D($b(H6Arq$XL3M7JAp&;x<<eLvag95$zmo~vm?77}=u)*W`e zFlFAUt9CYMlr4pBgw(doI%g6ErQJ1eziXOk{u4Dgr3wu61dS@+0OdxZu^vcGYH#-S z(>nTx(7IFNH9{d(wkh+C>Ue%N3pvo!=3+X{^wwwDPc)0Tmwg4TcxnH^0uQ-*bh(KO z9CD?e1!OV7KJH~z*H|C0IB*x7H3<{YV~#(C{%De@@f;jYU{WU=e<zG~AXnqruU-(w zh&it2LeFdQPgA0rQ|2!s5}|k_i&SF(@gokGdQZuLNXz~BO_>x%Oa_9>f*RB_?jk9# ze<UTLYPWeVN_Yk2%;y^rVMcl2`@S(K8W^;oaxEB4My|!=pTcLH*m-<J_Lj2{-a@G% zSpks!tF9n@_gdBE&79!+FB2Jvye-v#VbFVv;c9M}<&?O6!-b?v6>LN!ra}{JPO-dW zHPTk$M(n>Y4aai=S}G?zD&jVl?BBDzdRhGTgPr%^4oJG8s^q?U7LfBr-FY&w*L4hV zm%0bQJQ;{vgD3F6hT%TXk(1NX|KkC;%{lWT=)Fp~ZgU0r_t-s>_`O=zV60}~UiV*q zgSe;T{p&X4lK~|g1Vv$_p>2&O8jt<ttTMg3&d0p(c-xhC(Im=+;VkPBUUH_<F~dTK z@7?-P<3Ua%)zn{J=?T&d-RrcEiYT!3x^O7cO>DyOjFNht!+r;n^NH&Gt9#nm0o@Y< z^RR<|1|4!_X~JB%V)l95K@jN!ib445=ovVtXi6C^=HU(ZQX_DfuAM?yo~ceIMVN?) z!+<jmOIDRdt#pVm;9_YA%D&S@h<y4cQ?H{WI>oOl-6#Oaonv(8bfKJha2Ig(d1&`o zawvMjabo8A)4PC+wP%Kq4}Q1DgOoS=B2fQ}bEw}%(@R~!Fy|f;*v=@00#^_J2QD}f z%+Fsr2FO>6lb2J&_{@LgCg4YJ7i;k$8qX4syHKl)p5VOWBwXA8E%tmE&+T}Ctk!~e z`QZFDiZsXYOSQ*-42jr<)U^n0q9Uyw1~|Zmqlw)o9l8w-v-AyId&|A7)^LM|^K+8^ z3y08Wv$B0dO>1>LMoul0(Vu1Jdhk&VAYT3K+Kk$46~php4KB`TH@dX7l`?-QUmYAC zyqIPNel6B%pH>A&sAXQLzL3H9Ib$F+Ul}A{qz&i?*R@5x^L&TOb+db1yn?G+B_qLF z1giTii8!xa5sKRWL)1mNhW<28(`rv}6fp|ArqJ`l_=h9a`WD{Q%V>z3@=Fixh#CS7 zjxXm_cMQS2yEL*V3AOFz6+P22NE1cF@!nWRFT7Ffl$e6pUQ94BvTUS)1Y%Melin0z zk501pSWt(EseO%?&q7ccloV3LT$Fo1Xz$JVQk!(Cmx^?i5mNBJQzqvT#+BS#O#&-A zsPeKiX<;LVyjyrJo&+bCq@Wi+d1fQC%kn67MGHrvd)pW>o@~Sh-DH<n6ykd=_@L=Z zfA!tG36~n_6Wz@?e~~qP_j<Q+^T|g915&dKl`oRxmJ7QHBUH&ZTESaZoLh}=2ELZ^ z@8EG~RAYQ^j_YD^PTObZyLiFcD)Y^X5lT@WQAbtB*>v!<F1XuB^%-2vQ%lHaCyHr$ zFH>zS!mE#tT_QUcAZZovi3{xv_^rqr<sI4qR&ncY5pnr#Jf>5%vKRbV2ctouOWrOB zT(>Vo2`mRIgRZQwh=WEo&^qCt*jES7<qC&srdD%p)-j&?NrFSNn8JF>h_xn#*rA)B zHlK{^=EPN&9FjdGxcTvQCC2WBU{T546VpZeln}#NJ}n!>D==$x&iWiisRucN(#$A| zeR<XdPbfIUsj7M53|DhXZnJIe5L9OUD1&LVRT>G8np?YVzP($}FJyj6(CDIyRP#*U z$OLKz!!i+hzmh2R`Oy!BZrVB@4<;x9_p^?HTz+F^q>*@56vdh*S=jl}8EMub{3)ng zs_PgbYupm?%6az<{!UYL(HF^qT*u9Mwy5cJ4WZYi)wRT3j|cfncBlMx7>g4zy-LLP z-#)Fab5YVXwdp!HG%1qW)|n<y${F3zTr8kiX|6?`yyMpPHZpR+rJR>2CyIp<FV>m_ zv3d4J%AEF6AEP^}^kLavyr@O5y4+~coZ%H7pj&8m)FAtS-_luY4~|&u^6f%4rTTGX zR*r}_%i@PwRL_jfygN)>&^4d_^s<en9`}gxG`(&xoGkuQ&{~Q3jbN)*1(_|;h2FR_ zPO0`DR#dU|+~<z6-tp(*V?tw4w7?$%VS)P|kHs;My363mf|UpZ&AMb|=@6Zx43cOi z1v9DWwK3@7&5(tP!<$_r1lA~v<7SV1Ov%K&gdZXnQE&)KofA=Vu<XH|%$DlzGIc!7 z(N+T4BMOijKVg|O!N9ro52r+Y_9`6-{CR2C76`WTtIAq>Dbz?8L}d(UOu84s*X5%? zCdKf;q{1zD-%{?!)rFJE2Ol3wN+d`<lmMexI?-~ngTpIbY3UN&v1<0Dm38P)b*)PJ zT0)S78&&cIC{$iD<8ro01=g%gn~sHkj&LA1e1c!a!xNlK#yWi*v>bWxs51cSRadjO z63S|dQISAS-zDGA9-_?xeHt|ILpNZBbHOU)5_lQ1k8wQc_s3GZ2<_H3r*_7+xJL0k zjtOiF8$yjJS7E51Ca68rPfs_>m#`k_LTjSHR)h-?KOKRU(w#CAkOst1w=u=Af;5d? z^WWJvbzo`prc&VavnyJ?9M^4Qz>r_4-rAFLnI-SJD$vM=nYPtKlMBTnT*)3W<fco$ z_fzNAI``@eS6qIF5~(=;gJ`GsTl`a4ED_@e&>TbC6q3QkCt;J!UKWIIUPX&N6Ms;O z@ZIc-UN?tqwTwDGXy5HqELsg@m4!Oh2zEMH%g<4!Y~%j2*PGLIHI9PUw`?jiUnGS; z$R2xF6cyjPQ5h74L8G}~<qH)PYD8%=nQ`Se`&ZL?4-B&3+e~3*yo#asxNwA<wsc7w zx<NOf9`AP8Ga>Strd<zxU2kZaNRLeUsSBJl4H1w?Lf=+3b?`9~X)DK&rrGjCN9QGp zl~C!q_6skm*Ofn>PW4F5mmXC_Q4beX_lKa)vj@AHiedY8LFW*pzP>m-wU#~c4e$u; z{_-x3_og-K8nb_bx<NcCeG1cCsH3T{JNrCKP7DMeaLWPmYPN~9Z7?D={?fsyaI<%f z=Kr!WKBP~5U0a7V^{L%PZgWF6yT?rJme%_(h@a_a*AtvswC-@KD3<)5wf2Q~dUGx2 zD2Fvkn8goO{)F}|Zq@T#@`scZyZ6a;yh4ZP)CeWc<OxfSPDpB;e?fpnB?a|}NA)8) zx3@d<$1v5p3c@0+Sbi8a<7~x5^j-oraK*sLCv8oCD722^p}}Dy9T|%mvgNz+n10nW zJ_`kY`S#7JyOm9+03?NDF`}yImbUayXRO-0-yMRb=sKWTG+t#yeFYnK?R#pL@c|LI zuUyusx=jl&*Ym{~xp5!0*IxOwzZPvzn;O#5{_5?VB)}_!uw{s*$osOsJ6xf(dQaI% zfX*qi`eJ5V$No(UNuS1W4hb@?`*Z0J?by8(^3&Dz%(dx!7FVsBO}l~Jm_vs@Sd7e@ zsC7hwcSO>l-ES10pgX5vMEiED^kKYKjM!(>ua#=eH`)9dnD@i&6C>X_1D+d%=v=g^ zOPlLirc7getfYppE+Z8ScjNsA59`YWEmqV{dvrnKH7^bZ#_n$Xt<ME2WCw)BLH?HY zklrlIUODGZireer+-K)Y=!U?X_4Se6!Mi5n7l=gAz3Ns56MtUTvAecw+PD58UL=Ky z@vONV%jIY`h|*gO`MBydqj9Joqd(a+9A$btD+Je`u3OD#4<@0|7|kj)vDCN^PAU*2 zqfjo;CMf7yZl~H5Js1RiWiz!@e?2E)nf^BT2u|LUism0|GSI_z0xu(Kcm|xLfC**5 zCdN}IBv=s(`;5vSSK#73U#|W-!fBV8ctOI;yJ&aiIk$B$Q7R+M!eiq+(%M?oMpTz5 z!#e71zx`vbflq-)fmKt<YUcH^X_lqALb)R}IGSnYW<_aC48Y|{vuTR|YNV!i!90>_ z@i!ryZ8fM4HlYahSfG&III7hzW~qWv7tG0Tq}3N6t;1V>%O2tc3P&`=Y(xcw6&WP~ z%Vdj?lTpfE{X`o`{-+&d#GheGTvq>xw9a+$O6MN}R09~jMXP#-?FTva`xLk|RmdN* z1t3atTKq!_mtijV*aB*>P`8nw!KVDdeGvD9);X-m!Nb9uZZ}fATv&WWSlc|x#R4~7 z);$|<QYlG0;ctfqj!)TE-#g%5O2=k}E|2a%9$4Py@u}EmP+tnXdh*sF+haSqaFtDT zzHw-*Ryc(oGcfD(3SdeyZQ3Iha*ksGg_d8<m^TZMowQ)F|I&5qJr+tz8$M-PH4vkz z``FSb{7*Jq|A66V)uJ}|GikLZq1_qA3=R>aTWrINPJ+MQuJ1hVR}5enp1?*1nx^}W z3?(&rlWHO4j10KVA4)NN^*?lm_wb1rJ3ne6y7LdmSCf02oV-xOg+HuOy2|JurCp!8 zz5!*wYmJCbMI0vDJwenmvZO7Z>j#cJ-fx&@yEA!kd3{;|YltIqD7r9ZRXW~bqky(w zAEFVV!Q!B|F5RDz4(M`*2%wIXgpC8*cLXVJ421qK8+v|Z)S~wqt@|hZpraTfKyPdJ zzdkuS_qu3OW05U(v~6Q#Tznm8lwnZweV$pSss-)jlp%3k6+?VV$z5VrGBM(VlNyQ% z%Vhkq>0&|jndE{@r)JM4{arEPI3E)FZ~$XOqHWV?HeoA%JLQcw;ShB20YPoFn%B=6 zkp!gvGB|WxX7jo^&DWT>Io~g0h5P-F23y-1F+jU??z4EbZFmnUA5|<xhPQjrvhUTS zX?ry3-9_&`&`PZJG~oJSibJ0PB>Q3%8VtdQdodaDLA<ad7apbJ#J->?hx{?3k24(J z%xcGjC$-6|Y-sJcA&GF%W6_A@B*-kHTcQJ@-6@MeHN!>>O2`K{O0j%6B<0K7ux0HO zt>zb@&W@a{%-1MocM-aYb_a4;jHx$Pl#bbPf=M4Q;<#xP2Ix%=#VTJ3N|k=+^D7>E zzPRzM1+Rycfs8B|JYH$==82fx8~m>EJ4)#pTkqQXPuRKHMwO@w&~>azF9JP=>Mhwl zZ8&)Py^u!!vS4b?`CP%tF%T_>Rf9Xch0A%?DZXqa!He4Bu(qVK${)xGg;~puXdq_s zvT?V`Q(|U6vek!teU-i7{Zg~sH|PqU7bDV~4d}D{N?{KvvtM47Ve;;c!bT0J<|vkH zM6Uduh$GbA;9#{KL!0abJhgKKTPEFW-L6_&pI8d4fvlIaL?)wE@PB4<x}mExc!#5$ zquUGw(BScSi&cq2{3sZ3>0UB2zJV-Qs3<+&ALhSI2FEB!&LM(aP)+$^Z4U8%z1M!4 zw3E074x^3PqE|HT%5Nx(bhHcfix?)|828(zQ8L#|K&LzH(0l{q8b|qQPJATo*;34g zKsmomjx_dZZ0)9n+DeH~gd0*jB0{AVz0g{@4|(J#k5zTIUcY;Cez5O*#mK_v(NW<4 z)^Eo^t<bV`Z@%xNg?y#9>A07XpMcf7Inq{{;n=t+!a}OP;Ibz(!o&-v48|Ulf}bl$ zbU2N>eT>|_Y@oDSKWulJ1R<vp4tYaU;zl3E%*;@$UdAwH4mtDO5f=&(y6OLnz@b6Q zQ#&8QrhOwl)!P-wqbpYOmg}@aC*>okeUS)lAjV4Lj&jbKac+gHL#uxh?Xtl6YZsRg z>gNv762eNu@pq=_nKJ1)c5<<Y@>T-Xa%!3}k88ZbUkX4^q~4D0ZvjWuq{?b*ioVXW zJ`<tdCnUI*bp~}Ji%HG2witKgl35A8CNYwqv$kN?_OojWlTx^pE_Tq^OMU3yG*fYu z!D3y&-nyTh$*B4H=hHTFtq`^Ir$5jSp4;ry&6P;>oruv!TD!{MTo}Z<aaA^xv=#1b zZB<@Zx08Q`9<aHJyTGv;#rjeCu~u5B+}2^p;=ffGUGHP=KeO{hi6%{QRC$2`Z^`*s zd606PnI(I%p<JiZnL(A~smC7WKC)GWc{R45&7|`_NmROA?J46#3<Vj>@S6#0mD>Ui z$yOTug^2yQ1sfGf>9<2sQykI3!}i<P2@@hC9+WV6s6K;#3=^bf$QvY6qw=bQF&BR{ zP23CzX7;r8l4;x}riP$MqV3s9Tbr=tr_SKxkjZ`m`*ntAAk9$B;THoo%wGqKI5b-x z1}(~qTLh)ZztZq6Ko(u)n800`?#2BP_^5_`^9n^xD?(Qn?rBgu(?v&jl{8o#@6s_7 zctN;cgo>dC+Ks@q@zfyHWr+Aa6c=~798If(Y4>DP>4u&KP&;zUu*RegC_L`f`Po0l z6BekomC*gE<0LjrudY7Fjq+0lYy{fCEL|*+eFCvQ6U^X&xNa@+`UzjiM<K<Kt;{Fb zzVD7P>?p3p=Z#WoRPd8@vRurZR3rdRT|>3Gp|gIUw;$>gV5XWCY^m;isR+Z2sSf7! zl!JbKk-o4E@3^uC$(<9cx=pTxP-}wX@~OZNibZRC`n77mQ2*TI9A^-b!Hl`?sE5*u zxylD;YMfRWrlt)AA3hXCsE<xvc$oX7lZokY9yirp1lCovn~<1ZlHH+fer_srP>8E? z31xh)UU8Q1-zui!J6*$5eBwpgMOcuh6MCw(ax>?xdmT_Av{2f{O)c~_qBJy~D!&hb z2UEn}Zc&R6!v{(`Xxm!myX_g3Ls|tE`f}3^qqpxCQ(Nq_(tTw@5I-2C_<Y1EGqDK` zeI(-Xn*~pq>b1N#lMfY0bUnf=+c6fqIH19Dg{!T8KlPCJ_tgmYzp@0|O{1P{_U6wV zc~#S+GNSBkymN8Iy}59TvL!obRSKHQq-j!*9hhE9?L3HGQVmyJEp*cgJ>i7*Pt9PT zEGn{?naVu33H+JtPld&(!{;%?ycYtoVqoFrJ1>w~ZhsV!|I=_O#uZqH-sBhF^n!v8 zTVe|(5o}Yvi-oWxXx)*{lzWHPyM>2C&qN=!wXVU!-%l5izIeaYrV2N`a?DEN#MxOn zu~UwK?c#Jub&c4}95ACU-HCRY{E{~Z0}G7Mf_giM9Ex<5O2j*0>LM=iWT)(4@_wPe z1@m^_zdtI6?da&;lD2PEfO+^{HMGqdA#M&x7jc1}(P~BYs65SDNg)8<J8W`=S~AU2 zaZI&eN8K_CeNwUX1%-Spw_Txk86#H@5;*+uN=3aumwCiYF)fk^0}07@Rs9WsK2t<e zH>f<O2{)h{?<lhIC3{5F^FF1@pWKqs36|Y=YcA~Ex%7r>je10nL~te<nzkCeDxywe z8})C~wMmd;#>ujjZ&gLZ_(Y=N;PHP2F|wih#tOb+bS9z*@0F~wv)F<2Ojj}@YLp*) z21QWaisN17=A}tDH^AkbNlsfu$l4+4!W+@EA-5Y;a1K&B#aM~7Ea#5nu_$U3)x5l~ zgZ^D9R;nICpI$d9bk7&ufi~v%k3xsR>C>{jTtSwjo{Yk=ujEZX56*Tz7uOc=xBn%y z$rTbkl_k$T&`4wc%QfB5hdiI~ZD!<-e|c_R>DzFzOpR80Upl9{fr_PuWYzk=C>+!` zN>EvSnN1igCi=c*_`SeeR=e;Mp%eOtDYtO*Q?v2biO#Zr1p!}m^kKI3KMkv8Q43A{ z<0b~7OsapdkLZc>WzK-gQkGu}`x2aGcl1bxgzjGfMPFGwyTAR))y>7i#NpRHSnS#G zNHCEg;2RznXM;izJOl%pXc&|#yYr3EBxnqa9^uvIRwI?Elr-*10<j#nQ{PFhnwGqZ zfLER4Oy)ZKUsq<kGq@a1$>s#axI9;WdK(jjRvZU&gS7|Tf5Q9dA%fHgk$zdv$@o-< z>V_(X1D(j$?CIc{f_a--MluEE0~JoF1b^HGq)f=@t>PdylqKu2qV}NKQ!M5&ZQG<H zP(G3H##k{}<xHbpDQ(DH1Z#NE)%rn0*tLIKPQ6k<?uzTc2ABfHa+A4E_9AF9`a%K2 zd$`YJ<3i2>SJ)}yT{pci(|v2o+NMBj!|kVdb`fR<HDO2Yg9db0&c+_5nBWe00QYas z;f~lR?=vlM&Do)kJ#-M+*tQo5wVzYgg?+pByA*NLiD~@x3XRGCZ}Jc>ZhlyMEW9|B zR6d%k>F{ZL*Jg)X!6fOcPA+nk)A|8XEUE?};{n8K*!7LZR=H!!&HzmR^rfz+{!g}P z`RdvAttIw50U%u>;&~F9CCEz2aA-u|`|@W6JM?;FE5`=u7RcampF5=2@phdo_}uC8 zdT6V`(>sw+)&F)^*(xwvV5ni}oe)$$nqs<dLo+M1>H6Zh7#24M%kk`|kqOB(6MWh3 zcgq>7=EKE;EslqMhMw6Yc++HPcq|>CMk@Ql-EV8OYf7KQdYAQmArejyVj>MSKE=g5 zZU5Jo2&j3e)EcPpk><2{?30<H`3>2(65Nf3Ke|5Y`<!LVa0$pgkk0r{&5{YFkx;FZ z;yz`eH91t>rgQPbdvU^~Cc89AYW}>0CYtut=!q@|5|b(AqNc?|ZBQps3lW8T?kL)0 z+pY=yE$R?_iT)K7%>(+((n=@u()TU$!cKTZ;RWr20TH!0d>R>-GD3&>i|jv!Wn=Jn zUcoUIMA*r)<_hpHLZYp|lDWQw(u|~+Nvloy2lakY<cf&UOysv^vuP^v-=bTd&$c#L zNP=H1%~<C0nq)KZ($|hUmy2I~s9f6{SRByeak}>@zV=#GJKsD(ZC>x}qgWCrtAb_G zZZQ{s##c%+h}tkU?`zVUn1E_`y`*}1w^sq1_!O1GtJ+D^@wy?UwG1Wip!Nu%Pt`Lk z9A1A>`=Dvf2n&EIu$a`SLnFT*YennPy%*pb@yzLsSWi=YU*Vn<C?pN7g^l(rI=oQ4 z!1*eb^%ygxSr5&sHT%4x#n8MikCv4dUPscq0SQ^#5*HQyk`e|B>Bi_b<=8BVq*?u{ zuHk`A&>!P|m@^><({6}IfEKLkeCJ!usxL|;`X2luGHIaZ=iu9pxsgM+%YJ_t_0==( zvM^$ay`FP5MFaC!ptO<Zfx<_bj7Ug`49-~!H*KfH=oxchB}3i{va(s@2e|S?UsfgD z%y(@|OcrKHyGm~8;)ug{Z?#5l6P_r`wciRwBXSfCofw*g9BgLdUqWB(&n4LEj8vj2 zD|vtD-(Y``{>9BQ23b-0naxD;%Ob*5`*YvuCHX1Fx~3QDjtDNZQ~k5YuaivF@1$S9 zD`i5=&o;2g1e*<XF(Nqqd==j!CA=#7MT`F;MoQ{Lz7O2#a4WOwF~JcgRgL5EBz<*K zCCE+pP#8@+Wp=YSJuw41lgR)6YW}n}1x|1&@65zXyr5Ik%+0k2RY%T%@Ka1+=^i#k zWG@_S&}P6?72)NR?hc*A&Dvu*$JAp5?YLt<CNuu)XL=?pS#w_#yU(ISOoM%YHh}R= zB%>{q-#tx>3f+ezW=&8Y1Etnu34UV4_y(c-zLn%W?h?%}D+V_R?T6FTvFHr^xR_#- zjB^85!F7$$75A`S)H<&)fl^dYOXAvANm>6BH)zdRNtM_nv>Pie2>o?JjJhSpd2fU+ z@&IWocXhn*6BxtQ%<62{8$Mb6Cm-Ll6)oqRgWgH5=Dm9~bl~n@vcaJ6WiKc~eEz53 zEr{OR-;J?6Nw8N=8R}eClw)S5Tkyp$5)&n$CX=QCy&yi++WZv<w`l^o<oY<$hvdjr zcwRgv1s?+YE3>G<x*sV=EWLRqjbItNjnuS@PsI2hG<RH7F^S2vbf&o2%=_9NiJ9t1 z<1y}0c~=7YT=s|P>aUa31{kZ=!gZS2trEwU<T~?gU7^eum{9Py+{et#(#^odD^de( ztpo@$R3sa2qc=NR5c|xyHd)8Dx;)UJJ7Ng0iZMECE3EP7Ak}N@8p>%tBmQ2|rLd=E z`{SYOag6ga&tk7?-)I*K(zUS;(>bkm<a58SS6cU(3-`aVpR3TT<5PIE3PBRcAXo3K z8EN*Z)(PwE`~mgb<stl{M!tOmKOgq!K;tlzo7<)PbT{mUzxI@%BZYAFr0w9B-6Ryt z!U^=xt34}Yx$JI2*2gDzroG0<uBRDvVee+H$Vgjs*c7g!Ns*nI*sqjcOq#2lGS(AM zS!Q}|>!DF*y=jY9TeGg?!YY`j?xnN78JZRHn3}ZEh&YDAoOoS^52j_Q!yH9xIhi)v z*8<n$JvsOpQo_1uq_ZBl5<WU*SfYIQ?diC8+>_0`(sJ+1MbGq%I*u-~(2rR8o^kJ+ zw@05fU${gHds7GWKRRse8uPA*&Ga!4E*N<_vH0axSWc^HMqZX<-@_|j5Zo7xQ*NbM zoXbc$kW|Dzl!ru$>*RH4JFhM8%5`2>P6j#Y0Pgini^US9LKwciXD)bxlk>O^{R>kg z&Sz}R@3;<qRi`CVMlqq>T0MQkdDopzcn)%NF5mNlNK6?V=fGrDO2$<cX~*0gE*UxS z?o{>6dB?H}tQ2-MYgh)ocwkND9a*vk3-39yd}bs%=mzsnAN}~@mz0!zlGK6qqmz>D zho=N%li-33iyX6{OtQULmUS6DrS@T(TXN>O>x;0wY}*_svIQmOoAm5?NNZ+M{MYhV z+pD)KMWd?{HAN0}-G_+&Pf;xT`r`b}J-^RJ<-Er%l?(Mpy8)*-*%-iICv<TAG)>9Z zbaf}Jgi@E0)soRDtDW%~5AMRQ`O$_AgAa+{ZGOj}Nm#+ypJ@Au5LtfrVGw_D+>iG) zw2~4L_Z>%=iUfQWd7+kZBia+H=SC(q&r+!+?W$$Tf{lsuFihp@@T>2rh(0p~Fr2wj z-qQ9qX_!6kHI_2&D#fs1)BNTF9%Xk>viV6ox(^+AX_;cLJ*(_9;M3;X;^VrbFe|a< zHA)v*6wm2E|J1cngyQN06*s2z@`tu!!G^o<`LQ7=YhnUt8S;Fs!<7&o4vg%{v(4D} zEEb=zq?$GtE+~c)%h|J;m+1%1q)4nBaqsKeqg{#FV|o>|v34wYB<1%oO*qv$YfJ1@ zPpzT68whW`W2O7V)Q#+<Uz>=CKn!Oh#p>)Ic~CeNT;!G1c0{$N9$_&VJvVwspk`wg zCwv9QdzOVsHb1ln0e^mA!#R$%G8j|JW;K?oQj?$>&b1F6;TE}ZDh{mI<LC|aTD|&I z$U{5gx7uwqoS#@sW>K1^+MM)-P|Y=baasiWH4R<+8U+17U$<1hz;Eto?ta*|_yBTB zU3Z|j7}(kN*w1=1vJek>4>uIg6>djIl1#s<*ey87ybs}H#&I9pb7N2J*o|>t<Q-(4 zZPb^SE6Qxe@yjqFJx?KV8gld;mSXO+)MvhG1s$y~b7t4%cQ?mB?j@R->9u~aO1&+I zvOq!~&-U0VcL`puqd1oPP6-g&6TUCOeRGH((qd=ve(+HR7(RHKX~p<FIuDMgtrIMQ z-N5vvND;@lr9vo1GFnwpNH!zMpJR|BY^ge08NW&Xe7I0uk5ry={=|P3y)W%*9RF;E z8RhvL+pRHpdCZ<h;rOMNesa~Z-2g>6RG+gUphSh!acR#P_8eO}B7DxV<+0kg9-dJw zxxFTXO^kSs54RJzqRe{POffS`!9Rn{WO}*ziXLJ`W3Aibv0P{2*l<7DS^bPNi#@#c zipT0HUUfP0a|OeqwQ4Zq4_|fn>SxBBd)%HBo2uT}DUn-A+OElG`pY*@M)&6)h(PUq z3Y&Hm-;)x(7RK}_v;RWAcQV-^@@|`EPP5O@x$d#~L5<OqgYIVAIA<+w^pT!QapkwH zw)T`zbBIt>TYHPeSt~=IPUg|r02!Z+nh11^Ljb<-q-Je!BPiO<X}Cwnu|+mo7EOy5 z?!EQRdfR(kLje;oqnT`Y4p^~b8x3mHoTIwCjn*bZ+A-*z5PQe^qmc1azP!C0hm&}X zvpT4o3cGXQqgec2@{9JKb4ym<(B~-`-~E@u;A8v3r)y0piAHJ4Z+I~n6IQ$BBAF!< z)hrL<lDj$&RMPWK4C?mz)8E-rY<$Zje9#jhAf)zP?rq1)`HE6dUJ0--+u|4+gupCp zyiEyWuAUz<$h8<JL`2yzVcUp1<)Bj-ebO=Mw^*(HPG!RtavAifKplr*%2<x$5rg8h ze(XbL<0RgNucoL%jT-Mk!z(ms$*Bn;)cy(>z}Z53A60NPD=JBuQ^_#i-NDro4))0x z^L1d$qR@@Fk30R^f~6+Jzm*tDQ1R;9CN%RlewJL!DF$qlz%F{yRitkwgl}4387aYt zI~s?9%4TETKImFB)SX#bIV(=D>}@!RNA&Z^I>T~^+1onC@hG`3MF`0up?Lgxe}2fE z#=jJS4ON$hVC@<FZx0e_3$Ym5bMb;uY#Hp@Jd!^rKT-(@f(|CfnGgPp=Zy^RzIkpP zW4EY64jZ<pH4?NWTBNMPd^t)wc&wJ)SONnM>-%aAr|^U}1)D3rh2J3R75R#9G4eU~ zC|wOS$nJI-bDF4TcwCp?QUrX&LH{{h`@c$Kl2BYr;%9@PJ*kf|xO+c;V$~8kD_WBq z{v!)-c&zvi4*i);+uy&J{>jtA#l;DMQDg#N9y)EGfH7Lfw9gHQD`>x%VH1l@(S^4X zAp0=1x_g>nhkmPWZ%^D9F0jeOMJ3nu@$pgS8V$bS^CPy(bWc^x%<sWh#4<ic{B~~V z)yB1--r2sEW72@(3|#cL?l4-TyEq&NdL&wN9l+R_k7Ei?X=G5OVNmdSW3$pItQb8R z1Ip{J@-=n{#Hk@kk|+B0cDr0Yq(@loHP#c6Cn#TTgkxr_ZL5x5%q{a8g%x)r(!_%_ z@@4hWq!h8pWROf8@MZUyoyyH3Ms>bFj-F4Gf2)M3;!B-PJQ^Z);G2s#yY*T}PSIk? zQ?+_O|7%58BZ@fvyg0CbyM>)pcn0-6-31!hK}#%>=0-<4b@T%h!ny%u5AP^F$Xk)g zl51IN5wtf@D$lqh3(qni<F;fy!M633Mp{^ed^wN|QGua;Kc1=MXQvm@r)qDW<F$UZ zoqj&zF2p5_W|r#cg~d2X{hW%aa%gFrXD)2iX^>S7|1u+Q*tLufSqm3!GqzL+NH8YW zWN~@Plj`-B^6UX9Oet$qpzQWo_0@O-O>RpYq#@iVbOBqTf5PLDUk$ZM@3#9mGOip# zo;0lnNT>=~Yn}d>LPLPL;Xb_N2s}LDV%hKwV%Z1}pOJF_$ClM7!Cc_K|KA^DR(k;E z;`)WdtX2?SAU*(dLmF0B5D4HAfZxxZYY0yp_|^~*h!Od@*f?OqR|v{5J6w<iZ2Su0 zDQpV|fYh!L_+Z93AbHrQduZ_?0BPL-5G4W#1qS4Qm4MCO0K_ZU0Hk;OPleGvx^N3r zEMNhU(H#Kk-$N_+&>SX6BE<~!6sCO-YyiMC22f`O4?ybo&=x$152k_%LWNDDgPy_c z5P%A0bf9AQ9vXQ7KrcW5i6|OCqVND9IRXI{186{n8zKNn-$SSO(5ov1378iW0AXDN z&?OSU_DlEpd(;p49~AcnfgO>Tmkk2jMFuIuk^vNni;Im10&_wEN&m${c#A-R`^&%V zI=Xt45FR!jN-z%}Y=RVo2Lqu3O(g&x_{*7Ys6Z>EcR-`Re0zS6W&tP?FPM!30`o-! zDWy<=*pRq6`2m^NXdva3JP`Y93=knK{sBlB_5>cV00;dqBT-<5_h`~R3MelRBf$6z zLWPwg0M^4W0Q;Ch00{{uP*DT|DZnx?fiez6pzJXg09D^ZIrk7Z5&%(Q|I>2)J(~Y7 z3PA=?+K2ztHs7Pg|Dr-D0Lq91)Ha|1GTz-ozq~1i3RJM-f<#~+Q9+Uo6}X^qq+gad z2oQrp;QunSp_>GRg82XR;QnKf;s2|$!G#>;4MOCGuyMlnsX(d}Kx`loeo8Pm5Ck4R zO78m_2>)|-2@6*@eO@q3l>$W5@RAx-07Bsb1GSuB7#kf(;J)A6(t!lw!LTAa5IrMs z#{B+|(vkAP{eLiopMw_|N%w#MlyPuy@pALRP62X&i<}-r2Zj7b0<dxO00Zv7Y<#>N zzn6i*9Grarr2}|*Ie~Sp|L_8I+`!!Z-!d*f?!V+h|J4m(h5(xWLCE`uU_PLu{+ABm z<>%x6Zy5)e56t(wU`{Y6*MDR{0Y~w30CUN2%mCpZUf|^6;sd6j|7!`r%f<P-f&d-= zZ^7W;<cHj68vBixn;-hSy8uFdU|jxRLO=u`|L+z9!R7mpB>)HTWCZ^vgoBF*!u4Aj zpfrU0Z*M{W?HT|f?;nEsIXQmw445Cx!T*~VIJo$Kb1R?>Hz!c~Uqb+1PTv0-VtY@> z4gNiL+&sL$_g#RQoBMYK0XoQULV(`J%lVu80bXDn!83vIpxpnJ&%wb1sPw0ekl*bF z==lEVo;<vO@_*RK|A$Hd9rs^>2CVvfd~)#c^WHB4|KCW1`8mOSzv&Lp0g34j?{x?N zW<EgvhmSdUxw!8il>fI`4qjde#~+=5ljn~(0(AEe-T(0N0R!nT7yqBJ%FoI7TOc_& z07CxXoWa4z#mV)Db2<6{h$BGvd%QV-Ip=S|fBWp$SmgqPe|Hc-_@`igZvH<61LNa2 zFL3bj^Kkw?j38WpbVx8iuu2cu|6kVtgj~NxkORUC`E!!s;^qC_GXUKmlLS978U02F z2!{OQ!T*g_fbb8&{9Hhw{;MDm4`68iw+tA(|376s!1VNAI)IlG{NH{g&cVUY%kjs+ z09bz`yzdBHkl&Qy0O+`2ova`{;XkHt;F0tD+ygvafZ+V569*4B1ct)~!iWCW2f!RW zJikAoz`)~=>$k}P421jlX%i^p=J>7G17$qFj|8BM_a80)4Fyoh_xpSelmX-TH`M{p z@%&i^hWuFu^zc7;f1mlFfQxx~`2HjW2H_vfe~f8>m;WD2{+W)z{CpgL8p6l<ry+b? zJYeYWLio7<w1kiMPfPgtejodQV91|_0Ivdn7y|kK3OjogH-aDv2hJw*4U}xW{r>|- zSQ=>pCq98OW?5q}#<05vXLF1_pKs!?N0vr<9a!O0^>j`Bym|!!EgQi?PW<ZYBy!-| z{!N&8{o&ZZNlAT5N>=u^Z6Zq@&9+tsmqwwUsq(_|*!iw7EA7#rjjD7woB9#T8@mlu z$Y;%6rLJ$CaeQBH`<IR~+S3h##k#XWNenyM>1;Qj!Vj2r*nrXKXTysfaZt=!9iGl0 zyMzJ3ypofn{-YJf!Vq!WU6OU6Vpomuha(Qks9;uy92f#^W0v@z!w<;nqZhlV6Ainh zg$dU3d6Q1C8oOwDMBBw~UaB9TolZkA-$%iREOgx7*UCTx%Y7}t<ef8fK(}4I`R7cq zz6)z`?O!t5XN^|ys%D*G=jhL-*q?<gcwUSD)dQ=_UT30Fr3YqJ>4ACEMJ6)6)ai(Z zTd^hoOu5=I99^OnY%L9Ob+|>NVNostE1EjXB}zVEbJ6Ozs4C4<!#auSD#~Mhlf@aN z!&PyenAH<5bubiqr=9)0hM(QZXwiVVj^RRq3gzO^Ccj{;kmmJIMDHp+*hI4^vlH5= zk4?U6H?s}KTRBM*z*K}STjQxBuJmr3gL-jxp*vhs(mj+!r%sAC^`}mk9B&hNz{64y zLJ}Y_9ShWPQfI(Qw67oXoA-0rPjwoz8DrW_hpEI7+TTxRZ%4N)>9`%<{nupkX}CZ9 zd>FqyK74=v^<#72a=dqWXOAY0Q*}Et20wD?7!JY4Fl@KO^UIf~m)~!n9={Hb)uiU( K?(X<;8vX*zK(g5Y delta 71296 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 diff --git a/expconfig.py b/expconfig.py index c489906..7fcfb13 100644 --- a/expconfig.py +++ b/expconfig.py @@ -123,6 +123,7 @@ class ExpConfig(ConfigObj): # Updated directory structure lib_dir = 'mkexp' + def_lib_path = os.path.join(lib_dir, 'defaults') typ_lib_path = os.path.join(lib_dir, 'types') env_lib_path = os.path.join(lib_dir, 'environments') opt_lib_path = os.path.join(lib_dir, 'options') @@ -511,7 +512,7 @@ class ExpConfig(ConfigObj): # Read experiment settings from library (default and type specific) - lib_config_name = get_config_name([our.lib_dir, our.exp_lib_dir], + lib_config_name = get_config_name([our.def_lib_path, our.exp_lib_dir], our.default_name+'.config') if lib_config_name: pre_config.merge(ConfigObj(lib_config_name)) diff --git a/mkexp b/mkexp index 6966fee..dcc732c 100755 --- a/mkexp +++ b/mkexp @@ -67,8 +67,8 @@ def get_exp_template_names(experiment_config_id, config, job_or_namelist): get_exp_template_name(config.experiment_kind, job_or_namelist, ExpConfig.typ_lib_path), get_exp_template_name(ExpConfig.default_name, job_or_namelist, - ExpConfig.lib_dir), - get_template_name(job_or_namelist, ExpConfig.lib_dir), + ExpConfig.def_lib_path), + get_template_name(job_or_namelist, ExpConfig.def_lib_path), # Legacy directory structure get_exp_template_name(config.experiment_kind, job_or_namelist), get_exp_template_name(ExpConfig.default_name, job_or_namelist), diff --git a/test/legacy/standard_experiments/DEFAULT.config b/test/legacy/standard_experiments/DEFAULT.config index d0248e5..4beb7c0 120000 --- a/test/legacy/standard_experiments/DEFAULT.config +++ b/test/legacy/standard_experiments/DEFAULT.config @@ -1 +1 @@ -../../mkexp/DEFAULT.config \ No newline at end of file +../../mkexp/defaults/DEFAULT.config \ No newline at end of file diff --git a/test/legacy/standard_experiments/namelist.tmpl b/test/legacy/standard_experiments/namelist.tmpl index b6f882a..d4abfc4 120000 --- a/test/legacy/standard_experiments/namelist.tmpl +++ b/test/legacy/standard_experiments/namelist.tmpl @@ -1 +1 @@ -../../mkexp/types/namelist.tmpl \ No newline at end of file +../../mkexp/defaults/namelist.tmpl \ No newline at end of file diff --git a/test/mkexp/DEFAULT.config b/test/mkexp/defaults/DEFAULT.config similarity index 100% rename from test/mkexp/DEFAULT.config rename to test/mkexp/defaults/DEFAULT.config diff --git a/test/mkexp/namelist.tmpl b/test/mkexp/defaults/namelist.tmpl similarity index 100% rename from test/mkexp/namelist.tmpl rename to test/mkexp/defaults/namelist.tmpl -- GitLab