You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/08/05 05:26:18 UTC

[1/3] isis-site git commit: ISIS-1521: updates to release procedures

Repository: isis-site
Updated Branches:
  refs/heads/asf-site 1c75f2631 -> 7d68ae67b


http://git-wip-us.apache.org/repos/asf/isis-site/blob/7d68ae67/content/guides/cgcom/cgcom.html
----------------------------------------------------------------------
diff --git a/content/guides/cgcom/cgcom.html b/content/guides/cgcom/cgcom.html
index 9ed1dcd..ffd8a0d 100644
--- a/content/guides/cgcom/cgcom.html
+++ b/content/guides/cgcom/cgcom.html
@@ -614,16 +614,17 @@ git checkout master && git merge --no-ff ISIS-1162_pr-31 && git
          </ul> 
         </div> 
         <div class="paragraph"> 
-         <p>Apache Isis itself consists of two separately releasable modules; relative to the <a href="https://git-wip-us.apache.org/repos/asf/isis/repo?p=isis.git;a=tree">source code root</a> there are:</p> 
+         <p>Apache Isis itself consists of three separately releasable modules; relative to the <a href="https://git-wip-us.apache.org/repos/asf/isis/repo?p=isis.git;a=tree">source code root</a> there are:</p> 
         </div> 
         <div class="ulist"> 
          <ul> 
           <li> <p><code>core</code></p> </li> 
+          <li> <p><code>component/example/archetypes/helloworld</code></p> </li> 
           <li> <p><code>component/example/archetypes/simpleapp</code></p> </li> 
          </ul> 
         </div> 
         <div class="paragraph"> 
-         <p>This section details the process for formally releasing Isis modules. It describes the process for both <code>core</code> and then the archetype. The subsequent sections describe how other committers can <a href="../cgcom/cgcom.html#_cgcom_verifying-releases">verify a release</a> and how the release manager can then perform <a href="../cgcom/cgcom.html#_cgcom_post-release">post-release</a> activities and set up for the next development iteration.</p> 
+         <p>This section details the process for formally releasing Isis modules. It describes the process for both <code>core</code> and then the archetypes. The subsequent sections describe how other committers can <a href="../cgcom/cgcom.html#_cgcom_verifying-releases">verify a release</a> and how the release manager can then perform <a href="../cgcom/cgcom.html#_cgcom_post-release">post-release</a> activities and set up for the next development iteration.</p> 
         </div> 
         <div class="paragraph"> 
          <p>If you’ve not performed a release before, then note that there are some configuration <a href="../cgcom/cgcom.html#_cgcom_release-process-prereqs">prerequisites</a> that must be configured first. In particular, you’ll need signed public/private keys, and the ASF Nexus staging repo inlocal <code>~/.m2/settings.xml</code> file.</p> 
@@ -725,7 +726,7 @@ git checkout -b $ISISBRANCH</code></pre>
           <div class="content"> 
            <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;groupId&gt;</span>org.apache.isis.core<span class="tag">&lt;/groupId&gt;</span>
 <span class="tag">&lt;artifactId&gt;</span>isis<span class="tag">&lt;/artifactId&gt;</span>
-<span class="tag">&lt;version&gt;</span>1.16.0-SNAPSHOT<span class="tag">&lt;/version&gt;</span></code></pre> 
+<span class="tag">&lt;version&gt;</span>1.15.0-SNAPSHOT<span class="tag">&lt;/version&gt;</span></code></pre> 
           </div> 
          </div> 
          <div class="paragraph"> 
@@ -1641,14 +1642,16 @@ git fetch</code></pre>
           </div> 
           <div class="listingblock"> 
            <div class="content"> 
-            <pre class="CodeRay highlight"><code data-lang="bash">I've cut a release for Apache Isis Core and the simpleapp archetype:
+            <pre class="CodeRay highlight"><code data-lang="bash">I've cut a release for Apache Isis Core and the two archetypes:
 
 * Core 1.15.0
+* HelloWorld Archetype 1.15.0
 * SimpleApp Archetype 1.15.0
 
 The source code artifacts have been uploaded to staging repositories on repository.apache.org:
 
 * http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/core/isis/1.15.0/isis-1.15.0-source-release.zip
+* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/helloworld-archetype/1.15.0/helloworld-archetype-1.15.0-source-release.zip
 * http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/simpleapp-archetype/1.15.0/simpleapp-archetype-1.15.0-source-release.zip
 
 For each zip there is a corresponding signature file (append .asc to the zip's url).
@@ -1752,7 +1755,7 @@ gpg --import /tmp/KEYS</code></pre>
         <div class="sect2"> 
          <h3 id="_verifying_source_artifacts">5.3. Verifying source artifacts</h3> 
          <div class="paragraph"> 
-          <p>You can either verify the source artifacts <a href="../cgcom/cgcom.html#<em>cgcom_verifying-releases_manual-procedure">manuall</a>, or use a script that <a href="../cgcom/cgcom.html#</em>cgcom_verifying-releases_automated-procedure">automates</a> the steps.</p> 
+          <p>You can either verify the source artifacts <a href="../cgcom/cgcom.html#<em>cgcom_verifying-releases_manual-procedure">manually</a>, or use a script that <a href="../cgcom/cgcom.html#</em>cgcom_verifying-releases_automated-procedure">automates</a> the steps.</p> 
          </div> 
          <div class="sect3"> 
           <h4 id="__cgcom_verifying-releases_manual-procedure">5.3.1. Manual procedure</h4> 

http://git-wip-us.apache.org/repos/asf/isis-site/blob/7d68ae67/content/guides/cgcom/cgcom.pdf
----------------------------------------------------------------------
diff --git a/content/guides/cgcom/cgcom.pdf b/content/guides/cgcom/cgcom.pdf
index de2a3f7..a9efe85 100644
--- a/content/guides/cgcom/cgcom.pdf
+++ b/content/guides/cgcom/cgcom.pdf
@@ -4,8 +4,8 @@
 << /Title (Committers' Guide)
 /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0)
 /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0)
-/CreationDate (D:20170801163630+01'00')
-/ModDate (D:20170801163630+01'00')
+/CreationDate (D:20170805062117+01'00')
+/ModDate (D:20170805062117+01'00')
 >>
 endobj
 2 0 obj
@@ -6322,7 +6322,7 @@ endobj
 >>
 endobj
 64 0 obj
-<< /Length 13512
+<< /Length 13923
 >>
 stream
 q
@@ -6526,12 +6526,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.728 Tw
+1.175 Tw
 
 BT
 48.24000000000001 638.3060000000002 Td
 /F1.0 10.5 Tf
-[<417061636865204973697320697473656c6620636f6e7369737473206f662074776f207365706172> 20.01953125 <6174656c792072656c65617361626c65206d6f64756c65733b2072656c617469766520746f2074686520>] TJ
+[<417061636865204973697320697473656c6620636f6e7369737473206f66207468726565207365706172> 20.01953125 <6174656c792072656c65617361626c65206d6f64756c65733b2072656c617469766520746f2074686520>] TJ
 ET
 
 
@@ -6541,10 +6541,10 @@ ET
 0.259 0.545 0.792 scn
 0.259 0.545 0.792 SCN
 
-1.728 Tw
+1.175 Tw
 
 BT
-460.9283278459821 638.3060000000002 Td
+462.0338278459821 638.3060000000002 Td
 /F1.0 10.5 Tf
 <736f7572636520636f646520726f6f74> Tj
 ET
@@ -6556,7 +6556,7 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.728 Tw
+1.175 Tw
 
 BT
 547.04 638.3060000000002 Td
@@ -6624,6 +6624,32 @@ ET
 BT
 66.24000000000001 578.9300000000003 Td
 /F4.0 10.5 Tf
+<636f6d706f6e656e742f6578616d706c652f617263686574797065732f68656c6c6f776f726c64> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+-0.500 Tc
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+56.88050000000001 558.7460000000002 Td
+/F1.0 10.5 Tf
+<a5> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+0.000 Tc
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+66.24000000000001 560.9300000000003 Td
+/F4.0 10.5 Tf
 <636f6d706f6e656e742f6578616d706c652f617263686574797065732f73696d706c65617070> Tj
 ET
 
@@ -6635,7 +6661,7 @@ ET
 0.017 Tw
 
 BT
-48.24000000000001 552.7460000000003 Td
+48.24000000000001 534.7460000000003 Td
 /F1.0 10.5 Tf
 <546869732073656374696f6e2064657461696c73207468652070726f6365737320666f7220666f726d616c6c792072656c656173696e672049736973206d6f64756c65732e2020497420646573637269626573207468652070726f6365737320666f7220626f7468> Tj
 ET
@@ -6647,10 +6673,10 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.584 Tw
+0.481 Tw
 
 BT
-48.24000000000001 536.9660000000002 Td
+48.24000000000001 518.9660000000002 Td
 ET
 
 
@@ -6660,10 +6686,10 @@ ET
 0.694 0.129 0.275 scn
 0.694 0.129 0.275 SCN
 
-0.584 Tw
+0.481 Tw
 
 BT
-48.24000000000001 536.9660000000002 Td
+48.24000000000001 518.9660000000002 Td
 /F4.0 10.5 Tf
 <636f7265> Tj
 ET
@@ -6675,12 +6701,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.584 Tw
+0.481 Tw
 
 BT
-69.24000000000001 536.9660000000002 Td
+69.24000000000001 518.9660000000002 Td
 /F1.0 10.5 Tf
-<20616e64207468656e20746865206172636865747970652e20205468652073756273657175656e742073656374696f6e7320646573637269626520686f77206f7468657220636f6d6d6974746572732063616e20> Tj
+<20616e64207468656e2074686520617263686574797065732e205468652073756273657175656e742073656374696f6e7320646573637269626520686f77206f7468657220636f6d6d6974746572732063616e20> Tj
 ET
 
 
@@ -6690,10 +6716,10 @@ ET
 0.259 0.545 0.792 scn
 0.259 0.545 0.792 SCN
 
-0.584 Tw
+0.481 Tw
 
 BT
-508.0473666666666 536.9660000000002 Td
+508.1496785714285 518.9660000000002 Td
 /F1.0 10.5 Tf
 <7665726966792061> Tj
 ET
@@ -6708,7 +6734,7 @@ ET
 1.387 Tw
 
 BT
-48.24000000000001 521.1860000000003 Td
+48.24000000000001 503.18600000000026 Td
 /F1.0 10.5 Tf
 <72656c65617365> Tj
 ET
@@ -6723,7 +6749,7 @@ ET
 1.387 Tw
 
 BT
-83.92950000000002 521.1860000000003 Td
+83.92950000000002 503.18600000000026 Td
 /F1.0 10.5 Tf
 <20616e6420686f77207468652072656c65617365206d616e616765722063616e207468656e20706572666f726d20> Tj
 ET
@@ -6738,7 +6764,7 @@ ET
 1.387 Tw
 
 BT
-340.4871 521.1860000000003 Td
+340.4871 503.18600000000026 Td
 /F1.0 10.5 Tf
 <706f73742d72656c65617365> Tj
 ET
@@ -6753,7 +6779,7 @@ ET
 1.387 Tw
 
 BT
-400.3581 521.1860000000003 Td
+400.3581 503.18600000000026 Td
 /F1.0 10.5 Tf
 <206163746976697469657320616e642073657420757020666f7220746865> Tj
 ET
@@ -6766,7 +6792,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 505.4060000000003 Td
+48.24000000000001 487.4060000000003 Td
 /F1.0 10.5 Tf
 [<6e65787420646576656c6f706d656e742069746572> 20.01953125 <6174696f6e2e>] TJ
 ET
@@ -6779,7 +6805,7 @@ ET
 0.326 Tw
 
 BT
-48.24000000000001 477.62600000000026 Td
+48.24000000000001 459.62600000000026 Td
 /F1.0 10.5 Tf
 [<496620796f75d57665206e6f7420706572666f726d656420612072656c65617365206265666f72652c207468656e206e6f746520746861742074686572652061726520736f6d6520636f6e6669677572> 20.01953125 <6174696f6e20>] TJ
 ET
@@ -6794,7 +6820,7 @@ ET
 0.326 Tw
 
 BT
-480.90049999999997 477.62600000000026 Td
+480.90049999999997 459.62600000000026 Td
 /F1.0 10.5 Tf
 <70726572657175697369746573> Tj
 ET
@@ -6809,7 +6835,7 @@ ET
 0.326 Tw
 
 BT
-547.04 477.62600000000026 Td
+547.04 459.62600000000026 Td
 ET
 
 
@@ -6819,12 +6845,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.695 Tw
+2.011 Tw
 
 BT
-48.24000000000001 461.84600000000023 Td
+48.24000000000001 443.84600000000023 Td
 /F1.0 10.5 Tf
-[<74686174206d75737420626520636f6e666967757265642066697273742e2020496e20706172746963756c61722c20796f75d56c6c206e656564207369676e6564207075626c69632f70726976617465206b> 20.01953125 <6579732c20616e642074686520415346>] TJ
+[<74686174206d75737420626520636f6e666967757265642066697273742e20496e20706172746963756c61722c20796f75d56c6c206e656564207369676e6564207075626c69632f70726976617465206b> 20.01953125 <6579732c20616e642074686520415346>] TJ
 ET
 
 
@@ -6835,7 +6861,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 446.06600000000026 Td
+48.24000000000001 428.06600000000026 Td
 /F1.0 10.5 Tf
 <4e657875732073746167696e67207265706f20696e6c6f63616c20> Tj
 ET
@@ -6846,7 +6872,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-182.77650000000003 446.06600000000026 Td
+182.77650000000003 428.06600000000026 Td
 /F4.0 10.5 Tf
 <7e2f2e6d322f73657474696e67732e786d6c> Tj
 ET
@@ -6857,7 +6883,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-277.27650000000006 446.06600000000026 Td
+277.27650000000006 428.06600000000026 Td
 /F1.0 10.5 Tf
 <2066696c652e> Tj
 ET
@@ -6867,12 +6893,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.186 Tw
+1.447 Tw
 
 BT
-48.24000000000001 418.28600000000023 Td
+48.24000000000001 400.28600000000023 Td
 /F1.0 10.5 Tf
-<54686573652072656c65617365206e6f746573207573696e67206261736820636f6d6d616e64206c696e6520746f6f6c732e2020546865792073686f756c6420776f726b206f6e204c696e757820616e64204d61634f533b20666f72> Tj
+<54686573652072656c65617365206e6f746573207573696e67206261736820636f6d6d616e64206c696e6520746f6f6c732e20546865792073686f756c6420776f726b206f6e204c696e757820616e64204d61634f533b20666f72> Tj
 ET
 
 
@@ -6883,7 +6909,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 402.5060000000002 Td
+48.24000000000001 384.5060000000002 Td
 /F1.0 10.5 Tf
 [<57696e646f77732c20757365206d53> 20.01953125 <79734769742e>] TJ
 ET
@@ -6894,7 +6920,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 362.6660000000002 Td
+48.24000000000001 344.6660000000002 Td
 /F2.0 18 Tf
 <342e312e204f627461696e20436f6e73656e737573> Tj
 ET
@@ -6907,7 +6933,7 @@ ET
 0.158 Tw
 
 BT
-48.24000000000001 334.6460000000002 Td
+48.24000000000001 316.6460000000002 Td
 /F1.0 10.5 Tf
 <4265666f72652072656c656173696e6720> Tj
 ET
@@ -6922,7 +6948,7 @@ ET
 0.158 Tw
 
 BT
-132.8078888888889 334.6460000000002 Td
+132.8078888888889 316.6460000000002 Td
 /F4.0 10.5 Tf
 <636f7265> Tj
 ET
@@ -6937,7 +6963,7 @@ ET
 0.158 Tw
 
 BT
-153.8078888888889 334.6460000000002 Td
+153.8078888888889 316.6460000000002 Td
 /F1.0 10.5 Tf
 <2c20656e7375726520746865726520697320636f6e73656e737573206f6e2074686520> Tj
 ET
@@ -6952,7 +6978,7 @@ ET
 0.158 Tw
 
 BT
-325.591 334.6460000000002 Td
+325.591 316.6460000000002 Td
 /F1.0 10.5 Tf
 <646576206d61696c696e67206c697374> Tj
 ET
@@ -6967,7 +6993,7 @@ ET
 0.158 Tw
 
 BT
-402.7038888888889 334.6460000000002 Td
+402.7038888888889 316.6460000000002 Td
 /F1.0 10.5 Tf
 <20746861742074686973206973207468652072696768742074696d6520666f72> Tj
 ET
@@ -6982,7 +7008,7 @@ ET
 0.367 Tw
 
 BT
-48.24000000000001 318.8660000000002 Td
+48.24000000000001 300.8660000000002 Td
 /F1.0 10.5 Tf
 <612072656c656173652e205468652064697363757373696f6e2073686f756c6420696e636c75646520636f6e6669726d696e67207468652076657273696f6e206e756d62657220746f20626520757365642c20616e6420746f20636f6e6669726d> Tj
 ET
@@ -6995,7 +7021,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 303.0860000000002 Td
+48.24000000000001 285.0860000000002 Td
 /F1.0 10.5 Tf
 <636f6e74656e742e> Tj
 ET
@@ -7008,7 +7034,7 @@ ET
 2.491 Tw
 
 BT
-48.24000000000001 275.3060000000002 Td
+48.24000000000001 257.3060000000002 Td
 /F1.0 10.5 Tf
 <54686573652064697363757373696f6e732073686f756c6420616c736f20636f6e6669726d207468652076657273696f6e206e756d626572206f6620746865206d6f64756c65206265696e672072656c65617365642e2054686973> Tj
 ET
@@ -7021,7 +7047,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 259.5260000000002 Td
+48.24000000000001 241.5260000000002 Td
 /F1.0 10.5 Tf
 <73686f756c6420626520696e206c696e652077697468206f757220> Tj
 ET
@@ -7032,7 +7058,7 @@ ET
 0.259 0.545 0.792 SCN
 
 BT
-179.931 259.5260000000002 Td
+179.931 241.5260000000002 Td
 /F1.0 10.5 Tf
 <73656d616e7469632076657273696f6e696e6720706f6c696379> Tj
 ET
@@ -7043,7 +7069,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-314.03700000000003 259.5260000000002 Td
+314.03700000000003 241.5260000000002 Td
 /F1.0 10.5 Tf
 <2e> Tj
 ET
@@ -7053,12 +7079,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.508 Tw
+0.688 Tw
 
 BT
-48.24000000000001 231.7460000000002 Td
+48.24000000000001 213.7460000000002 Td
 /F1.0 10.5 Tf
-[<4d616b> 20.01953125 <65207375726520796f7520686176652061204a495241207469636b> 20.01953125 <6574206f70656e20616761696e737420776869636820746f20706572666f726d20616c6c20636f6d6d6974732e2020496e206d6f73742063617365732061204a495241>] TJ
+[<4d616b> 20.01953125 <65207375726520796f7520686176652061204a495241207469636b> 20.01953125 <6574206f70656e20616761696e737420776869636820746f20706572666f726d20616c6c20636f6d6d6974732e20496e206d6f73742063617365732061204a495241>] TJ
 ET
 
 
@@ -7069,7 +7095,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 215.9660000000002 Td
+48.24000000000001 197.9660000000002 Td
 /F1.0 10.5 Tf
 [<7469636b> 20.01953125 <65742077696c6c2068617665206265656e20637265617465642061742074686520626567696e6e696e67206f66207468652070726576696f75732072656c65617365206379636c652e>] TJ
 ET
@@ -7080,7 +7106,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 176.1260000000002 Td
+48.24000000000001 158.1260000000002 Td
 /F2.0 18 Tf
 <342e322e2053657420656e7669726f6e6d656e74207661726961626c6573> Tj
 ET
@@ -7091,9 +7117,9 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 148.1060000000002 Td
+48.24000000000001 130.1060000000002 Td
 /F1.0 10.5 Tf
-[<57> 60.05859375 <652075736520656e7669726f6e6d656e74207661726961626c657320746f20706172> 20.01953125 <616d65746572697a65206173206d616e> 20.01953125 <79206f662074686520737465707320617320706f737369626c652e202046> 40.0390625 <6f72206578616d706c653a>] TJ
+[<57> 60.05859375 <652075736520656e7669726f6e6d656e74207661726961626c657320746f20706172> 20.01953125 <616d65746572697a65206173206d616e> 20.01953125 <79206f662074686520737465707320617320706f737369626c652e2046> 40.0390625 <6f72206578616d706c653a>] TJ
 ET
 
 0.000 0.000 0.000 SCN
@@ -7181,7 +7207,7 @@ endobj
 /URI (https://git-wip-us.apache.org/repos/asf/isis/repo?p=isis.git;a=tree)
 >>
 /Subtype /Link
-/Rect [460.9283278459821 635.2400000000001 547.04 649.5200000000002]
+/Rect [462.0338278459821 635.2400000000001 547.04 649.5200000000002]
 /Type /Annot
 >>
 endobj
@@ -7192,7 +7218,7 @@ endobj
 /URI (../cgcom/cgcom.pdf#_cgcom_verifying-releases)
 >>
 /Subtype /Link
-/Rect [508.0473666666666 533.9000000000003 547.04 548.1800000000003]
+/Rect [508.1496785714285 515.9000000000003 547.04 530.1800000000003]
 /Type /Annot
 >>
 endobj
@@ -7203,7 +7229,7 @@ endobj
 /URI (../cgcom/cgcom.pdf#_cgcom_verifying-releases)
 >>
 /Subtype /Link
-/Rect [48.24000000000001 518.1200000000003 83.92950000000002 532.4000000000003]
+/Rect [48.24000000000001 500.1200000000003 83.92950000000002 514.4000000000003]
 /Type /Annot
 >>
 endobj
@@ -7214,7 +7240,7 @@ endobj
 /URI (../cgcom/cgcom.pdf#_cgcom_post-release)
 >>
 /Subtype /Link
-/Rect [340.4871 518.1200000000003 400.3581 532.4000000000003]
+/Rect [340.4871 500.1200000000003 400.3581 514.4000000000003]
 /Type /Annot
 >>
 endobj
@@ -7225,12 +7251,12 @@ endobj
 /URI (../cgcom/cgcom.pdf#_cgcom_release-process-prereqs)
 >>
 /Subtype /Link
-/Rect [480.90049999999997 474.5600000000003 547.04 488.84000000000026]
+/Rect [480.90049999999997 456.5600000000003 547.04 470.84000000000026]
 /Type /Annot
 >>
 endobj
 75 0 obj
-[65 0 R /XYZ 0 386.6900000000002 null]
+[65 0 R /XYZ 0 368.6900000000002 null]
 endobj
 76 0 obj
 << /Border [0 0 0]
@@ -7239,7 +7265,7 @@ endobj
 /URI (../../support.pdf)
 >>
 /Subtype /Link
-/Rect [325.591 331.5800000000002 402.7038888888889 345.8600000000002]
+/Rect [325.591 313.5800000000002 402.7038888888889 327.8600000000002]
 /Type /Annot
 >>
 endobj
@@ -7250,15 +7276,15 @@ endobj
 /URI (../cgcom/cgcom.pdf#_cgcom_versioning-policy)
 >>
 /Subtype /Link
-/Rect [179.931 256.4600000000002 314.03700000000003 270.74000000000024]
+/Rect [179.931 238.4600000000002 314.03700000000003 252.7400000000002]
 /Type /Annot
 >>
 endobj
 78 0 obj
-[65 0 R /XYZ 0 200.1500000000002 null]
+[65 0 R /XYZ 0 182.1500000000002 null]
 endobj
 79 0 obj
-<< /Length 16108
+<< /Length 16111
 >>
 stream
 q
@@ -7461,12 +7487,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.652 Tw
+1.944 Tw
 
 BT
 64.809 596.746 Td
 /F1.0 10.5 Tf
-[<73657420746f20616e2022756d6272656c6c61> 40.0390625 <22207469636b> 20.01953125 <657420666f7220616c6c2072656c6561736520616374697669746965732e2020284f6e652073686f756c6420657869737420616c7265616479> 89.84375 <2c20>] TJ
+[<73657420746f20616e2022756d6272656c6c61> 40.0390625 <22207469636b> 20.01953125 <657420666f7220616c6c2072656c6561736520616374697669746965732e20284f6e652073686f756c6420657869737420616c7265616479> 89.84375 <2c20>] TJ
 ET
 
 
@@ -7476,10 +7502,10 @@ ET
 0.259 0.545 0.792 scn
 0.259 0.545 0.792 SCN
 
-1.652 Tw
+1.944 Tw
 
 BT
-475.349065673828 596.746 Td
+474.7661700520832 596.746 Td
 /F1.0 10.5 Tf
 <63726561746564206174> Tj
 ET
@@ -7491,10 +7517,10 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.652 Tw
+1.944 Tw
 
 BT
-526.697782836914 596.746 Td
+526.4063350260416 596.746 Td
 /F1.0 10.5 Tf
 <20746865> Tj
 ET
@@ -7837,12 +7863,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.348 Tw
+0.119 Tw
 
 BT
 125.80666666666666 408.72600000000017 Td
 /F1.0 10.5 Tf
-[<534e415053484f> 20.01953125 <5420746f2074686520736e617073686f74207265706f7369746f7279> 89.84375 <2e2020576861742069742073686f756c64206f6620636f7572736520646f20697320636865636b> 20.01953125 <6f7574>] TJ
+[<534e415053484f> 20.01953125 <5420746f2074686520736e617073686f74207265706f7369746f7279> 89.84375 <2e20576861742069742073686f756c64206f6620636f7572736520646f20697320636865636b> 20.01953125 <6f757420746865>] TJ
 ET
 
 
@@ -7855,7 +7881,7 @@ ET
 BT
 125.80666666666666 392.94600000000014 Td
 /F1.0 10.5 Tf
-[<7468652074616720616e64207468656e2075706c6f6164207468617420746f207468652072656c656173652073746167696e67207265706f7369746f7279> 89.84375 <2e>] TJ
+[<74616720616e64207468656e2075706c6f6164207468617420746f207468652072656c656173652073746167696e67207265706f7369746f7279> 89.84375 <2e>] TJ
 ET
 
 0.000 0.000 0.000 SCN
@@ -7874,12 +7900,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.498 Tw
+0.651 Tw
 
 BT
 48.239999999999995 321.0860000000001 Td
 /F1.0 10.5 Tf
-<536574207468652048454144206f6620796f7572206c6f63616c20676974207265706f20746f2074686520636f6d6d697420746f2062652072656c65617365642e2020546869732077696c6c20757375616c6c792062652074686520746970206f6620746865> Tj
+<536574207468652048454144206f6620796f7572206c6f63616c20676974207265706f20746f2074686520636f6d6d697420746f2062652072656c65617365642e20546869732077696c6c20757375616c6c792062652074686520746970206f6620746865> Tj
 ET
 
 
@@ -7914,7 +7940,7 @@ ET
 BT
 119.9445 305.30600000000015 Td
 /F1.0 10.5 Tf
-[<206272> 20.01953125 <616e63682e20205468656e2c2063726561746520612072656c65617365206272> 20.01953125 <616e636820666f72207468652076657273696f6e206e756d626572206265696e672072656c65617365643b2065673a>] TJ
+[<206272> 20.01953125 <616e63682e205468656e2c2063726561746520612072656c65617365206272> 20.01953125 <616e636820666f72207468652076657273696f6e206e756d626572206265696e672072656c65617365643b2065673a>] TJ
 ET
 
 0.000 0.000 0.000 SCN
@@ -8023,7 +8049,7 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.944 Tw
+2.255 Tw
 
 BT
 48.239999999999995 139.96600000000012 Td
@@ -8038,10 +8064,10 @@ ET
 0.694 0.129 0.275 scn
 0.694 0.129 0.275 SCN
 
-1.944 Tw
+2.255 Tw
 
 BT
-155.00256249999998 139.96600000000012 Td
+156.55716666666666 139.96600000000012 Td
 /F4.0 10.5 Tf
 <2d534e415053484f54> Tj
 ET
@@ -8053,12 +8079,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.944 Tw
+2.255 Tw
 
 BT
-202.2525625 139.96600000000012 Td
+203.80716666666666 139.96600000000012 Td
 /F1.0 10.5 Tf
-<20737566666978292e20206869732077696c6c206e6f726d616c6c792068617665206265656e20646f6e6520616c726561647920647572696e67206561726c696572> Tj
+<20737566666978292e206869732077696c6c206e6f726d616c6c792068617665206265656e20646f6e6520616c726561647920647572696e67206561726c696572> Tj
 ET
 
 
@@ -8127,7 +8153,7 @@ ET
 BT
 48.239999999999995 80.62600000000012 Td
 /F1.0 10.5 Tf
-[<6e616d65207468617420796f7520617265206e6f77206f6e2e202046> 40.0390625 <6f72206578616d706c652c2069662072656c656173696e672076657273696f6e20>] TJ
+[<6e616d65207468617420796f7520617265206e6f77206f6e2e2046> 40.0390625 <6f72206578616d706c652c2069662072656c656173696e672076657273696f6e20>] TJ
 ET
 
 0.000 0.000 0.000 SCN
@@ -8136,7 +8162,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-354.28308984375 80.62600000000012 Td
+351.56358984375004 80.62600000000012 Td
 /F4.0 10.5 Tf
 <312e31352e30> Tj
 ET
@@ -8147,7 +8173,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-385.78308984375 80.62600000000012 Td
+383.06358984375004 80.62600000000012 Td
 /F1.0 10.5 Tf
 <2c2074686520504f4d2073686f756c6420726561643a> Tj
 ET
@@ -8214,7 +8240,7 @@ endobj
 /URI (../cgcom/cgcom.pdf#__cgcom_post-release-successful_update-jira_create-new-jira)
 >>
 /Subtype /Link
-/Rect [475.349065673828 593.68 526.697782836914 607.96]
+/Rect [474.7661700520832 593.68 526.4063350260416 607.96]
 /Type /Annot
 >>
 endobj
@@ -8233,7 +8259,7 @@ endobj
 [80 0 R /XYZ 0 373.13000000000017 null]
 endobj
 85 0 obj
-<< /Length 14808
+<< /Length 14802
 >>
 stream
 q
@@ -8586,7 +8612,7 @@ ET
 BT
 153.282 519.7660000000001 Td
 /F1.0 10.5 Tf
-[<2e202053> 9.765625 <776974636820746f2074686520617070726f707269617465206469726563746f72793a>] TJ
+[<2e2053> 9.765625 <776974636820746f2074686520617070726f707269617465206469726563746f72793a>] TJ
 ET
 
 0.000 0.000 0.000 SCN
@@ -8987,12 +9013,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.110 Tw
+0.487 Tw
 
 BT
 48.24000000000001 59.04600000000002 Td
 /F1.0 10.5 Tf
-<6669727374206f6e652e20202054686520636f6d6d616e6420777269746573206f7574206120> Tj
+<6669727374206f6e652e2054686520636f6d6d616e6420777269746573206f7574206120> Tj
 ET
 
 
@@ -9002,10 +9028,10 @@ ET
 0.694 0.129 0.275 scn
 0.694 0.129 0.275 SCN
 
-0.110 Tw
+0.487 Tw
 
 BT
-237.9341470588235 59.04600000000002 Td
+234.9162333333333 59.04600000000002 Td
 /F4.0 10.5 Tf
 <7461726765745c7261742e747874> Tj
 ET
@@ -9017,10 +9043,10 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.110 Tw
+0.487 Tw
 
 BT
-311.4341470588235 59.04600000000002 Td
+308.4162333333333 59.04600000000002 Td
 /F1.0 10.5 Tf
 <20666f722065616368207375626d6f64756c652e20206d697373696e67206c6963656e7365206e6f74657320617265> Tj
 ET
@@ -9091,7 +9117,7 @@ endobj
 >>
 endobj
 91 0 obj
-<< /Length 18068
+<< /Length 18063
 >>
 stream
 q
@@ -9125,7 +9151,7 @@ ET
 BT
 187.438294921875 794.6759999999999 Td
 /F1.0 10.5 Tf
-<2e202054686520> Tj
+<2e2054686520> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -9134,7 +9160,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-216.92229492187502 794.6759999999999 Td
+214.202794921875 794.6759999999999 Td
 /F4.0 10.5 Tf
 <666f72> Tj
 ET
@@ -9145,7 +9171,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-232.67229492187502 794.6759999999999 Td
+229.952794921875 794.6759999999999 Td
 /F1.0 10.5 Tf
 <20636f6d6d616e6420636f6c6c6174657320616c6c20746865206572726f72732e> Tj
 ET
@@ -9502,7 +9528,7 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.470 Tw
+0.638 Tw
 
 BT
 48.24000000000001 543.9160000000002 Td
@@ -9517,10 +9543,10 @@ ET
 0.694 0.129 0.275 scn
 0.694 0.129 0.275 SCN
 
-0.470 Tw
+0.638 Tw
 
 BT
-81.950041015625 543.9160000000002 Td
+82.28575370065789 543.9160000000002 Td
 /F4.0 10.5 Tf
 <2d78> Tj
 ET
@@ -9532,12 +9558,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.470 Tw
+0.638 Tw
 
 BT
-92.450041015625 543.9160000000002 Td
+92.78575370065789 543.9160000000002 Td
 /F1.0 10.5 Tf
-[<206973206f6d6974746564207468656e20746865207363726970742069732072756e20696e20226472792072756e> 40.0390625 <22206d6f6465292e20204f6e636520796f75d5766520666978656420616c6c206973737565732c20636f6e6669726d>] TJ
+[<206973206f6d6974746564207468656e20746865207363726970742069732072756e20696e20226472792072756e> 40.0390625 <22206d6f6465292e204f6e636520796f75d5766520666978656420616c6c206973737565732c20636f6e6669726d>] TJ
 ET
 
 
@@ -10011,12 +10037,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-2.401 Tw
+2.795 Tw
 
 BT
 48.24000000000001 130.53599999999994 Td
 /F1.0 10.5 Tf
-<6d6f64756c652e202054686520736372697074207468656e20736561726368657320666f7220746865736520> Tj
+<6d6f64756c652e2054686520736372697074207468656e20736561726368657320666f7220746865736520> Tj
 ET
 
 
@@ -10026,10 +10052,10 @@ ET
 0.694 0.129 0.275 scn
 0.694 0.129 0.275 SCN
 
-2.401 Tw
+2.795 Tw
 
 BT
-284.1180714285714 130.53599999999994 Td
+281.75461538461536 130.53599999999994 Td
 /F4.0 10.5 Tf
 <6c6963656e7365732e786d6c> Tj
 ET
@@ -10041,10 +10067,10 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-2.401 Tw
+2.795 Tw
 
 BT
-347.11807142857145 130.53599999999994 Td
+344.75461538461536 130.53599999999994 Td
 /F1.0 10.5 Tf
 <2066696c65732c20616e6420636f6d7061726573207468656d20616761696e737420746865> Tj
 ET
@@ -10150,7 +10176,7 @@ endobj
 >>
 endobj
 96 0 obj
-<< /Length 11831
+<< /Length 11826
 >>
 stream
 q
@@ -10347,12 +10373,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.273 Tw
+0.460 Tw
 
 BT
 48.24 471.1460000000002 Td
 /F1.0 10.5 Tf
-<506572666f726d206f6e65206c6173742073616e69747920636865636b206f6e2074686520636f6465626173652e202044656c65746520616c6c2049736973206172746966616374732066726f6d20796f7572206c6f63616c204d6176656e207265706f2c> Tj
+<506572666f726d206f6e65206c6173742073616e69747920636865636b206f6e2074686520636f6465626173652e2044656c65746520616c6c2049736973206172746966616374732066726f6d20796f7572206c6f63616c204d6176656e207265706f2c> Tj
 ET
 
 
@@ -10455,7 +10481,7 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.544 Tw
+0.726 Tw
 
 BT
 48.24 330.82600000000014 Td
@@ -10470,10 +10496,10 @@ ET
 0.694 0.129 0.275 scn
 0.694 0.129 0.275 SCN
 
-0.544 Tw
+0.726 Tw
 
 BT
-226.86227055921051 330.82600000000014 Td
+228.31281336805554 330.82600000000014 Td
 /F4.0 10.5 Tf
 <6d766e2072656c656173653a70726570617265> Tj
 ET
@@ -10485,12 +10511,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.544 Tw
+0.726 Tw
 
 BT
-327.15649187911185 330.82600000000014 Td
+328.7883525390625 330.82600000000014 Td
 /F1.0 10.5 Tf
-[<20676f616c2e202053696e63652074686973206d616b> 20.01953125 <65732061206c6f74206f66206368616e6765732c207765>] TJ
+[<20676f616c2e2053696e63652074686973206d616b> 20.01953125 <65732061206c6f74206f66206368616e6765732c207765>] TJ
 ET
 
 
@@ -11624,7 +11650,7 @@ endobj
 [105 0 R /XYZ 0 557.7700000000001 null]
 endobj
 108 0 obj
-<< /Length 13008
+<< /Length 13004
 >>
 stream
 q
@@ -11831,7 +11857,7 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-2.096 Tw
+2.497 Tw
 
 BT
 48.24 539.7260000000001 Td
@@ -11846,10 +11872,10 @@ ET
 0.694 0.129 0.275 scn
 0.694 0.129 0.275 SCN
 
-2.096 Tw
+2.497 Tw
 
 BT
-112.79603846153844 539.7260000000001 Td
+113.59858333333332 539.7260000000001 Td
 /F4.0 10.5 Tf
 <776f726b696e674469726563746f7279> Tj
 ET
@@ -11861,12 +11887,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-2.096 Tw
+2.497 Tw
 
 BT
-196.79603846153844 539.7260000000001 Td
+197.59858333333335 539.7260000000001 Td
 /F1.0 10.5 Tf
-<2070726576656e74732066696c652070617468206973737565732069662072656c656173696e67206f6e2057696e646f77732e202054686520636f6d6d616e64> Tj
+<2070726576656e74732066696c652070617468206973737565732069662072656c656173696e67206f6e2057696e646f77732e2054686520636f6d6d616e64> Tj
 ET
 
 
@@ -12204,12 +12230,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-2.281 Tw
+2.638 Tw
 
 BT
 48.24 77.88599999999991 Td
 /F1.0 10.5 Tf
-[<59> 69.82421875 <6f75206d61> 20.01953125 <792028616761696e292062652070726f6d7074656420666f72206770672070617373706872> 20.01953125 <6173652e2020416c6c206265696e672077656c6c207468697320636f6d6d616e642077696c6c20636f6d706c657465>] TJ
+[<59> 69.82421875 <6f75206d61> 20.01953125 <792028616761696e292062652070726f6d7074656420666f72206770672070617373706872> 20.01953125 <6173652e20416c6c206265696e672077656c6c207468697320636f6d6d616e642077696c6c20636f6d706c657465>] TJ
 ET
 
 
@@ -13995,7 +14021,7 @@ endobj
 >>
 endobj
 122 0 obj
-<< /Length 11772
+<< /Length 11770
 >>
 stream
 q
@@ -14513,7 +14539,7 @@ ET
 BT
 149.229 188.64600000000024 Td
 /F1.0 10.5 Tf
-<2c206372656174652061206e6577206170702066726f6d20746865206172636865747970652e202046697273742073657420757020656e7669726f6e6d656e74207661726961626c65733a> Tj
+<2c206372656174652061206e6577206170702066726f6d20746865206172636865747970652e2046697273742073657420757020656e7669726f6e6d656e74207661726961626c65733a> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -15958,7 +15984,7 @@ endobj
 [134 0 R /XYZ 0 668.71 null]
 endobj
 136 0 obj
-<< /Length 12219
+<< /Length 12217
 >>
 stream
 q
@@ -16511,7 +16537,7 @@ ET
 BT
 149.229 142.9460000000002 Td
 /F1.0 10.5 Tf
-<2c206372656174652061206e6577206170702066726f6d20746865206172636865747970652e202046697273742073657420757020656e7669726f6e6d656e74207661726961626c65733a> Tj
+<2c206372656174652061206e6577206170702066726f6d20746865206172636865747970652e2046697273742073657420757020656e7669726f6e6d656e74207661726961626c65733a> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -20054,7 +20080,7 @@ endobj
 >>
 endobj
 175 0 obj
-<< /Length 9080
+<< /Length 3592
 >>
 stream
 q
@@ -20209,39 +20235,93 @@ ET
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 q
+0.000 0.000 0.000 scn
+0.000 0.000 0.000 SCN
+1 w
+0 J
+0 j
+[ ] 0 d
+/Stamp1 Do
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.978 14.388 Td
+/F1.0 9 Tf
+<3237> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+176 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 595.28 841.89]
+/Contents 175 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F2.0 18 0 R
+/F1.0 8 0 R
+/F4.0 42 0 R
+>>
+/XObject << /Stamp1 655 0 R
+>>
+>>
+>>
+endobj
+177 0 obj
+[176 0 R /XYZ 0 841.89 null]
+endobj
+178 0 obj
+[176 0 R /XYZ 0 715.0500000000001 null]
+endobj
+179 0 obj
+<< /Length 9410
+>>
+stream
+q
+q
+/DeviceRGB cs
 0.961 0.961 0.961 scn
-52.240 496.650 m
-543.040 496.650 l
-545.249 496.650 547.040 494.859 547.040 492.650 c
-547.040 65.930 l
-547.040 63.721 545.249 61.930 543.040 61.930 c
-52.240 61.930 l
-50.031 61.930 48.240 63.721 48.240 65.930 c
-48.240 492.650 l
-48.240 494.859 50.031 496.650 52.240 496.650 c
+52.240 805.890 m
+543.040 805.890 l
+545.249 805.890 547.040 804.099 547.040 801.890 c
+547.040 316.210 l
+547.040 314.001 545.249 312.210 543.040 312.210 c
+52.240 312.210 l
+50.031 312.210 48.240 314.001 48.240 316.210 c
+48.240 801.890 l
+48.240 804.099 50.031 805.890 52.240 805.890 c
 h
 f
+/DeviceRGB CS
 0.800 0.800 0.800 SCN
 0.75 w
-52.240 496.650 m
-543.040 496.650 l
-545.249 496.650 547.040 494.859 547.040 492.650 c
-547.040 65.930 l
-547.040 63.721 545.249 61.930 543.040 61.930 c
-52.240 61.930 l
-50.031 61.930 48.240 63.721 48.240 65.930 c
-48.240 492.650 l
-48.240 494.859 50.031 496.650 52.240 496.650 c
+52.240 805.890 m
+543.040 805.890 l
+545.249 805.890 547.040 804.099 547.040 801.890 c
+547.040 316.210 l
+547.040 314.001 545.249 312.210 543.040 312.210 c
+52.240 312.210 l
+50.031 312.210 48.240 314.001 48.240 316.210 c
+48.240 801.890 l
+48.240 804.099 50.031 805.890 52.240 805.890 c
 h
 S
 Q
+/DeviceRGB cs
 0.200 0.200 0.200 scn
+/DeviceRGB CS
 0.200 0.200 0.200 SCN
 
 BT
-59.24 473.8250000000002 Td
+59.24 783.0649999999999 Td
 /F4.0 11 Tf
-<492776652063757420612072656c6561736520666f7220417061636865204973697320436f726520616e64207468652073696d706c65617070206172636865747970653a> Tj
+<492776652063757420612072656c6561736520666f7220417061636865204973697320436f726520616e64207468652074776f20617263686574797065733a> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -20250,7 +20330,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 444.3450000000002 Td
+59.24 753.585 Td
 /F4.0 11 Tf
 <2a20436f726520312e31352e30> Tj
 ET
@@ -20261,7 +20341,18 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 429.6050000000002 Td
+59.24 738.845 Td
+/F4.0 11 Tf
+<2a2048656c6c6f576f726c642041726368657479706520312e31352e30> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+59.24 724.105 Td
 /F4.0 11 Tf
 <2a2053696d706c654170702041726368657479706520312e31352e30> Tj
 ET
@@ -20272,7 +20363,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 400.1250000000002 Td
+59.24 694.625 Td
 /F4.0 11 Tf
 <54686520736f7572636520636f6465206172746966616374732068617665206265656e2075706c6f6164656420746f2073746167696e67207265706f7369746f72696573206f6e> Tj
 ET
@@ -20283,7 +20374,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 385.3850000000002 Td
+59.24 679.885 Td
 /F4.0 11 Tf
 <7265706f7369746f72792e6170616368652e6f72673a> Tj
 ET
@@ -20294,7 +20385,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 355.9050000000002 Td
+59.24 650.405 Td
 /F4.0 11 Tf
 <2a20687474703a2f2f7265706f7369746f72792e6170616368652e6f72672f636f6e74656e742f7265706f7369746f726965732f6f7267617061636865697369732d> Tj
 ET
@@ -20305,7 +20396,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 341.1650000000002 Td
+59.24 635.665 Td
 /F4.0 11 Tf
 <313078782f6f72672f6170616368652f697369732f636f72652f697369732f312e31352e302f697369732d312e31352e302d736f757263652d72656c656173652e7a6970> Tj
 ET
@@ -20316,7 +20407,40 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 326.4250000000002 Td
+59.24 620.925 Td
+/F4.0 11 Tf
+<2a20687474703a2f2f7265706f7369746f72792e6170616368652e6f72672f636f6e74656e742f7265706f7369746f726965732f6f7267617061636865697369732d> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+59.24 606.185 Td
+/F4.0 11 Tf
+<313078782f6f72672f6170616368652f697369732f6172636865747970652f68656c6c6f776f726c642d6172636865747970652f312e31352e302f68656c6c6f776f726c642d6172636865747970652d> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+59.24 591.4449999999999 Td
+/F4.0 11 Tf
+<312e31352e302d736f757263652d72656c656173652e7a6970> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+59.24 576.7049999999999 Td
 /F4.0 11 Tf
 <2a20687474703a2f2f7265706f7369746f72792e6170616368652e6f72672f636f6e74656e742f7265706f7369746f726965732f6f7267617061636865697369732d> Tj
 ET
@@ -20327,7 +20451,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 311.6850000000002 Td
+59.24 561.9649999999999 Td
 /F4.0 11 Tf
 <313078782f6f72672f6170616368652f697369732f6172636865747970652f73696d706c656170702d6172636865747970652f312e31352e302f73696d706c656170702d6172636865747970652d312e31352e302d> Tj
 ET
@@ -20338,7 +20462,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 296.94500000000016 Td
+59.24 547.2249999999999 Td
 /F4.0 11 Tf
 <736f757263652d72656c656173652e7a6970> Tj
 ET
@@ -20349,7 +20473,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 267.46500000000015 Td
+59.24 517.7449999999999 Td
 /F4.0 11 Tf
 <466f722065616368207a6970207468657265206973206120636f72726573706f6e64696e67207369676e61747572652066696c652028617070656e64202e61736320746f20746865207a697027732075726c292e> Tj
 ET
@@ -20360,7 +20484,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 237.98500000000016 Td
+59.24 488.26499999999993 Td
 /F4.0 11 Tf
 <496e2074686520736f7572636520636f6465207265706f2074686520636f646520686173206265656e2074616767656420617320697369732d312e31352e302d52433120616e642073696d706c656170702d> Tj
 ET
@@ -20371,7 +20495,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 223.24500000000018 Td
+59.24 473.5249999999999 Td
 /F4.0 11 Tf
 <6172636865747970652d312e31352e302d5243313b207365652068747470733a2f2f6769742d7769702d75732e6170616368652e6f72672f7265706f732f6173663f703d697369732e676974> Tj
 ET
@@ -20382,7 +20506,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 193.76500000000016 Td
+59.24 444.0449999999999 Td
 /F4.0 11 Tf
 <466f7220696e737472756374696f6e73206f6e20686f7720746f20766572696679207468652072656c6561736520286275696c642066726f6d2062696e617269657320616e642f6f722075736520696e204d6176656e> Tj
 ET
@@ -20393,7 +20517,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 179.02500000000015 Td
+59.24 429.3049999999999 Td
 /F4.0 11 Tf
 <6469726563746c79292c2073656520687474703a2f2f697369732e6170616368652e6f72672f6775696465732f6367636f6d2e68746d6c235f6367636f6d5f766572696679696e672d72656c6561736573> Tj
 ET
@@ -20404,7 +20528,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 149.54500000000013 Td
+59.24 399.8249999999999 Td
 /F4.0 11 Tf
 <506c6561736520766572696679207468652072656c6561736520616e64206361737420796f757220766f74652e202054686520766f74652077696c6c206265206f70656e20666f722061206d696e696d756d206f66> Tj
 ET
@@ -20415,7 +20539,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 134.80500000000012 Td
+59.24 385.08499999999987 Td
 /F4.0 11 Tf
 <373220686f7572732e> Tj
 ET
@@ -20426,7 +20550,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 105.3250000000001 Td
+59.24 355.60499999999985 Td
 /F4.0 11 Tf
 <5b205d202b31> Tj
 ET
@@ -20437,7 +20561,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 90.5850000000001 Td
+59.24 340.86499999999984 Td
 /F4.0 11 Tf
 <5b205d202030> Tj
 ET
@@ -20448,70 +20572,18 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-59.24 75.84500000000008 Td
+59.24 326.12499999999983 Td
 /F4.0 11 Tf
 <5b205d202d31> Tj
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-q
-0.000 0.000 0.000 scn
-0.000 0.000 0.000 SCN
-1 w
-0 J
-0 j
-[ ] 0 d
-/Stamp1 Do
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
 BT
-535.978 14.388 Td
-/F1.0 9 Tf
-<3237> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-176 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 595.28 841.89]
-/Contents 175 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F2.0 18 0 R
-/F1.0 8 0 R
-/F4.0 42 0 R
->>
-/XObject << /Stamp1 655 0 R
->>
->>
->>
-endobj
-177 0 obj
-[176 0 R /XYZ 0 841.89 null]
-endobj
-178 0 obj
-[176 0 R /XYZ 0 715.0500000000001 null]
-endobj
-179 0 obj
-<< /Length 2873
->>
-stream
-q
-/DeviceRGB cs
-0.200 0.200 0.200 scn
-/DeviceRGB CS
-0.200 0.200 0.200 SCN
-
-BT
-48.24 794.6759999999999 Td
+48.24 288.2459999999998 Td
 /F1.0 10.5 Tf
 <52656d656d62657220746f207570646174653a> Tj
 ET
@@ -20524,7 +20596,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-56.88050000000001 766.896 Td
+56.88050000000001 260.46599999999984 Td
 /F1.0 10.5 Tf
 <a5> Tj
 ET
@@ -20537,7 +20609,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-66.24000000000001 766.896 Td
+66.24000000000001 260.46599999999984 Td
 /F1.0 10.5 Tf
 <7468652076657273696f6e206e756d6265722028312e31352e30206f7220776861746576657229> Tj
 ET
@@ -20550,7 +20622,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-56.88050000000001 745.116 Td
+56.88050000000001 238.68599999999986 Td
 /F1.0 10.5 Tf
 <a5> Tj
 ET
@@ -20563,7 +20635,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-66.24000000000001 745.116 Td
+66.24000000000001 238.68599999999986 Td
 /F1.0 10.5 Tf
 <7468652072656c656173652063616e646964617465206e756d6265722028> Tj
 ET
@@ -20574,7 +20646,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-222.0285 745.116 Td
+222.0285 238.68599999999986 Td
 /F4.0 10.5 Tf
 <524331> Tj
 ET
@@ -20585,7 +20657,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-237.7785 745.116 Td
+237.7785 238.68599999999986 Td
 /F1.0 10.5 Tf
 <206f7220776861746576657229> Tj
 ET
@@ -20598,7 +20670,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-56.88050000000001 723.336 Td
+56.88050000000001 216.90599999999986 Td
 /F1.0 10.5 Tf
 <a5> Tj
 ET
@@ -20611,7 +20683,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-66.24000000000001 723.336 Td
+66.24000000000001 216.90599999999986 Td
 /F1.0 10.5 Tf
 [<746865207265706f7369746f72792069642c2061732070726f76696465642062> 20.01953125 <79204e65787573206561726c6965722028>] TJ
 ET
@@ -20622,7 +20694,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-304.642294921875 723.336 Td
+304.642294921875 216.90599999999986 Td
 /F4.0 10.5 Tf
 <6f7267617061636865697369732d31307878> Tj
 ET
@@ -20633,7 +20705,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-399.142294921875 723.336 Td
+399.142294921875 216.90599999999986 Td
 /F1.0 10.5 Tf
 <206f7220776861746576657229> Tj
 ET
@@ -20644,7 +20716,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-48.24000000000001 695.556 Td
+48.24000000000001 189.12599999999986 Td
 /F1.0 10.5 Tf
 <4e6f746520746861742074686520656d61696c20616c736f207265666572656e636573207468652070726f63656475726520666f72206f7468657220636f6d6d69747465727320746f20> Tj
 ET
@@ -20655,7 +20727,7 @@ ET
 0.259 0.545 0.792 SCN
 
 BT
-417.6195 695.556 Td
+417.6195 189.12599999999986 Td
 /F1.0 10.5 Tf
 <766572696679207468652072656c65617365> Tj
 ET
@@ -20666,7 +20738,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-504.507 695.556 Td
+504.507 189.12599999999986 Td
 /F1.0 10.5 Tf
 <2e> Tj
 ET
@@ -20703,8 +20775,8 @@ endobj
 /MediaBox [0 0 595.28 841.89]
 /Contents 179 0 R
 /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F1.0 8 0 R
-/F4.0 42 0 R
+/Font << /F4.0 42 0 R
+/F1.0 8 0 R
 >>
 /XObject << /Stamp1 655 0 R
 >>
@@ -20719,12 +20791,12 @@ endobj
 /URI (../cgcom/cgcom.pdf#_cgcom_verifying-releases)
 >>
 /Subtype /Link
-/Rect [417.6195 692.49 504.507 706.7700000000001]
+/Rect [417.6195 186.05999999999986 504.507 200.33999999999986]
 /Type /Annot
 >>
 endobj
 182 0 obj
-<< /Length 13510
+<< /Length 13506
 >>
 stream
 q
@@ -21014,7 +21086,7 @@ ET
 0.259 0.545 0.792 scn
 0.259 0.545 0.792 SCN
 
-0.049 Tw
+0.203 Tw
 
 BT
 48.24000000000001 538.8860000000003 Td
@@ -21029,12 +21101,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.049 Tw
+0.203 Tw
 
 BT
-104.23306342516449 538.8860000000003 Td
+104.38687250434029 538.8860000000003 Td
 /F1.0 10.5 Tf
-[<2c2069742069732074686520726573706f6e736962696c697479206f66207468652070726f6a656374d57320504d4320746f206361737420746865697220766f7465206f6e207468652072656c656173652e2020416e> 20.01953125 <796f6e6520656c7365>] TJ
+[<2c2069742069732074686520726573706f6e736962696c697479206f66207468652070726f6a656374d57320504d4320746f206361737420746865697220766f7465206f6e207468652072656c656173652e20416e> 20.01953125 <796f6e6520656c7365>] TJ
 ET
 
 
@@ -21409,12 +21481,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-2.094 Tw
+2.415 Tw
 
 BT
 48.24000000000001 114.62600000000029 Td
 /F1.0 10.5 Tf
-<416c736f2c2077652077696c6c2062652072656275696c64696e6720497369732066726f6d20736f757263652e20205468657265666f72652064656c65746520616c6c2049736973206172746966616374732066726f6d20796f7572206c6f63616c> Tj
+<416c736f2c2077652077696c6c2062652072656275696c64696e6720497369732066726f6d20736f757263652e205468657265666f72652064656c65746520616c6c2049736973206172746966616374732066726f6d20796f7572206c6f63616c> Tj
 ET
 
 
@@ -21541,7 +21613,7 @@ endobj
 /URI (../../support.pdf)
 >>
 /Subtype /Link
-/Rect [48.24000000000001 535.8200000000004 104.23306342516449 550.1000000000004]
+/Rect [48.24000000000001 535.8200000000004 104.38687250434029 550.1000000000004]
 /Type /Annot
 >>
 endobj
@@ -21560,7 +21632,7 @@ endobj
 [183 0 R /XYZ 0 301.49000000000035 null]
 endobj
 194 0 obj
-<< /Length 11178
+<< /Length 11181
 >>
 stream
 q
@@ -21634,7 +21706,7 @@ ET
 BT
 253.74784570312502 705.106 Td
 /F1.0 10.5 Tf
-<6d616e75616c6c> Tj
+<6d616e75616c6c79> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -21643,7 +21715,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-295.401345703125 705.106 Td
+301.323345703125 705.106 Td
 /F1.0 10.5 Tf
 <2c206f7220757365206120736372697074207468617420> Tj
 ET
@@ -21654,7 +21726,7 @@ ET
 0.259 0.545 0.792 SCN
 
 BT
-396.537345703125 705.106 Td
+402.45934570312505 705.106 Td
 /F1.0 10.5 Tf
 <6175746f6d61746573> Tj
 ET
@@ -21665,7 +21737,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-448.71184570312505 705.106 Td
+454.6338457031251 705.106 Td
 /F1.0 10.5 Tf
 <207468652073746570732e> Tj
 ET
@@ -22154,7 +22226,7 @@ endobj
 /URI (../cgcom/cgcom.pdf#<em>cgcom_verifying-releases_manual-procedure)
 >>
 /Subtype /Link
-/Rect [253.74784570312502 702.04 295.401345703125 716.32]
+/Rect [253.74784570312502 702.04 301.323345703125 716.32]
 /Type /Annot
 >>
 endobj
@@ -22165,7 +22237,7 @@ endobj
 /URI (../cgcom/cgcom.pdf#</em>cgcom_verifying-releases_automated-procedure)
 >>
 /Subtype /Link
-/Rect [396.537345703125 702.04 448.71184570312505 716.32]
+/Rect [402.45934570312505 702.04 454.6338457031251 716.32]
 /Type /Annot
 >>
 endobj
@@ -57138,7 +57210,7 @@ endobj
 /Parent 669 0 R
 /Count 0
 /Next 671 0 R
-/Dest [65 0 R /XYZ 0 386.6900000000002 null]
+/Dest [65 0 R /XYZ 0 368.6900000000002 null]
 >>
 endobj
 671 0 obj
@@ -57147,7 +57219,7 @@ endobj
 /Count 0
 /Next 672 0 R
 /Prev 670 0 R
-/Dest [65 0 R /XYZ 0 200.1500000000002 null]
+/Dest [65 0 R /XYZ 0 182.1500000000002 null]
 >>
 endobj
 672 0 obj
@@ -58172,710 +58244,710 @@ xref
 0000123174 00000 n 
 0000140954 00000 n 
 0000141132 00000 n 
-0000154698 00000 n 
-0000155017 00000 n 
-0000155061 00000 n 
-0000155281 00000 n 
-0000155507 00000 n 
-0000155733 00000 n 
-0000155974 00000 n 
-0000156192 00000 n 
-0000156421 00000 n 
-0000156626 00000 n 
-0000156851 00000 n 
-0000156906 00000 n 
-0000157098 00000 n 
-0000157318 00000 n 
-0000157373 00000 n 
-0000173535 00000 n 
-0000173824 00000 n 
-0000173999 00000 n 
-0000174238 00000 n 
-0000174465 00000 n 
-0000174521 00000 n 
-0000189383 00000 n 
-0000189652 00000 n 
-0000189707 00000 n 
-0000189763 00000 n 
-0000189819 00000 n 
-0000190021 00000 n 
-0000208143 00000 n 
-0000208382 00000 n 
-0000208438 00000 n 
-0000209276 00000 n 
-0000210022 00000 n 
-0000221907 00000 n 
-0000222199 00000 n 
-0000222243 00000 n 
-0000222298 00000 n 
-0000222355 00000 n 
-0000222531 00000 n 
-0000222783 00000 n 
-0000223067 00000 n 
-0000235951 00000 n 
-0000236205 00000 n 
-0000236251 00000 n 
-0000236308 00000 n 
-0000249371 00000 n 
-0000249630 00000 n 
-0000249676 00000 n 
-0000249869 00000 n 
-0000265194 00000 n 
-0000265475 00000 n 
-0000265521 00000 n 
-0000265578 00000 n 
-0000265635 00000 n 
-0000265693 00000 n 
-0000265869 00000 n 
-0000279027 00000 n 
-0000279286 00000 n 
-0000279496 00000 n 
-0000291323 00000 n 
-0000291591 00000 n 
-0000291648 00000 n 
-0000292695 00000 n 
-0000292753 00000 n 
-0000292811 00000 n 
-0000303181 00000 n 
-0000303422 00000 n 
-0000303468 00000 n 
-0000303525 00000 n 
-0000303583 00000 n 
-0000315479 00000 n 
-0000315734 00000 n 
-0000315780 00000 n 
-0000328054 00000 n 
-0000328327 00000 n 
-0000328525 00000 n 
-0000328571 00000 n 
-0000328628 00000 n 
-0000328686 00000 n 
-0000338293 00000 n 
-0000338552 00000 n 
-0000338610 00000 n 
-0000339629 00000 n 
-0000339675 00000 n 
-0000339892 00000 n 
-0000412320 00000 n 
-0000413300 00000 n 
-0000413558 00000 n 
-0000413752 00000 n 
-0000513950 00000 n 
-0000516517 00000 n 
-0000516775 00000 n 
-0000516969 00000 n 
-0000620721 00000 n 
-0000621341 00000 n 
-0000621586 00000 n 
-0000621780 00000 n 
-0000724346 00000 n 
-0000725035 00000 n 
-0000725280 00000 n 
-0000725475 00000 n 
-0000842449 00000 n 
-0000843451 00000 n 
-0000843696 00000 n 
-0000843890 00000 n 
-0000925324 00000 n 
-0000931460 00000 n 
-0000931760 00000 n 
-0000931955 00000 n 
-0000932182 00000 n 
-0000932239 00000 n 
-0000932498 00000 n 
-0000941632 00000 n 
-0000941873 00000 n 
-0000941919 00000 n 
-0000941976 00000 n 
-0000944903 00000 n 
-0000945149 00000 n 
-0000945349 00000 n 
-0000958914 00000 n 
-0000959235 00000 n 
-0000959281 00000 n 
-0000959490 00000 n 
-0000959717 00000 n 
-0000959944 00000 n 
-0000960001 00000 n 
-0000960230 00000 n 
-0000960422 00000 n 
-0000960626 00000 n 
-0000960842 00000 n 
-0000960900 00000 n 
-0000972133 00000 n 
-0000972416 00000 n 
-0000972462 00000 n 
-0000972690 00000 n 
-0000972922 00000 n 
-0000972979 00000 n 
-0000973036 00000 n 
-0000973093 00000 n 
-0000973151 00000 n 
-0000973396 00000 n 
-0000973621 00000 n 
-0000990857 00000 n 
-0000991130 00000 n 
-0000991188 00000 n 
-0000991397 00000 n 
-0000991454 00000 n 
-0001001432 00000 n 
-0001001660 00000 n 
-0001016213 00000 n 
-0001016517 00000 n 
-0001016574 00000 n 
-0001016631 00000 n 
-0001017031 00000 n 
-0001017089 00000 n 
-0001017301 00000 n 
-0001017508 00000 n 
-0001017735 00000 n 
-0001017959 00000 n 
-0001018181 00000 n 
-0001028920 00000 n 
-0001029179 00000 n 
-0001029236 00000 n 
-0001029458 00000 n 
-0001031154 00000 n 
-0001031395 00000 n 
-0001031441 00000 n 
-0001043128 00000 n 
-0001043403 00000 n 
-0001043449 00000 n 
-0001043658 00000 n 
-0001043868 00000 n 
-0001044095 00000 n 
-0001044152 00000 n 
-0001044210 00000 n 
-0001051826 00000 n 
-0001052129 00000 n 
-0001052186 00000 n 
-0001052378 00000 n 
-0001119597 00000 n 
-0001119802 00000 n 
-0001119859 00000 n 
-0001120115 00000 n 
-0001120337 00000 n 
-0001120552 00000 n 
-0001130057 00000 n 
-0001130303 00000 n 
-0001130547 00000 n 
-0001140739 00000 n 
-0001140967 00000 n 
-0001151866 00000 n 
-0001152155 00000 n 
-0001152201 00000 n 
-0001152258 00000 n 
-0001152316 00000 n 
-0001152374 00000 n 
-0001152638 00000 n 
-0001152892 00000 n 
-0001152949 00000 n 
-0001153007 00000 n 
-0001153223 00000 n 
-0001153281 00000 n 
-0001153718 00000 n 
-0001165587 00000 n 
-0001165894 00000 n 
-0001166089 00000 n 
-0001166301 00000 n 
-0001166508 00000 n 
-0001166715 00000 n 
-0001166935 00000 n 
-0001167211 00000 n 
-0001167268 00000 n 
-0001167475 00000 n 
-0001179274 00000 n 
-0001179541 00000 n 
-0001179598 00000 n 
-0001179816 00000 n 
-0001180031 00000 n 
-0001180088 00000 n 
-0001180146 00000 n 
-0001194642 00000 n 
-0001194901 00000 n 
-0001194947 00000 n 
-0001195217 00000 n 
-0001195275 00000 n 
-0001195333 00000 n 
-0001208943 00000 n 
-0001209242 00000 n 
-0001209441 00000 n 
-0001209498 00000 n 
-0001209743 00000 n 
-0001209972 00000 n 
-0001210030 00000 n 
-0001210088 00000 n 
-0001210302 00000 n 
-0001210515 00000 n 
-0001210573 00000 n 
-0001210829 00000 n 
-0001210887 00000 n 
-0001224252 00000 n 
-0001224532 00000 n 
-0001224589 00000 n 
-0001224803 00000 n 
-0001225059 00000 n 
-0001240527 00000 n 
-0001240815 00000 n 
-0001241086 00000 n 
-0001241144 00000 n 
-0001242083 00000 n 
-0001242286 00000 n 
-0001242541 00000 n 
-0001258803 00000 n 
-0001259070 00000 n 
-0001259374 00000 n 
-0001259644 00000 n 
-0001269460 00000 n 
-0001269701 00000 n 
-0001269747 00000 n 
-0001280473 00000 n 
-0001280748 00000 n 
-0001280794 00000 n 
-0001281003 00000 n 
-0001281213 00000 n 
-0001281440 00000 n 
-0001281497 00000 n 
-0001281555 00000 n 
-0001287314 00000 n 
-0001287573 00000 n 
-0001287630 00000 n 
-0001287848 00000 n 
-0001287906 00000 n 
-0001303313 00000 n 
-0001303593 00000 n 
-0001303639 00000 n 
-0001303696 00000 n 
-0001303949 00000 n 
-0001304168 00000 n 
-0001304225 00000 n 
-0001304893 00000 n 
-0001309055 00000 n 
-0001309327 00000 n 
-0001309373 00000 n 
-0001309590 00000 n 
-0001322865 00000 n 
-0001323169 00000 n 
-0001323215 00000 n 
-0001323696 00000 n 
-0001323919 00000 n 
-0001324114 00000 n 
-0001324304 00000 n 
-0001324350 00000 n 
-0001324545 00000 n 
-0001324742 00000 n 
-0001324800 00000 n 
-0001324858 00000 n 
-0001333868 00000 n 
-0001334109 00000 n 
-0001334155 00000 n 
-0001349019 00000 n 
-0001349334 00000 n 
-0001349380 00000 n 
-0001349591 00000 n 
-0001349789 00000 n 
-0001349989 00000 n 
-0001350190 00000 n 
-0001350429 00000 n 
-0001350638 00000 n 
-0001350695 00000 n 
-0001350935 00000 n 
-0001351169 00000 n 
-0001351227 00000 n 
-0001364227 00000 n 
-0001364513 00000 n 
-0001364691 00000 n 
-0001364749 00000 n 
-0001375619 00000 n 
-0001375894 00000 n 
-0001375940 00000 n 
-0001376162 00000 n 
-0001376378 00000 n 
-0001376603 00000 n 
-0001376660 00000 n 
-0001376717 00000 n 
-0001387138 00000 n 
-0001387366 00000 n 
-0001399771 00000 n 
-0001399999 00000 n 
-0001409190 00000 n 
-0001409444 00000 n 
-0001409501 00000 n 
-0001417490 00000 n 
-0001417731 00000 n 
-0001427199 00000 n 
-0001427458 00000 n 
-0001427516 00000 n 
-0001427758 00000 n 
-0001437282 00000 n 
-0001437510 00000 n 
-0001450400 00000 n 
-0001450691 00000 n 
-0001450737 00000 n 
-0001450795 00000 n 
-0001451001 00000 n 
-0001451252 00000 n 
-0001451499 00000 n 
-0001451706 00000 n 
-0001451939 00000 n 
-0001461291 00000 n 
-0001461558 00000 n 
-0001461604 00000 n 
-0001461661 00000 n 
-0001461871 00000 n 
-0001461928 00000 n 
-0001462161 00000 n 
-0001484655 00000 n 
-0001484883 00000 n 
-0001497455 00000 n 
-0001497730 00000 n 
-0001497787 00000 n 
-0001498240 00000 n 
-0001498451 00000 n 
-0001498509 00000 n 
-0001498567 00000 n 
-0001498808 00000 n 
-0001499031 00000 n 
-0001511708 00000 n 
-0001511949 00000 n 
-0001511995 00000 n 
-0001530926 00000 n 
-0001531238 00000 n 
-0001531284 00000 n 
-0001531482 00000 n 
-0001531539 00000 n 
-0001531791 00000 n 
-0001531848 00000 n 
-0001532065 00000 n 
-0001532270 00000 n 
-0001532478 00000 n 
-0001532535 00000 n 
-0001532749 00000 n 
-0001543210 00000 n 
-0001543477 00000 n 
-0001543718 00000 n 
-0001543934 00000 n 
-0001556692 00000 n 
-0001556983 00000 n 
-0001557029 00000 n 
-0001557086 00000 n 
-0001557143 00000 n 
-0001557328 00000 n 
-0001557385 00000 n 
-0001557648 00000 n 
-0001557705 00000 n 
-0001557907 00000 n 
-0001558129 00000 n 
-0001558346 00000 n 
-0001570274 00000 n 
-0001570533 00000 n 
-0001570739 00000 n 
-0001570785 00000 n 
-0001574662 00000 n 
-0001574929 00000 n 
-0001574975 00000 n 
-0001575190 00000 n 
-0001575395 00000 n 
-0001585649 00000 n 
-0001585958 00000 n 
-0001586004 00000 n 
-0001586193 00000 n 
-0001586250 00000 n 
-0001586737 00000 n 
-0001586976 00000 n 
-0001587227 00000 n 
-0001587285 00000 n 
-0001587503 00000 n 
-0001587560 00000 n 
-0001594992 00000 n 
-0001595246 00000 n 
-0001595292 00000 n 
-0001606253 00000 n 
-0001606525 00000 n 
-0001606571 00000 n 
-0001606817 00000 n 
-0001606863 00000 n 
-0001606921 00000 n 
-0001619066 00000 n 
-0001619351 00000 n 
-0001619552 00000 n 
-0001619609 00000 n 
-0001631489 00000 n 
-0001631774 00000 n 
-0001631820 00000 n 
-0001631877 00000 n 
-0001632075 00000 n 
-0001632133 00000 n 
-0001634545 00000 n 
-0001634773 00000 n 
-0001634893 00000 n 
-0001635014 00000 n 
-0001635139 00000 n 
-0001635265 00000 n 
-0001635411 00000 n 
-0001635559 00000 n 
-0001635692 00000 n 
-0001635827 00000 n 
-0001635961 00000 n 
-0001636097 00000 n 
-0001636250 00000 n 
-0001636404 00000 n 
-0001636555 00000 n 
-0001636708 00000 n 
-0001636856 00000 n 
-0001637005 00000 n 
-0001637156 00000 n 
-0001637298 00000 n 
-0001637459 00000 n 
-0001637613 00000 n 
-0001637771 00000 n 
-0001637931 00000 n 
-0001638108 00000 n 
-0001638286 00000 n 
-0001638471 00000 n 
-0001638658 00000 n 
-0001638844 00000 n 
-0001639032 00000 n 
-0001639206 00000 n 
-0001639382 00000 n 
-0001639566 00000 n 
-0001639761 00000 n 
-0001639957 00000 n 
-0001640153 00000 n 
-0001640337 00000 n 
-0001640523 00000 n 
-0001640699 00000 n 
-0001640877 00000 n 
-0001641046 00000 n 
-0001641217 00000 n 
-0001641370 00000 n 
-0001641525 00000 n 
-0001641676 00000 n 
-0001641837 00000 n 
-0001642009 00000 n 
-0001642181 00000 n 
-0001642360 00000 n 
-0001642541 00000 n 
-0001642704 00000 n 
-0001642869 00000 n 
-0001643026 00000 n 
-0001643185 00000 n 
-0001643360 00000 n 
-0001643535 00000 n 
-0001643685 00000 n 
-0001643845 00000 n 
-0001643992 00000 n 
-0001644150 00000 n 
-0001644321 00000 n 
-0001644492 00000 n 
-0001644645 00000 n 
-0001644808 00000 n 
-0001644953 00000 n 
-0001645109 00000 n 
-0001645258 00000 n 
-0001645417 00000 n 
-0001645574 00000 n 
-0001645741 00000 n 
-0001645887 00000 n 
-0001646043 00000 n 
-0001646213 00000 n 
-0001646383 00000 n 
-0001646537 00000 n 
-0001646701 00000 n 
-0001646850 00000 n 
-0001647010 00000 n 
-0001647146 00000 n 
-0001647292 00000 n 
-0001647481 00000 n 
-0001647670 00000 n 
+0000155109 00000 n 
+0000155428 00000 n 
+0000155472 00000 n 
+0000155692 00000 n 
+0000155918 00000 n 
+0000156144 00000 n 
+0000156385 00000 n 
+0000156603 00000 n 
+0000156832 00000 n 
+0000157037 00000 n 
+0000157262 00000 n 
+0000157317 00000 n 
+0000157509 00000 n 
+0000157728 00000 n 
+0000157783 00000 n 
+0000173948 00000 n 
+0000174237 00000 n 
+0000174412 00000 n 
+0000174653 00000 n 
+0000174880 00000 n 
+0000174936 00000 n 
+0000189792 00000 n 
+0000190061 00000 n 
+0000190116 00000 n 
+0000190172 00000 n 
+0000190228 00000 n 
+0000190430 00000 n 
+0000208547 00000 n 
+0000208786 00000 n 
+0000208842 00000 n 
+0000209680 00000 n 
+0000210426 00000 n 
+0000222306 00000 n 
+0000222598 00000 n 
+0000222642 00000 n 
+0000222697 00000 n 
+0000222754 00000 n 
+0000222930 00000 n 
+0000223182 00000 n 
+0000223466 00000 n 
+0000236350 00000 n 
+0000236604 00000 n 
+0000236650 00000 n 
+0000236707 00000 n 
+0000249766 00000 n 
+0000250025 00000 n 
+0000250071 00000 n 
+0000250264 00000 n 
+0000265589 00000 n 
+0000265870 00000 n 
+0000265916 00000 n 
+0000265973 00000 n 
+0000266030 00000 n 
+0000266088 00000 n 
+0000266264 00000 n 
+0000279422 00000 n 
+0000279681 00000 n 
+0000279891 00000 n 
+0000291716 00000 n 
+0000291984 00000 n 
+0000292041 00000 n 
+0000293088 00000 n 
+0000293146 00000 n 
+0000293204 00000 n 
+0000303574 00000 n 
+0000303815 00000 n 
+0000303861 00000 n 
+0000303918 00000 n 
+0000303976 00000 n 
+0000315872 00000 n 
+0000316127 00000 n 
+0000316173 00000 n 
+0000328445 00000 n 
+0000328718 00000 n 
+0000328916 00000 n 
+0000328962 00000 n 
+0000329019 00000 n 
+0000329077 00000 n 
+0000338684 00000 n 
+0000338943 00000 n 
+0000339001 00000 n 
+0000340020 00000 n 
+0000340066 00000 n 
+0000340283 00000 n 
+0000412711 00000 n 
+0000413691 00000 n 
+0000413949 00000 n 
+0000414143 00000 n 
+0000514341 00000 n 
+0000516908 00000 n 
+0000517166 00000 n 
+0000517360 00000 n 
+0000621112 00000 n 
+0000621732 00000 n 
+0000621977 00000 n 
+0000622171 00000 n 
+0000724737 00000 n 
+0000725426 00000 n 
+0000725671 00000 n 
+0000725866 00000 n 
+0000842840 00000 n 
+0000843842 00000 n 
+0000844087 00000 n 
+0000844281 00000 n 
+0000925715 00000 n 
+0000931851 00000 n 
+0000932151 00000 n 
+0000932346 00000 n 
+0000932573 00000 n 
+0000932630 00000 n 
+0000932889 00000 n 
+0000936535 00000 n 
+0000936776 00000 n 
+0000936822 00000 n 
+0000936879 00000 n 
+0000946343 00000 n 
+0000946589 00000 n 
+0000946802 00000 n 
+0000960363 00000 n 
+0000960684 00000 n 
+0000960730 00000 n 
+0000960939 00000 n 
+0000961166 00000 n 
+0000961393 00000 n 
+0000961450 00000 n 
+0000961679 00000 n 
+0000961871 00000 n 
+0000962075 00000 n 
+0000962291 00000 n 
+0000962349 00000 n 
+0000973585 00000 n 
+0000973868 00000 n 
+0000973914 00000 n 
+0000974142 00000 n 
+0000974375 00000 n 
+0000974432 00000 n 
+0000974489 00000 n 
+0000974546 00000 n 
+0000974604 00000 n 
+0000974849 00000 n 
+0000975074 00000 n 
+0000992310 00000 n 
+0000992583 00000 n 
+0000992641 00000 n 
+0000992850 00000 n 
+0000992907 00000 n 
+0001002885 00000 n 
+0001003113 00000 n 
+0001017666 00000 n 
+0001017970 00000 n 
+0001018027 00000 n 
+0001018084 00000 n 
+0001018484 00000 n 
+0001018542 00000 n 
+0001018754 00000 n 
+0001018961 00000 n 
+0001019188 00000 n 
+0001019412 00000 n 
+0001019634 00000 n 
+0001030373 00000 n 
+0001030632 00000 n 
+0001030689 00000 n 
+0001030911 00000 n 
+0001032607 00000 n 
+0001032848 00000 n 
+0001032894 00000 n 
+0001044581 00000 n 
+0001044856 00000 n 
+0001044902 00000 n 
+0001045111 00000 n 
+0001045321 00000 n 
+0001045548 00000 n 
+0001045605 00000 n 
+0001045663 00000 n 
+0001053279 00000 n 
+0001053582 00000 n 
+0001053639 00000 n 
+0001053831 00000 n 
+0001121050 00000 n 
+0001121255 00000 n 
+0001121312 00000 n 
+0001121568 00000 n 
+0001121790 00000 n 
+0001122005 00000 n 
+0001131510 00000 n 
+0001131756 00000 n 
+0001132000 00000 n 
+0001142192 00000 n 
+0001142420 00000 n 
+0001153319 00000 n 
+0001153608 00000 n 
+0001153654 00000 n 
+0001153711 00000 n 
+0001153769 00000 n 
+0001153827 00000 n 
+0001154091 00000 n 
+0001154345 00000 n 
+0001154402 00000 n 
+0001154460 00000 n 
+0001154676 00000 n 
+0001154734 00000 n 
+0001155171 00000 n 
+0001167040 00000 n 
+0001167347 00000 n 
+0001167542 00000 n 
+0001167754 00000 n 
+0001167961 00000 n 
+0001168168 00000 n 
+0001168388 00000 n 
+0001168664 00000 n 
+0001168721 00000 n 
+0001168928 00000 n 
+0001180727 00000 n 
+0001180994 00000 n 
+0001181051 00000 n 
+0001181269 00000 n 
+0001181484 00000 n 
+0001181541 00000 n 
+0001181599 00000 n 
+0001196095 00000 n 
+0001196354 00000 n 
+0001196400 00000 n 
+0001196670 00000 n 
+0001196728 00000 n 
+0001196786 00000 n 
+0001210396 00000 n 
+0001210695 00000 n 
+0001210894 00000 n 
+0001210951 00000 n 
+0001211196 00000 n 
+0001211425 00000 n 
+0001211483 00000 n 
+0001211541 00000 n 
+0001211755 00000 n 
+0001211968 00000 n 
+0001212026 00000 n 
+0001212282 00000 n 
+0001212340 00000 n 
+0001225705 00000 n 
+0001225985 00000 n 
+0001226042 00000 n 
+0001226256 00000 n 
+0001226512 00000 n 
+0001241980 00000 n 
+0001242268 00000 n 
+0001242539 00000 n 
+0001242597 00000 n 
+0001243536 00000 n 
+0001243739 00000 n 
+0001243994 00000 n 
+0001260256 00000 n 
+0001260523 00000 n 
+0001260827 00000 n 
+0001261097 00000 n 
+0001270913 00000 n 
+0001271154 00000 n 
+0001271200 00000 n 
+0001281926 00000 n 
+0001282201 00000 n 
+0001282247 00000 n 
+0001282456 00000 n 
+0001282666 00000 n 
+0001282893 00000 n 
+0001282950 00000 n 
+0001283008 00000 n 
+0001288767 00000 n 
+0001289026 00000 n 
+0001289083 00000 n 
+0001289301 00000 n 
+0001289359 00000 n 
+0001304766 00000 n 
+0001305046 00000 n 
+0001305092 00000 n 
+0001305149 00000 n 
+0001305402 00000 n 
+0001305621 00000 n 
+0001305678 00000 n 
+0001306346 00000 n 
+0001310508 00000 n 
+0001310780 00000 n 
+0001310826 00000 n 
+0001311043 00000 n 
+0001324318 00000 n 
+0001324622 00000 n 
+0001324668 00000 n 
+0001325149 00000 n 
+0001325372 00000 n 
+0001325567 00000 n 
+0001325757 00000 n 
+0001325803 00000 n 
+0001325998 00000 n 
+0001326195 00000 n 
+0001326253 00000 n 
+0001326311 00000 n 
+0001335321 00000 n 
+0001335562 00000 n 
+0001335608 00000 n 
+0001350472 00000 n 
+0001350787 00000 n 
+0001350833 00000 n 
+0001351044 00000 n 
+0001351242 00000 n 
+0001351442 00000 n 
+0001351643 00000 n 
+0001351882 00000 n 
+0001352091 00000 n 
+0001352148 00000 n 
+0001352388 00000 n 
+0001352622 00000 n 
+0001352680 00000 n 
+0001365680 00000 n 
+0001365966 00000 n 
+0001366144 00000 n 
+0001366202 00000 n 
+0001377072 00000 n 
+0001377347 00000 n 
+0001377393 00000 n 
+0001377615 00000 n 
+0001377831 00000 n 
+0001378056 00000 n 
+0001378113 00000 n 
+0001378170 00000 n 
+0001388591 00000 n 
+0001388819 00000 n 
+0001401224 00000 n 
+0001401452 00000 n 
+0001410643 00000 n 
+0001410897 00000 n 
+0001410954 00000 n 
+0001418943 00000 n 
+0001419184 00000 n 
+0001428652 00000 n 
+0001428911 00000 n 
+0001428969 00000 n 
+0001429211 00000 n 
+0001438735 00000 n 
+0001438963 00000 n 
+0001451853 00000 n 
+0001452144 00000 n 
+0001452190 00000 n 
+0001452248 00000 n 
+0001452454 00000 n 
+0001452705 00000 n 
+0001452952 00000 n 
+0001453159 00000 n 
+0001453392 00000 n 
+0001462744 00000 n 
+0001463011 00000 n 
+0001463057 00000 n 
+0001463114 00000 n 
+0001463324 00000 n 
+0001463381 00000 n 
+0001463614 00000 n 
+0001486108 00000 n 
+0001486336 00000 n 
+0001498908 00000 n 
+0001499183 00000 n 
+0001499240 00000 n 
+0001499693 00000 n 
+0001499904 00000 n 
+0001499962 00000 n 
+0001500020 00000 n 
+0001500261 00000 n 
+0001500484 00000 n 
+0001513161 00000 n 
+0001513402 00000 n 
+0001513448 00000 n 
+0001532379 00000 n 
+0001532691 00000 n 
+0001532737 00000 n 
+0001532935 00000 n 
+0001532992 00000 n 
+0001533244 00000 n 
+0001533301 00000 n 
+0001533518 00000 n 
+0001533723 00000 n 
+0001533931 00000 n 
+0001533988 00000 n 
+0001534202 00000 n 
+0001544663 00000 n 
+0001544930 00000 n 
+0001545171 00000 n 
+0001545387 00000 n 
+0001558145 00000 n 
+0001558436 00000 n 
+0001558482 00000 n 
+0001558539 00000 n 
+0001558596 00000 n 
+0001558781 00000 n 
+0001558838 00000 n 
+0001559101 00000 n 
+0001559158 00000 n 
+0001559360 00000 n 
+0001559582 00000 n 
+0001559799 00000 n 
+0001571727 00000 n 
+0001571986 00000 n 
+0001572192 00000 n 
+0001572238 00000 n 
+0001576115 00000 n 
+0001576382 00000 n 
+0001576428 00000 n 
+0001576643 00000 n 
+0001576848 00000 n 
+0001587102 00000 n 
+0001587411 00000 n 
+0001587457 00000 n 
+0001587646 00000 n 
+0001587703 00000 n 
+0001588190 00000 n 
+0001588429 00000 n 
+0001588680 00000 n 
+0001588738 00000 n 
+0001588956 00000 n 
+0001589013 00000 n 
+0001596445 00000 n 
+0001596699 00000 n 
+0001596745 00000 n 
+0001607706 00000 n 
+0001607978 00000 n 
+0001608024 00000 n 
+0001608270 00000 n 
+0001608316 00000 n 
+0001608374 00000 n 
+0001620519 00000 n 
+0001620804 00000 n 
+0001621005 00000 n 
+0001621062 00000 n 
+0001632942 00000 n 
+0001633227 00000 n 
+0001633273 00000 n 
+0001633330 00000 n 
+0001633528 00000 n 
+0001633586 00000 n 
+0001635998 00000 n 
+0001636226 00000 n 
+0001636346 00000 n 
+0001636467 00000 n 
+0001636592 00000 n 
+0001636718 00000 n 
+0001636864 00000 n 
+0001637012 00000 n 
+0001637145 00000 n 
+0001637280 00000 n 
+0001637414 00000 n 
+0001637550 00000 n 
+0001637703 00000 n 
+0001637857 00000 n 
+0001638008 00000 n 
+0001638161 00000 n 
+0001638309 00000 n 
+0001638458 00000 n 
+0001638609 00000 n 
+0001638751 00000 n 
+0001638912 00000 n 
+0001639066 00000 n 
+0001639224 00000 n 
+0001639384 00000 n 
+0001639561 00000 n 
+0001639739 00000 n 
+0001639924 00000 n 
+0001640111 00000 n 
+0001640297 00000 n 
+0001640485 00000 n 
+0001640659 00000 n 
+0001640835 00000 n 
+0001641019 00000 n 
+0001641214 00000 n 
+0001641410 00000 n 
+0001641606 00000 n 
+0001641790 00000 n 
+0001641976 00000 n 
+0001642152 00000 n 
+0001642330 00000 n 
+0001642499 00000 n 
+0001642670 00000 n 
+0001642823 00000 n 
+0001642978 00000 n 
+0001643129 00000 n 
+0001643290 00000 n 
+0001643462 00000 n 
+0001643634 00000 n 
+0001643813 00000 n 
+0001643994 00000 n 
+0001644157 00000 n 
+0001644322 00000 n 
+0001644479 00000 n 
+0001644638 00000 n 
+0001644813 00000 n 
+0001644988 00000 n 
+0001645138 00000 n 
+0001645298 00000 n 
+0001645445 00000 n 
+0001645603 00000 n 
+0001645774 00000 n 
+0001645945 00000 n 
+0001646098 00000 n 
+0001646261 00000 n 
+0001646406 00000 n 
+0001646562 00000 n 
+0001646711 00000 n 
+0001646870 00000 n 
+0001647027 00000 n 
+0001647194 00000 n 
+0001647340 00000 n 
+0001647496 00000 n 
+0001647666 00000 n 
 0001647836 00000 n 
-0001648002 00000 n 
-0001648152 00000 n 
-0001648312 00000 n 
-0001648473 00000 n 
-0001648634 00000 n 
-0001648801 00000 n 
-0001648968 00000 n 
-0001649108 00000 n 
-0001649258 00000 n 
-0001649428 00000 n 
-0001649609 00000 n 
-0001649759 00000 n 
-0001649919 00000 n 
-0001650066 00000 n 
-0001650223 00000 n 
-0001650372 00000 n 
-0001650523 00000 n 
+0001647990 00000 n 
+0001648154 00000 n 
+0001648303 00000 n 
+0001648463 00000 n 
+0001648599 00000 n 
+0001648745 00000 n 
+0001648934 00000 n 
+0001649123 00000 n 
+0001649289 00000 n 
+0001649455 00000 n 
+0001649605 00000 n 
+0001649765 00000 n 
+0001649926 00000 n 
+0001650087 00000 n 
+0001650254 00000 n 
+0001650421 00000 n 
+0001650561 00000 n 
 0001650711 00000 n 
-0001650899 00000 n 
-0001651049 00000 n 
-0001651209 00000 n 
-0001651358 00000 n 
-0001651517 00000 n 
-0001651669 00000 n 
-0001651821 00000 n 
-0001651987 00000 n 
-0001652165 00000 n 
-0001652313 00000 n 
-0001652472 00000 n 
-0001652628 00000 n 
-0001652794 00000 n 
-0001652964 00000 n 
-0001653134 00000 n 
-0001653302 00000 n 
-0001653470 00000 n 
-0001653629 00000 n 
-0001653800 00000 n 
-0001653957 00000 n 
-0001654117 00000 n 
-0001654276 00000 n 
-0001654438 00000 n 
-0001654617 00000 n 
-0001654796 00000 n 
-0001654951 00000 n 
-0001655108 00000 n 
-0001655297 00000 n 
-0001655499 00000 n 
-0001655687 00000 n 
-0001655877 00000 n 
-0001656078 00000 n 
-0001656287 00000 n 
-0001656452 00000 n 
-0001656627 00000 n 
-0001656789 00000 n 
-0001656961 00000 n 
-0001657126 00000 n 
-0001657291 00000 n 
-0001657456 00000 n 
-0001657634 00000 n 
-0001657809 00000 n 
-0001657960 00000 n 
-0001658122 00000 n 
-0001658298 00000 n 
-0001658476 00000 n 
-0001658637 00000 n 
-0001658808 00000 n 
-0001658959 00000 n 
-0001659120 00000 n 
-0001659263 00000 n 
-0001659417 00000 n 
-0001659588 00000 n 
-0001659759 00000 n 
-0001659926 00000 n 
-0001660093 00000 n 
-0001660380 00000 n 
-0001660458 00000 n 
-0001660635 00000 n 
-0001660827 00000 n 
-0001661092 00000 n 
-0001661267 00000 n 
-0001661528 00000 n 
-0001661709 00000 n 
-0001661894 00000 n 
-0001662179 00000 n 
-0001662388 00000 n 
-0001662595 00000 n 
-0001662774 00000 n 
-0001662987 00000 n 
-0001663252 00000 n 
-0001663457 00000 n 
-0001663712 00000 n 
-0001663968 00000 n 
-0001664179 00000 n 
-0001664420 00000 n 
-0001664661 00000 n 
-0001664869 00000 n 
-0001665024 00000 n 
-0001665298 00000 n 
-0001665480 00000 n 
-0001665689 00000 n 
-0001665938 00000 n 
-0001666191 00000 n 
-0001666423 00000 n 
-0001666610 00000 n 
-0001666909 00000 n 
-0001667103 00000 n 
-0001667304 00000 n 
-0001667556 00000 n 
-0001667784 00000 n 
-0001667973 00000 n 
-0001668186 00000 n 
-0001668422 00000 n 
-0001668614 00000 n 
-0001668862 00000 n 
-0001669099 00000 n 
-0001669319 00000 n 
-0001669528 00000 n 
-0001669775 00000 n 
-0001670081 00000 n 
-0001670275 00000 n 
-0001670496 00000 n 
-0001670740 00000 n 
-0001670903 00000 n 
-0001671169 00000 n 
-0001671363 00000 n 
-0001671567 00000 n 
-0001671722 00000 n 
-0001671984 00000 n 
-0001672167 00000 n 
-0001672372 00000 n 
-0001672543 00000 n 
-0001672821 00000 n 
-0001673023 00000 n 
-0001673276 00000 n 
-0001673527 00000 n 
-0001673785 00000 n 
-0001674031 00000 n 
-0001674247 00000 n 
-0001674475 00000 n 
-0001674768 00000 n 
-0001674961 00000 n 
-0001675306 00000 n 
-0001675629 00000 n 
-0001675931 00000 n 
-0001676185 00000 n 
-0001676417 00000 n 
-0001676635 00000 n 
-0001676869 00000 n 
-0001677083 00000 n 
-0001677269 00000 n 
-0001677509 00000 n 
-0001677683 00000 n 
-0001677940 00000 n 
-0001678167 00000 n 
-0001678897 00000 n 
-0001689043 00000 n 
-0001689259 00000 n 
-0001690622 00000 n 
-0001691666 00000 n 
-0001700481 00000 n 
-0001700702 00000 n 
-0001702065 00000 n 
-0001703130 00000 n 
-0001704579 00000 n 
-0001704790 00000 n 
-0001705110 00000 n 
-0001706026 00000 n 
-0001712170 00000 n 
-0001712384 00000 n 
-0001713747 00000 n 
-0001714791 00000 n 
-0001716464 00000 n 
-0001716678 00000 n 
-0001716990 00000 n 
-0001718128 00000 n 
-0001719523 00000 n 
-0001719741 00000 n 
-0001721104 00000 n 
-0001722243 00000 n 
-0001724741 00000 n 
-0001724967 00000 n 
-0001726330 00000 n 
+0001650881 00000 n 
+0001651062 00000 n 
+0001651212 00000 n 
+0001651372 00000 n 
+0001651519 00000 n 
+0001651676 00000 n 
+0001651825 00000 n 
+0001651976 00000 n 
+0001652164 00000 n 
+0001652352 00000 n 
+0001652502 00000 n 
+0001652662 00000 n 
+0001652811 00000 n 
+0001652970 00000 n 
+0001653122 00000 n 
+0001653274 00000 n 
+0001653440 00000 n 
+0001653618 00000 n 
+0001653766 00000 n 
+0001653925 00000 n 
+0001654081 00000 n 
+0001654247 00000 n 
+0001654417 00000 n 
+0001654587 00000 n 
+0001654755 00000 n 
+0001654923 00000 n 
+0001655082 00000 n 
+0001655253 00000 n 
+0001655410 00000 n 
+0001655570 00000 n 
+0001655729 00000 n 
+0001655891 00000 n 
+0001656070 00000 n 
+0001656249 00000 n 
+0001656404 00000 n 
+0001656561 00000 n 
+0001656750 00000 n 
+0001656952 00000 n 
+0001657140 00000 n 
+0001657330 00000 n 
+0001657531 00000 n 
+0001657740 00000 n 
+0001657905 00000 n 
+0001658080 00000 n 
+0001658242 00000 n 
+0001658414 00000 n 
+0001658579 00000 n 
+0001658744 00000 n 
+0001658909 00000 n 
+0001659087 00000 n 
+0001659262 00000 n 
+0001659413 00000 n 
+0001659575 00000 n 
+0001659751 00000 n 
+0001659929 00000 n 
+0001660090 00000 n 
+0001660261 00000 n 
+0001660412 00000 n 
+0001660573 00000 n 
+0001660716 00000 n 
+0001660870 00000 n 
+0001661041 00000 n 
+0001661212 00000 n 
+0001661379 00000 n 
+0001661546 00000 n 
+0001661833 00000 n 
+0001661911 00000 n 
+0001662088 00000 n 
+0001662280 00000 n 
+0001662545 00000 n 
+0001662720 00000 n 
+0001662981 00000 n 
+0001663162 00000 n 
+0001663347 00000 n 
+0001663632 00000 n 
+0001663841 00000 n 
+0001664048 00000 n 
+0001664227 00000 n 
+0001664440 00000 n 
+0001664705 00000 n 
+0001664910 00000 n 
+0001665165 00000 n 
+0001665421 00000 n 
+0001665632 00000 n 
+0001665873 00000 n 
+0001666114 00000 n 
+0001666322 00000 n 
+0001666477 00000 n 
+0001666751 00000 n 
+0001666933 00000 n 
+0001667142 00000 n 
+0001667391 00000 n 
+0001667644 00000 n 
+0001667876 00000 n 
+0001668063 00000 n 
+0001668362 00000 n 
+0001668556 00000 n 
+0001668757 00000 n 
+0001669009 00000 n 
+0001669237 00000 n 
+0001669426 00000 n 
+0001669639 00000 n 
+0001669875 00000 n 
+0001670067 00000 n 
+0001670315 00000 n 
+0001670552 00000 n 
+0001670772 00000 n 
+0001670981 00000 n 
+0001671228 00000 n 
+0001671534 00000 n 
+0001671728 00000 n 
+0001671949 00000 n 
+0001672193 00000 n 
+0001672356 00000 n 
+0001672622 00000 n 
+0001672816 00000 n 
+0001673020 00000 n 
+0001673175 00000 n 
+0001673437 00000 n 
+0001673620 00000 n 
+0001673825 00000 n 
+0001673996 00000 n 
+0001674274 00000 n 
+0001674476 00000 n 
+0001674729 00000 n 
+0001674980 00000 n 
+0001675238 00000 n 
+0001675484 00000 n 
+0001675700 00000 n 
+0001675928 00000 n 
+0001676221 00000 n 
+0001676414 00000 n 
+0001676759 00000 n 
+0001677082 00000 n 
+0001677384 00000 n 
+0001677638 00000 n 
+0001677870 00000 n 
+0001678088 00000 n 
+0001678322 00000 n 
+0001678536 00000 n 
+0001678722 00000 n 
+0001678962 00000 n 
+0001679136 00000 n 
+0001679393 00000 n 
+0001679620 00000 n 
+0001680350 00000 n 
+0001690496 00000 n 
+0001690712 00000 n 
+0001692075 00000 n 
+0001693119 00000 n 
+0001701934 00000 n 
+0001702155 00000 n 
+0001703518 00000 n 
+0001704583 00000 n 
+0001706032 00000 n 
+0001706243 00000 n 
+0001706563 00000 n 
+0001707479 00000 n 
+0001713623 00000 n 
+0001713837 00000 n 
+0001715200 00000 n 
+0001716244 00000 n 
+0001717917 00000 n 
+0001718131 00000 n 
+0001718443 00000 n 
+0001719581 00000 n 
+0001720976 00000 n 
+0001721194 00000 n 
+0001722557 00000 n 
+0001723696 00000 n 
+0001726194 00000 n 
+0001726420 00000 n 
+0001727783 00000 n 
 trailer
 << /Size 764
 /Root 2 0 R
 /Info 1 0 R
 >>
 startxref
-1727453
+1728906
 %%EOF


[3/3] isis-site git commit: ISIS-1521: updates to release procedures

Posted by da...@apache.org.
ISIS-1521: updates to release procedures


Project: http://git-wip-us.apache.org/repos/asf/isis-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis-site/commit/7d68ae67
Tree: http://git-wip-us.apache.org/repos/asf/isis-site/tree/7d68ae67
Diff: http://git-wip-us.apache.org/repos/asf/isis-site/diff/7d68ae67

Branch: refs/heads/asf-site
Commit: 7d68ae67bbdb75343ca3451e92e03886dea7e816
Parents: 1c75f26
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat Aug 5 06:25:41 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat Aug 5 06:25:41 2017 +0100

----------------------------------------------------------------------
 content/elasticlunr/index.json  |    2 +-
 content/guides/cgcom/cgcom.html |   13 +-
 content/guides/cgcom/cgcom.pdf  | 1986 ++++++++++++++++++----------------
 3 files changed, 1038 insertions(+), 963 deletions(-)
----------------------------------------------------------------------



[2/3] isis-site git commit: ISIS-1521: updates to release procedures

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/7d68ae67/content/elasticlunr/index.json
----------------------------------------------------------------------
diff --git a/content/elasticlunr/index.json b/content/elasticlunr/index.json
index 8231f39..219f682 100644
--- a/content/elasticlunr/index.json
+++ b/content/elasticlunr/index.json
@@ -1 +1 @@
-{"version":"0.9.5","fields":["title","body","description","url"],"ref":"id","documentStore":{"docs":{"372886":{"title":"Rows, full-width cols, and tabs","url":"guides/ugvw/ugvw.html#_rows_full_width_cols_and_tabs","body":"Rows, full-width cols, and tabs  The example layout consists of three rows: a row for the object/icon, a row containing a properties, and a row containing collections. In all three cases the row contains a single column spanning the full width of the page. For the property and collection rows, the column contains a tab group.  This corresponds to the following XML:  You will notice that one of the columns has an unreferencedActions attribute, while one of the tabGroups has a similar unreferencedCollections attribute. This topic is discussed in more detail below. ","description":" The example layout consists of three rows: a row for the object/icon, a row containing a properties, and a row containing collections. In all three cases the row contains a single column s
 panning the full width of the page. For the property and collection rows, the column contains a","id":372886},"2646929":{"title":"Apache Isis vs …​","url":"guides/ugfun/ugfun.html#_ugfun_core-concepts_apache-isis-vs","body":"Apache Isis vs …​  Many other frameworks promise rapid application development and provide automatically generated user interfaces, so how do they compare to Apache Isis? ","description":" Many other frameworks promise rapid application development and provide automatically generated user interfaces, so how do they compare to Apache Isis? ","id":2646929},"3836440":{"title":"Running","url":"guides/dg/dg.html#__dg_ide_intellij_running","body":"Running  Let’s see how to run both the app and the tests. ","description":" Let’s see how to run both the app and the tests. ","id":3836440},"11600575":{"title":"Using Contributions","url":"pages/tg/tg.html#_using_contributions","body":"Using Contributions  One of Apache Isis' most powerful features is the abilit
 y for the UI to combine functionality from domain services into the representation of an entity. The effect is similar to traits or mix-ins in other languages, however the \"mixing in\" is done at runtime, within the Apache Isis metamodel. In Apache Isis' terminology, we say that the domain service action is contributed to the entity.  Any action of a domain service that has a domain entity type as one of its parameter types will (by default) be contributed. If the service action takes more than one argument, or does not have safe semantics, then it will be contributed as an entity action. If the service action has precisely one parameter type (that of the entity) and has safe semantics then it will be contributed either as a collection or as a property (dependent on whether it returns a collection of a scalar).  Why are contributions so useful? Because the service action will match not on the entity type, but also on any of the entity’s supertypes (all the way up to java.lang.Obj
 ect). That means that you can apply the dependency inversion principle to ensure that the modules of your application have acyclic dependencies; but in the UI it can still appear as if there are bidirectional dependencies between those modules. The lack of bidirectional dependencies can help save your app degrading into a big ball of mud.  Finally, note that the layout of contributed actions/collections/properties can be specified using the .layout.json file (and it is highly recommended that you do so). ","description":" One of Apache Isis' most powerful features is the ability for the UI to combine functionality from domain services into the representation of an entity. The effect is similar to traits or mix-ins in other languages, however the \"mixing in\" is done at runtime, within the Apache Isis metamodel","id":11600575},"12649581":{"title":"Mark the version as released","url":"guides/cgcom/cgcom.html#_mark_the_version_as_released","body":"Mark the version as released  In JIRA
 , go to the administration section for the Apache Isis project and update the version as being released.  In the Kanban view this will have the effect of marking all tickets as released (clearing the \"done\" column). ","description":" In JIRA, go to the administration section for the Apache Isis project and update the version as being released. ","id":12649581},"13573617":{"title":"hide…​()","url":"guides/rgcms/rgcms.html#_rgcms_methods_prefixes_hide","body":"hide…​()  The hide…​() supporting method is called for properties, collections and actions. It allows the property/collection to be completely hidden from view.  It’s comparatively rare for properties or collections to be imperatively hidden from view, but actions are sometimes hidden or shown visible (as opposed to being just disabled, ie greyed out).  The signature of the supporting method is simply:  Returning true will hide the property, collection or action, returning false leaves it visible.  For example, t
 o hide an action:  Or, to hide a property: ","description":" The hide…​() supporting method is called for properties, collections and actions. It allows the property/collection to be completely hidden from view. ","id":13573617},"14971197":{"title":"Suppressing 'remember me'","url":"guides/ugvw/ugvw.html#_ugvw_configuration-properties_suppressing-remember-me","body":"Suppressing 'remember me'  The 'remember me' checkbox on the login page can be suppressed, if required, by setting a configuration flag. ","description":" The 'remember me' checkbox on the login page can be suppressed, if required, by setting a configuration flag. ","id":14971197},"16629694":{"title":"allowLateRegistration","url":"migration-notes/migration-notes.html#__code_allowlateregistration_code","body":"allowLateRegistration  One possible issue is that (as per ISIS-830) the EventBusService is now initialized as one of the first domain services; this is to ensure that any object lifecycle events caused by domai
 n services initializing themselves can be posted on the event bus for subscribers. The typical case for such lifecycle events to occur is from domain services that seed reference data; one such example can be found in the (non-ASF) Isis addons' security module.  In previous releases, the ordering of initialization for the EventBusService was undefined (but would typically be towards the \"end\" of the list of services. What this meant in practice is that it generally didn’t matter whether (domain service) subscribers were initialized before or after seed services.  Now, though, because the EventBusService is initialized early on, it proactively checks that all subscribers have been registered before any event posts occur (so that no events get missed). If any subscriber attempts to register after at least one event has been posted, then the service will fail fast and the framework will not start. The error looks something like:  To ensure that subscriber domain services are initia
 lized before \"seed\" domain services, the @DomainServiceLayout#menuOrder() attribute can be used. Normally this attribute is just used to order UI-visible services on the menu bars, but it also is used internally to sequence the internal list of services being initialized.  Alternatively, you can disable this checking within the EventBusService using:  If you do that, be aware that not all subscribers may not receive some events generated by other domain services.  For more details, see the EventBusService man page. ","description":" One possible issue is that (as per ISIS-830) the EventBusService is now initialized as one of the first domain services; this is to ensure that any object lifecycle events caused by domain services initializing themselves can be posted on the event bus for subscribers. The typical case for such","id":16629694},"17000573":{"title":"ObjectCreatedEvent","url":"guides/rgcms/rgcms.html#_rgcms_classes_lifecycleevent_ObjectCreatedEvent","body":"ObjectCreatedE
 vent  Subclass of AbstractLifecycleEvent, broadcast when an object is first instantiated using the DomainObjectContainer's #newTransientInstance(…​) method.  ObjectCreatedEvent.Default is the concrete implementation that is used. ","description":" Subclass of AbstractLifecycleEvent, broadcast when an object is first instantiated using the DomainObjectContainer's #newTransientInstance(…​) method. ","id":17000573},"17618894":{"title":"New Feature","url":"release-notes/release-notes.html#_new_feature_20","body":"New Feature ","description":"","id":17618894},"17724516":{"title":"Multi-select action parameters","url":"guides/ugfun/ugfun.html#_multi_select_action_parameters","body":"Multi-select action parameters  As well as scalar values, action parameters can also be collections. For this to be valid, a choices or autoComplete supporting method must be provided.  For example, suppose we want to \"tag\" or \"label\" an object: ","description":" As well as scalar values, action pa
 rameters can also be collections. For this to be valid, a choices or autoComplete supporting method must be provided. ","id":17724516},"18445041":{"title":"Verifying Releases","url":"downloads.html#_verifying_releases","body":"Verifying Releases ","description":"","id":18445041},"19254915":{"title":"API & Implementation","url":"guides/rgsvc/rgsvc.html#_api_implementation_7","body":"API & Implementation  The API of Scratchpad service is:  This class (o.a.i.applib.services.scratchpad.Scratchpad) is also the implementation. And, as you can see, the service is just a request-scoped wrapper around a java.util.Map. ","description":" The API of Scratchpad service is: ","id":19254915},"21190750":{"title":"Run the archetype","url":"pages/tg/tg.html#_run_the_archetype","body":"Run the archetype  Throughout this tutorial you can, if you wish, just checkout from the github repo wherever you see a \"git checkout\" note:  Run the simpleapp archetype to build an empty Isis application. With the *n
 ix bash shell, use:  Adjust as necessary if using Windows cmd.exe or Powershell.  This will generate the app in a petclinic directory. Move the contents back: ","description":" Throughout this tutorial you can, if you wish, just checkout from the github repo wherever you see a \"git checkout\" note: ","id":21190750},"21212015":{"title":"Key features","url":"pages/powered-by/powered-by.html#_key_features","body":"Key features ","description":"","id":21212015},"21857601":{"title":"Other Guides","url":"guides/cgcom/cgcom.html#_other_guides","body":"Other Guides  Apache Isis documentation is broken out into a number of user, reference and \"supporting procedures\" guides.  The user guides available are:  The reference guides are:  The remaining guides are:  This guide provides guidance for Apache Isis' own committers. ","description":" Apache Isis documentation is broken out into a number of user, reference and \"supporting procedures\" guides. ","id":21857601},"23125949":{"title":"Edit
 ing","url":"guides/dg/dg.html#__dg_ide_intellij_hints-and-tips_editing","body":"Editing ","description":"","id":23125949},"23524101":{"title":"Collections","url":"guides/ugvw/ugvw.html#_collections","body":"Collections  In the final row the collections are placed in tabs, simply one collection per tab. This corresponds to the following XML:  As with properties, actions can be associated with collections; this indicates that they should be rendered in the collection’s header. ","description":" In the final row the collections are placed in tabs, simply one collection per tab. This corresponds to the following XML: ","id":23524101},"26509816":{"title":"Commit changes","url":"guides/cgcom/cgcom.html#__cgcom_cutting-a-release_releasing-core_commit-changes","body":"Commit changes  Commit any changes from the preceding steps: ","description":" Commit any changes from the preceding steps: ","id":26509816},"27806498":{"title":"renderedAsDayBefore()","url":"guides/rgant/rgant.html#_rgant-P
 arameterLayout_renderedAsDayBefore","body":"renderedAsDayBefore()  The renderedAsDayBefore() attribute applies only to date parameters whereby the date will be rendered as the day before the value actually held in the domain object. It is ignored for parameters of other types. This attribute is also supported for properties.  This behaviour might at first glance appear odd, but the rationale is to support the use case of a sequence of instances that represent adjacent intervals of time. In such cases there would typically be startDate and endDate properties, eg for all of Q2. Storing this as a half-closed interval — eg [1-Apr-2015, 1-July-2015) — can substantially simplify internal algorithms; the endDate of one interval will correspond to the startDate of the next.  However, from an end-user perspective the requirement may be to render the interval as a fully closed interval; eg the end date should be shown as 30-Jun-2015.  This attribute therefore bridges the gap; it presents 
 the information in a way that makes sense to an end-user, but also stores the domain object in a way that is easy work with internally.  For example: ","description":" The renderedAsDayBefore() attribute applies only to date parameters whereby the date will be rendered as the day before the value actually held in the domain object. It is ignored for parameters of other types. This attribute is also supported for properties. ","id":27806498},"31857620":{"title":"Interacting with the services","url":"guides/rgsvc/rgsvc.html#_interacting_with_the_services","body":"Interacting with the services  Typically domain objects will have little need to interact with the CommandContext and Command directly; what is more useful is that these are persisted in support of the various use cases identified above.  One case however where a domain object might want to obtain the Command is to determine whether it has been invoked in the foreground, or in the background. It can do this using the getExecu
 tedIn() method:  Although not often needed, this then allows the domain object to access the Command object through the CommandContext service. To expand th above example:  If run in the background, it might then notify the user (eg by email) if all work is done.  This leads us onto a related point, distinguishing the current effective user vs the originating \"real\" user. When running in the foreground, the current user can be obtained from the UserService, using:  If running in the background, however, then the current user will be the credentials of the background process, for example as run by a Quartz scheduler job.  The domain object can still obtain the original (\"effective\") user that caused the job to be created, using: ","description":" Typically domain objects will have little need to interact with the CommandContext and Command directly; what is more useful is that these are persisted in support of the various use cases identified above. ","id":31857620},"36734123":{"
 title":"Bug","url":"release-notes/release-notes.html#_bug_8","body":"Bug ","description":"","id":36734123},"39248326":{"title":"Runtime vs Noop implementation","url":"guides/rgfis/rgfis.html#_runtime_vs_noop_implementation","body":"Runtime vs Noop implementation  The framework provides two implementations:  The …​Default implementation takes priority over the …​Noop implementation. ","description":" The framework provides two implementations: ","id":39248326},"39290887":{"title":"Implementation","url":"guides/rgsvc/rgsvc.html#_implementation_22","body":"Implementation  The core framework provides a default implementation of this service (o.a.i.core.metamodel.services.container.DomainObjectContainerDefault). ","description":" The core framework provides a default implementation of this service (o.a.i.core.metamodel.services.container.DomainObjectContainerDefault). ","id":39290887},"42240053":{"title":"Screenshots","url":"guides/ugvw/ugvw.html#_screenshots_9","body":"Screensho
 ts  The screenshot below shows the Isis addons example todoapp (not ASF) with a 'brand logo' image in its header:  A custom brand logo (typically larger) can also be specified for the signin page: ","description":" The screenshot below shows the Isis addons example todoapp (not ASF) with a 'brand logo' image in its header: ","id":42240053},"44021072":{"title":"Subsidiary Goals","url":"guides/rgcms/rgcms.html#_subsidiary_goals","body":"Subsidiary Goals  There are a number of subsidiary goals of the AppManifest class (though not all of these are fully implemented): ","description":" There are a number of subsidiary goals of the AppManifest class (though not all of these are fully implemented): ","id":44021072},"44483327":{"title":"New Feature","url":"release-notes/release-notes.html#_new_feature_17","body":"New Feature ","description":"","id":44483327},"57327287":{"title":"cssClassFa()","url":"guides/rgant/rgant.html#_rgant-ViewModelLayout_cssClassFa","body":"cssClassFa()  The cssClas
 sFa() attribute is used to specify the name of a Font Awesome icon name, to be rendered as the domain object’s icon.  These attribute can also be applied to domain objects to specify the object’s icon, and to actions to specify an icon for the action’s representation as a button or menu item.  If necessary the icon specified can be overridden by a particular object instance using the iconName() method.  For example:  There can be multiple \"fa-\" classes, eg to mirror or rotate the icon. There is no need to include the mandatory fa \"marker\" CSS class; it will be automatically added to the list. The fa- prefix can also be omitted from the class names; it will be prepended to each if required.  The related cssClassFaPosition() attribute is currently unused for domain objects; the icon is always rendered to the left. ","description":" The cssClassFa() attribute is used to specify the name of a Font Awesome icon name, to be rendered as the domain object’s icon. ","id":57327287
 },"64932464":{"title":"Other Guides","url":"guides/ugtst/ugtst.html#_other_guides","body":"Other Guides  Apache Isis documentation is broken out into a number of user, reference and \"supporting procedures\" guides.  The user guides available are:  The reference guides are:  The remaining guides are: ","description":" Apache Isis documentation is broken out into a number of user, reference and \"supporting procedures\" guides. ","id":64932464},"66604001":{"title":"@Programmatic","url":"guides/rgant/rgant.html#_rgant-Programmatic","body":"@Programmatic ","description":"","id":66604001},"68441589":{"title":"License headers","url":"guides/cgcom/cgcom.html#__cgcom_cutting-a-release_releasing-core_license-headers","body":"License headers  The Apache Release Audit Tool RAT (from the Apache Creadur project) checks for missing license header files. The parent pom.xml of each releasable module specifies the RAT Maven plugin, with a number of custom exclusions.  To run the RAT tool, use:  whe
 re rat.numUnapprovedLicenses property is set to a high figure, temporarily overriding the default value of 0. This will allow the command to run over all submodules, rather than failing after the first one. The command writes out a target\\rat.txt for each submodule. missing license notes are indicated using the key !???. The for command collates all the errors.  Investigate and fix any reported violations, typically by either:  To add missing headers, use the groovy script addmissinglicenses.groovy (in the scripts directory) to automatically insert missing headers for certain file types. The actual files checked are those with extensions specified in the line def fileEndings = [\".java\", \".htm\"]:  (If the -x is omitted then the script is run in \"dry run\" mode). Once you’ve fixed all issues, confirm once more that apache-rat-plugin no longer reports any license violations, this time leaving the rat.numUnapprovedLicenses property to its default, 0: ","description":" The Apache
  Release Audit Tool RAT (from the Apache Creadur project) checks for missing license header files. The parent pom.xml of each releasable module specifies the RAT Maven plugin, with a number of custom exclusions. ","id":68441589},"73703450":{"title":"New Feature","url":"release-notes/release-notes.html#_new_feature_29","body":"New Feature ","description":"","id":73703450},"75054401":{"title":"Supporting Method Prefixes","url":"guides/rgcms/rgcms.html#_rgcms_methods_prefixes","body":"Supporting Method Prefixes  Supporting methods are those that are associated with properties, collections and actions, providing additional imperative business rule checking and behaviour to be performed when the user interacts with those object members.  This association is performed by name matching. Thus, a property called \"firstName\", derived from a method getFirstName() may have supporting methods hideFirstName(), disableFirstName() and validateFirstName(). Supporting methods are, therefore, each c
 haracterized by their own particular prefix.  The table below lists the method prefixes that are recognized as part of Apache Isis' default programming model. ","description":" Supporting methods are those that are associated with properties, collections and actions, providing additional imperative business rule checking and behaviour to be performed when the user interacts with those object members. ","id":75054401},"77231561":{"title":"Interaction Execution","url":"guides/rgcms/rgcms.html#_rgcms_schema-ixn","body":"Interaction Execution  The interaction (\"ixn\") schema defines the serialized form of an action invocation or a property edit. In fact, it actually defines a call-graph of such executions for those cases where the WrapperFactory is used to execute sub-actions/property edits.  Each execution identifies the target object, the member to invoke, and the arguments. It also captures metrics about the execution, and the result of the execution (eg return value of an action in
 vocation). ","description":" The interaction (\"ixn\") schema defines the serialized form of an action invocation or a property edit. In fact, it actually defines a call-graph of such executions for those cases where the WrapperFactory is used to execute sub-actions/property edits. ","id":77231561},"78112488":{"title":"Screencast","url":"guides/ugvw/ugvw.html#_screencast","body":"Screencast  This screencast describes the feature. ","description":" This screencast describes the feature. ","id":78112488},"78624086":{"title":"Other Guides","url":"guides/ugsec/ugsec.html#_other_guides","body":"Other Guides  Apache Isis documentation is broken out into a number of user, reference and \"supporting procedures\" guides.  The user guides available are:  The reference guides are:  The remaining guides are: ","description":" Apache Isis documentation is broken out into a number of user, reference and \"supporting procedures\" guides. ","id":78624086},"80534397":{"title":"ContentMappingService"
 ,"url":"guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_ContentMappingService","body":"ContentMappingService  The ContentMappingService supports the (default implementation of the) ContentNegotiationService enabling the RestfulObjects viewer to represent domain objects in some other format as specified by the HTTP Accept header.  See ContentNegotiationService for further discussion. ","description":" The ContentMappingService supports the (default implementation of the) ContentNegotiationService enabling the RestfulObjects viewer to represent domain objects in some other format as specified by the HTTP Accept header. ","id":80534397},"83803344":{"title":"MessageService","url":"guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_MessageService","body":"MessageService  The MessageService allows domain objects to raise information, warning or error messages. These messages can either be simple strings, or can be translated. ","description":" The MessageService allows domain obje
 cts to raise information, warning or error messages. These messages can either be simple strings, or can be translated. ","id":83803344},"83933647":{"title":"Persistence Concerns","url":"guides/ugbtb/ugbtb.html#_persistence_concerns","body":"Persistence Concerns ","description":"","id":83933647},"85931482":{"title":"Task","url":"release-notes/release-notes.html#_task_24","body":"Task ","description":"","id":85931482},"87271564":{"title":"2004:","url":"pages/articles-and-presentations/articles-and-presentations.html#_2004","body":"2004: ","description":"","id":87271564},"90561824":{"title":"Wicket Viewer","url":"release-notes/release-notes.html#_wicket_viewer_8","body":"Wicket Viewer ","description":"","id":90561824},"90935214":{"title":"Wicket Viewer","url":"release-notes/release-notes.html#_wicket_viewer_10","body":"Wicket Viewer ","description":"","id":90935214},"91902412":{"title":"The issue in more detail","url":"guides/ugodn/ugodn.html#_the_issue_in_more_detail","body":"The iss
 ue in more detail  Consider these entities (yuml.me/b8681268):  In the course of a transaction, the Agreement entity is loaded into memory (not necessarily modified), and then new AgreementRoles are associated to it.  All these entities implement Comparable using ObjectContracts, and the implementation of AgreementRole's (simplified) is:  while Agreement's is implemented as:  and Party's is similarly implemented as:  DataNucleus’s persistence-by-reachability algorithm adds the AgreementRole instances into a SortedSet, which causes AgreementRole#compareTo() to fire:  In other words, in figuring out whether AgreementRole requires the persistence-by-reachability algorithm to run, it causes the adjacent associated entity Party to also be retrieved. ","description":" Consider these entities (yuml.me/b8681268): ","id":91902412},"92467660":{"title":"API and Usage","url":"guides/ugtst/ugtst.html#_ugtst_fixture-scripts_api-and-usage","body":"API and Usage  There are two parts to using fixt
 ure scripts: the FixtureScripts domain service class, and the FixtureScript view model class:  Let’s look at FixtureScripts domain service in more detail first. ","description":" There are two parts to using fixture scripts: the FixtureScripts domain service class, and the FixtureScript view model class: ","id":92467660},"95725933":{"title":"Appendix: Isis Add-ons (not ASF)","url":"guides/ugvw/ugvw.html#_ugvw_isis-addons","body":"Appendix: Isis Add-ons (not ASF) ","description":"","id":95725933},"96583162":{"title":"Configure toolchains plugin","url":"guides/cgcom/cgcom.html#_configure_toolchains_plugin","body":"Configure toolchains plugin  Apache Isis releases are built using Java 7, enforced using the maven toolchains plugin. Ensure that Java 7 is installed and the toolchains plugin is configured, as described in the contributors' guide. ","description":" Apache Isis releases are built using Java 7, enforced using the maven toolchains plugin. Ensure that Java 7 is installed and 
 the toolchains plugin is configured, as described in the contributors' guide. ","id":96583162},"98976996":{"title":"Bootstrapping","url":"guides/rgcms/rgcms.html#_bootstrapping","body":"Bootstrapping  One of the primary goals of the AppManifest is to unify the bootstrapping of both integration tests and the webapp. This requires that the integration tests and webapp can both reference the implementation.  We strongly recommend using a myapp-app Maven module to hold the implementation of the AppManifest. This Maven module can then also hold dependencies which are common to both integration tests and the webapp, specifically the org.apache.isis.core:isis-core-runtime and the org.apache.isis.core:isis-core-wrapper modules.  We also strongly recommend that any application-layer domain services and view models (code that references persistent domain entities but that is not referenced back) is moved to this myapp-app module. This will allow the architectural layering of the overall appli
 cation to be enforced by Maven.  What then remains is to update the bootstrapping code itself. ","description":" One of the primary goals of the AppManifest is to unify the bootstrapping of both integration tests and the webapp. This requires that the integration tests and webapp can both reference the implementation. ","id":98976996},"99090360":{"title":"Running the App","url":"guides/ugfun/ugfun.html#__ugfun_getting-started_simpleapp-archetype_running-the-app","body":"Running the App  The simpleapp archetype generates a single WAR file, configured to run both the Wicket viewer and the Restful Objects viewer. The archetype also configures the DataNucleus/JDO Objectstore to use an in-memory HSQLDB connection.  Once you’ve built the app, you can run the WAR in a variety of ways. ","description":" The simpleapp archetype generates a single WAR file, configured to run both the Wicket viewer and the Restful Objects viewer. The archetype also configures the DataNucleus/JDO Objectstore 
 to use an in-memory HSQLDB connection. ","id":99090360},"100682258":{"title":"Update dependencies","url":"guides/cgcom/cgcom.html#_update_dependencies","body":"Update dependencies  With the release complete, now is a good time to bump versions of dependencies (so that there is a full release cycle to identify any possible issues).  You will probably want to create a new JIRA ticket for these updates (or if minor then use the \"catch-all\" JIRA ticket raised earlier for the next release). ","description":" With the release complete, now is a good time to bump versions of dependencies (so that there is a full release cycle to identify any possible issues). ","id":100682258},"102347041":{"title":"Bug","url":"release-notes/release-notes.html#_bug_10","body":"Bug ","description":"","id":102347041},"104167755":{"title":"How to implement a spellchecker?","url":"guides/ugbtb/ugbtb.html#_ugbtb_hints-and-tips_how-to-implement-a-spellchecker","body":"How to implement a spellchecker?  From this
  thread on the Apache Isis users mailing list:  One way to implement is to use the event bus:  if if the change is made through an edit, you can use @Property#domainEvent().  You’ll need some way to know which fields should be spell checked. Two ways spring to mind:  And you’ll (obviously) also need some sort of spell checker implementation to call. ","description":" From this thread on the Apache Isis users mailing list: ","id":104167755},"105480253":{"title":"Visitor","url":"guides/ugbtb/ugbtb.html#__code_visitor_code","body":"Visitor  More often than not, you’ll want to visit every element in the metamodel, and so for this you can instead subclass from MetaModelValidatorVisiting.Visitor:  You can then create your custom validator by subclassing MetaModelValidatorComposite and adding the visiting validator:  If you have more than one rule then each can live in its own visitor. ","description":" More often than not, you’ll want to visit every element in the metamodel, and s
 o for this you can instead subclass from MetaModelValidatorVisiting.Visitor: ","id":105480253},"106558909":{"title":"contributedAs()","url":"guides/rgant/rgant.html#_rgant-ActionLayout_contributedAs","body":"contributedAs()  For a domain service action that can be contributed, the contributedAs() attribute determines how it is contributed: as an action or as an association (ie a property or collection).  The distinction between property or collection is automatic: if the action returns a java.util.Collection (or subtype) then the action is contributed as a collection; otherwise it is contributed as a property.  For a domain service action to be contributed, the domain services must have a nature nature of either VIEW or VIEW_CONTRIBUTIONS_ONLY, and the action must have safe action semantics, and takes a single argument, namely the contributee domain object.  For example:  It’s also possible to use the attribute to suppress the action completely:  In such cases, though, it would pr
 obably make more sense to annotate the action as either hidden or indeed @Programmatic. ","description":" For a domain service action that can be contributed, the contributedAs() attribute determines how it is contributed: as an action or as an association (ie a property or collection). ","id":106558909},"106606865":{"title":"Using the Wicket Viewer","url":"guides/rgcfg/rgcfg.html#_using_the_wicket_viewer","body":"Using the Wicket Viewer  Most of the you’re likely to run Apache Isis using the Wicket viewer. In this case Apache Isis' \"deployment type\" concept maps to Wicket’s \"configuration\" concept:  Wicket’s mechanism for specifying the \"configuration\" is to use a context parameter in web.xml; Apache Isis automatically infers its own deployment type from this. In other words: ","description":" Most of the you’re likely to run Apache Isis using the Wicket viewer. In this case Apache Isis' \"deployment type\" concept maps to Wicket’s \"configuration\" concept: ","id":
 106606865},"108721033":{"title":"Incode Catalog","url":"guides/ugfun/ugfun.html#_ugfun_available-domain-services_incode-catalog","body":"Incode Catalog  The Incode Catalog website also provides a number of reusable modules, focusing on business logic for generic subdomains.  This section surveys the functionality available.  The modules themselves fall into a number of broader groups:  Each of the modules has a full README and demo application demonstrating their usage. The sections below briefly outline the capabilities of these modules. ","description":" The Incode Catalog website also provides a number of reusable modules, focusing on business logic for generic subdomains. ","id":108721033},"108815435":{"title":"unchanging() (1.15.0-SNAPSHOT)","url":"guides/rgant/rgant.html#_rgant-PropertyLayout_unchanging","body":"unchanging() (1.15.0-SNAPSHOT)  The unchanging() attribute is used to indicate that the value held by the property never changes over time, even when other properties 
 of the object do change.  Setting this attribute to true is used as a hint to the viewer to not redraw the property after an AJAX update of some other property/ies of the object have changed. This is primarily for performance, eg can improve the user experience when rendering PDFs/blobs.  Note that for this to work, the viewer will also ensure that none of the property’s parent component (such as a tab group panel) are re-rendered.  For example: ","description":" The unchanging() attribute is used to indicate that the value held by the property never changes over time, even when other properties of the object do change. ","id":108815435},"109833874":{"title":"Persistable","url":"guides/rgcms/rgcms.html#_rgcms_classes_mixins_Persistable","body":"Persistable  All domain entities automatically implement the DataNucleus Persistable role interface as a result of the enhancer process (the fully qualified class name is org.datanucleus.enhancement.Persistable). So as a developer you do no
 t need to write any code to obtain the mixins that contribute to this interface. ","description":" All domain entities automatically implement the DataNucleus Persistable role interface as a result of the enhancer process (the fully qualified class name is org.datanucleus.enhancement.Persistable). So as a developer you do not need to write any code to obtain the mixins that contribute to this interface. ","id":109833874},"112375674":{"title":"Auditing","url":"migration-notes/migration-notes.html#_auditing","body":"Auditing  The AuditingService SPI service has been deprecated, instead replaced by the AuditerService.  There can be more than one implementation of this new SPI, and a framework-provided implementation (AuditerServiceLogging) will log to a file. The (non-ASF) Isis addons' audit module also implements the new SPI. ","description":" The AuditingService SPI service has been deprecated, instead replaced by the AuditerService. ","id":112375674},"114685873":{"title":"Usage","ur
 l":"guides/rgsvc/rgsvc.html#_usage_19","body":"Usage  To indicate that an action invocation should be published, annotate it with the @Action#publishing() annotation.  To indicate that an property edit should be published, annotate it with the @Property#publishing() annotation.  To indicate that a changed object should be published is to annotate it with the @DomainObject#publishing() annotation. ","description":" To indicate that an action invocation should be published, annotate it with the @Action#publishing() annotation. ","id":114685873},"115229271":{"title":"Domain Entities","url":"guides/ugfun/ugfun.html#_ugfun_programming-model_domain-entities","body":"Domain Entities  Entities are persistent domain objects, with their persistence handled by JDO/DataNucleus. As such, they are mapped to a persistent object store, typically an RDBMS, with DataNucleus taking care of both lazy loading and also the persisting of modified (\"dirty\") objects.  Domain entities are generally decorat
 ed with both DataNucleus and Apache Isis annotations. Let’s look at some of the most commonly-used annotations.  To start with, entities are flagged as being \"persistence capable\", indicating how JDO/DataNucleus should manage their identity:  All domain entities will have some sort of mandatory key properties. The example below is a very simple case, where the entity is identified by a name property:  It’s also common for domain entities to have queries annotated on them. These are used by repository domain services to query for instances of the entity:  DataNucleus provides several APIs for defining queries, including entirely programmatic and type-safe APIs; but JDOQL is very similar to SQL and so easily learnt.  The corresponding repository method for the above query is: ","description":" Entities are persistent domain objects, with their persistence handled by JDO/DataNucleus. As such, they are mapped to a persistent object store, typically an RDBMS, with DataNucleus takin
 g care of both lazy loading and also the persisting of modified (\"dirty\") objects. ","id":115229271},"117553409":{"title":"Object Icon","url":"guides/ugfun/ugfun.html#_object_icon","body":"Object Icon  The icon is often the same for all instances of a particular class, and is picked up by convention.  It’s is also possible for an individual instance to return a custom icon, typically so that some significant state of that domain object is represented. For example, a custom icon could be used to represent a shipped order, say, or an overdue library loan. ","description":" The icon is often the same for all instances of a particular class, and is picked up by convention. ","id":117553409},"121574190":{"title":"Related Services","url":"guides/rgsvc/rgsvc.html#_related_services_18","body":"Related Services  The ActionInteractionContext service allows bulk actions to co-ordinate with each other.  The QueryResultsCache is useful for caching the results of expensive method calls. ","de
 scription":" The ActionInteractionContext service allows bulk actions to co-ordinate with each other. ","id":121574190},"121879267":{"title":"Wicket Viewer","url":"release-notes/release-notes.html#_wicket_viewer_2","body":"Wicket Viewer ","description":"","id":121879267},"122762699":{"title":"Contributee","url":"guides/rgcms/rgcms.html#_rgcms_classes_contributee","body":"Contributee  The interfaces listed in this chapter act as contributees; they allow domain services to contribute actions/properties/collections to any domain objects that implement these interfaces. ","description":" The interfaces listed in this chapter act as contributees; they allow domain services to contribute actions/properties/collections to any domain objects that implement these interfaces. ","id":122762699},"125299345":{"title":"Example","url":"guides/rgant/rgant.html#_example_2","body":"Example  This example is taken from the (non-ASF) Isis addons' todoapp: ","description":" This example is taken from the
  (non-ASF) Isis addons' todoapp: ","id":125299345},"125961908":{"title":"Do it!","url":"pages/tg/tg.html#_do_it","body":"Do it! ","description":"","id":125961908},"134804772":{"title":"How to handle void/null results","url":"guides/ugbtb/ugbtb.html#_ugbtb_hints-and-tips_how-to-handle-void-and-null-results","body":"How to handle void/null results  From this thread on the Apache Isis users mailing list:  One way to implement this idea is to provide a custom implementation of the RoutingService SPI domain service. The default implementation will either return the current object (if not null), else the home page (as defined by @HomePage) if one exists.  The following custom implementation refines this to use the breadcrumbs (available in the Wicket viewer) to return the first non-deleted domain object found in the list of breadcrumbs:  Note that the above implementation uses Java 8, so if you are using Java 7 then you’ll need to backport accordingly. ","description":" From this thread
  on the Apache Isis users mailing list: ","id":134804772},"140760147":{"title":"Isis Add-on modules","url":"guides/ugvw/ugvw.html#_isis_add_on_modules","body":"Isis Add-on modules  Some of the (non-ASF) Isis Addons modules also provide services whose actions appear in top-level menus.  The security's module places its domain service menus in three top-level menus:  Meanwhile the devutils module places its actions - to download layouts and so forth - on a \"Prototyping\" top-level menu, on the SECONDARY menu bar.  Currently there is no facility to alter the placement of these services. However, their UI can be suppressed using security or using a vetoing subscriber. ","description":" Some of the (non-ASF) Isis Addons modules also provide services whose actions appear in top-level menus. ","id":140760147},"145340696":{"title":"Registering the Services","url":"guides/rgsvc/rgsvc.html#_registering_the_services_20","body":"Registering the Services  The (non-ASF) Isis addons' audit module
  provides an implementation of this service (AuditingService), and also provides a number of related domain services (AuditingServiceMenu, AuditingServiceRepository and AuditingServiceContributions).  Assuming that an AppManifest is being used to bootstrap the app) then this can be activated by updating the pom.xml and updating the AppManifest#getModules() method.  If menu items or contributions are not required in the UI, these can be suppressed either using security or by implementing a vetoing subscriber. ","description":" The (non-ASF) Isis addons' audit module provides an implementation of this service (AuditingService), and also provides a number of related domain services (AuditingServiceMenu, AuditingServiceRepository and AuditingServiceContributions). ","id":145340696},"148135206":{"title":"Layout Metadata Reader (deprecated)","url":"guides/ugbtb/ugbtb.html#_ugbtb_programming-model_layout-metadata-reader","body":"Layout Metadata Reader (deprecated)  The metadata for domain 
 objects is obtained both annotations and files. There is also deprecated support for reading layouts from .layout.json files. This service provides an SPI (and default implementation) for reading layouts defined in this fashion. ","description":" The metadata for domain objects is obtained both annotations and files. There is also deprecated support for reading layouts from .layout.json files. This service provides an SPI (and default implementation) for reading layouts defined in this fashion. ","id":148135206},"153666205":{"title":"Implementation","url":"guides/rgsvc/rgsvc.html#_implementation_17","body":"Implementation  The core framework provides a default implementation of this service (o.a.i.core.metamodel.services.title.TitleServiceDefault). ","description":" The core framework provides a default implementation of this service (o.a.i.core.metamodel.services.title.TitleServiceDefault). ","id":153666205},"155655500":{"title":"@PrimaryKey (javax.jdo)","url":"guides/rgant/rgant.h
 tml#_rgant-PrimaryKey","body":"@PrimaryKey (javax.jdo) ","description":"","id":155655500},"158069558":{"title":"Usability: Defaults","url":"pages/tg/tg.html#_usability_defaults","body":"Usability: Defaults  Quick detour: often we want to set up defaults to go with choices. Sensible defaults for action parameters can really improve the usability of the app. ","description":" Quick detour: often we want to set up defaults to go with choices. Sensible defaults for action parameters can really improve the usability of the app. ","id":158069558},"158897592":{"title":"Refactoring","url":"guides/dg/dg.html#__dg_ide_intellij_hints-and-tips_refactoring","body":"Refactoring  Loads of good stuff on the Refactor menu; most used are:  If you can’t remember all those shortcuts, just use ctrl-shift-alt-T (might want to rebind that to something else!) and get a context-sensitive list of refactorings available for the currently selected object ","description":" Loads of good stuff on the Refactor 
 menu; most used are: ","id":158897592},"160872749":{"title":"Related Services","url":"guides/rgfis/rgfis.html#_related_services","body":"Related Services  The default implementation of ContentNegotiationService delegates to ContentMappingService (if present) to convert domain entities into a stable form (eg DTO).  The ContentNegotiationService is itself called by the (default implementation of) RepresentationService. ","description":" The default implementation of ContentNegotiationService delegates to ContentMappingService (if present) to convert domain entities into a stable form (eg DTO). ","id":160872749},"163915714":{"title":"web.xml","url":"migration-notes/migration-notes.html#_web_xml","body":"web.xml  In the web.xml, the \"isis.viewers\" context-param is now ignored. Instead the viewer_wicket.properties and viewer_restfulobjects.properties will both be loaded if present (but neither need be present). ","description":" In the web.xml, the \"isis.viewers\" context-param is now
  ignored. Instead the viewer_wicket.properties and viewer_restfulobjects.properties will both be loaded if present (but neither need be present). ","id":163915714},"165602306":{"title":"GridLoaderService","url":"guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_GridLoaderService","body":"GridLoaderService  The GridLoaderService provides the ability to load the XML layout (grid) for a domain class. ","description":" The GridLoaderService provides the ability to load the XML layout (grid) for a domain class. ","id":165602306},"165750333":{"title":"loaded()","url":"guides/rgcms/rgcms.html#_rgcms_methods_lifecycle_loaded","body":"loaded()  The loaded() lifecycle callback method is called when a (persistent) object has just been loaded from the object store. ","description":" The loaded() lifecycle callback method is called when a (persistent) object has just been loaded from the object store. ","id":165750333},"166045728":{"title":"Sanity Check","url":"guides/cgcom/cgcom.html#_sanit
 y_check_2","body":"Sanity Check  Ensure that the framework builds ok using the same command that your CI server is set up to execute (see section above). ","description":" Ensure that the framework builds ok using the same command that your CI server is set up to execute (see section above). ","id":166045728},"166899251":{"title":"Installing and Setting up","url":"guides/dg/dg.html#__dg_ide_intellij_installing","body":"Installing and Setting up  This section covers installation and setup. These notes/screenshots were prepared using IntelliJ Community Edition 14.1.x, but are believed to be compatible with more recent versions/other editions of the IDE. ","description":" This section covers installation and setup. These notes/screenshots were prepared using IntelliJ Community Edition 14.1.x, but are believed to be compatible with more recent versions/other editions of the IDE. ","id":166899251},"167039338":{"title":"Task","url":"release-notes/release-notes.html#_task_14","body":"Task 
 ","description":"","id":167039338},"169081251":{"title":"Interaction","url":"guides/rgsvc/rgsvc.html#__code_interaction_code","body":"Interaction  The public API of the Interaction class consists of:  This class is concrete (is also the implementation). ","description":" The public API of the Interaction class consists of: ","id":169081251},"174738887":{"title":"Related functionality","url":"guides/ugvw/ugvw.html#_related_functionality_2","body":"Related functionality  The Recent Pages also lists recently visited pages, selected from a drop-down. ","description":" The Recent Pages also lists recently visited pages, selected from a drop-down. ","id":174738887},"175028546":{"title":"Implementation","url":"guides/rgsvc/rgsvc.html#_implementation_5","body":"Implementation  The framework provides a default implementation of this service, namely GridServiceDefault. ","description":" The framework provides a default implementation of this service, namely GridServiceDefault. ","id":17502854
 6},"175197970":{"title":"Performance tuning","url":"pages/tg/tg.html#_performance_tuning","body":"Performance tuning  The QueryResultsCache (request-scoped) domain service allows arbitrary objects to be cached for the duration of a request.  This can be helpful for \"naive\" code which would normally make the same query within a loop. ","description":" The QueryResultsCache (request-scoped) domain service allows arbitrary objects to be cached for the duration of a request. ","id":175197970},"175636232":{"title":"RepositoryService","url":"guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-api_RepositoryService","body":"RepositoryService  The RepositoryService collects together methods for creating, persisting and searching for entities from the underlying persistence store. It acts as an abstraction over the JDO/DataNucleus objectstore.  You can use it during prototyping to write naive queries (find all rows, then filter using the Guava Predicate API, or you can use it to call JDO name
 d queries using JDOQL.  As an alternative, you could also use JDO typesafe queries through the IsisJdoSupport service. ","description":" The RepositoryService collects together methods for creating, persisting and searching for entities from the underlying persistence store. It acts as an abstraction over the JDO/DataNucleus objectstore. ","id":175636232},"176767338":{"title":"Command and Events","url":"guides/rgsvc/rgsvc.html#__rgsvc_intro_commands-and-events","body":"Command and Events  A good number of the domain services manage the execution of action invocations/property edits, along with the state of domain objects that are modified as a result of these. These services capture information which can then be used for various purposes, most notably for auditing or for publishing events, or for deferring execution such that the execution be performed in the background at some later date.  The diagram below shows how these services fit together. The outline boxes are services while
  the coloured boxes represent data structures - defined in the applib and therefore accessible to domain applications - which hold various information about the executions.  To explain:  Implementations of CommandService can use the Command#getMemento() method to obtain a XML equivalent of that Command, reified using the cmd.xsd schema. This can be converted back into a CommandDto using the CommandDtoUtils utility class (part of the applib).  Similarly, implementations of PublisherService can use the InteractionDtoUtils utility class to obtain a InteractionDto representing the interaction, either just for a single execution or for the entire call-graph. This can be converted into XML in a similar fashion.  Likewise, the PublishedObjects class passed to the PublisherService at the end of the interaction provides the PublishedObjects#getDto() method which returns a ChangesDto instance. This can be converted into XML using the ChangesDtoUtils utility class.  One final point: multiple P
 ublisherService implementations are supported because different implementations may have different responsibilities. For example, the (non-ASF) Isis addons' publishmq module is responsible for publishing messages onto an ActiveMQ event bus, for inter-system communication. However, the SPI can also be used for profiling; each execution within the call-graph contains metrics of the number of objects loaded or modified as a result of that execution, and thus could be used for application profiling. The framework provides a default PublisherServiceLogging implementation that logs this using SLF4J. ","description":" A good number of the domain services manage the execution of action invocations/property edits, along with the state of domain objects that are modified as a result of these. These services capture information which can then be used for various purposes, most notably for auditing or for publishing events","id":176767338},"178125062":{"title":"domainEvent()","url":"guides/rgan
 t/rgant.html#_rgant-Action_domainEvent","body":"domainEvent()  Whenever a domain object (or list of domain objects) is to be rendered, the framework fires off multiple domain events for every property, collection and action of the domain object. In the cases of the domain object’s actions, the events that are fired are:  Subscribers subscribe through the EventBusService using either Guava or Axon Framework annotations and can influence each of these phases.  By default the event raised is ActionDomainEvent.Default. For example:  The domainEvent() attribute allows a custom subclass to be emitted allowing more precise subscriptions (to those subclasses) to be defined instead. This attribute is also supported for collections and properties.  For example:  The benefit is that subscribers can be more targeted as to the events that they subscribe to. ","description":" Whenever a domain object (or list of domain objects) is to be rendered, the framework fires off multiple domain events f
 or every property, collection and action of the domain object. In the cases of the domain object’s actions, the events that are fired are: ","id":178125062},"180783343":{"title":"TranslatableException","url":"guides/ugbtb/ugbtb.html#__code_translatableexception_code","body":"TranslatableException  Another mechanism by which messages can be rendered to the user are as the result of exception messages thrown and recognized by an ExceptionRecognizer.  In this case, if the exception implements TranslatableException, then the message will automatically be translated before being rendered. The TranslatableException itself takes the form: ","description":" Another mechanism by which messages can be rendered to the user are as the result of exception messages thrown and recognized by an ExceptionRecognizer. ","id":180783343},"183226640":{"title":"updatedLifecycleEvent()","url":"guides/rgant/rgant.html#_rgant-DomainObject_updatedLifecycleEvent","body":"updatedLifecycleEvent()  Whenever a (
 persistent) domain object has been modified and has been updated in the database, an \"updated\" lifecycle event is fired.  Subscribers subscribe through the EventBusService and can use the event to obtain a reference to the domain object.  By default the event raised is ObjectUpdatedEvent.Default. For example:  The purpose of the updatedLifecycleEvent() attribute is to allows a custom subclass to be emitted instead. A similar attribute is available for other lifecycle events.  For example:  The benefit is that subscribers can be more targeted as to the events that they subscribe to. ","description":" Whenever a (persistent) domain object has been modified and has been updated in the database, an \"updated\" lifecycle event is fired. ","id":183226640},"188123644":{"title":"2013","url":"pages/articles-and-presentations/articles-and-presentations.html#_2013","body":"2013 ","description":"","id":188123644},"189180810":{"title":"HoldsUpdatedAt","url":"guides/rgcms/rgcms.html#_rgcms_clas
 ses_roles_HoldsUpdatedAt","body":"HoldsUpdatedAt  The HoldsUpdatedAt role interface allows the (framework-provided) TimestampService to update each object with the current timestamp whenever it is modified in a transaction.  The interface is defined as:  The current time is obtained from the ClockService.  Entities that implement this interface often also implement HoldsUpdatedBy role interface; as a convenience the Timestampable interface combines the two roles. ","description":" The HoldsUpdatedAt role interface allows the (framework-provided) TimestampService to update each object with the current timestamp whenever it is modified in a transaction. ","id":189180810},"191180113":{"title":"persistence.xml","url":"guides/ugodn/ugodn.html#_ugodn_configuring_persistence-xml","body":"persistence.xml  DataNucleus will for itself also and read the META-INF/persistence.xml. In theory it can hold mappings and even connection strings. However, with Apache Isis we tend to use annotations ins
 tead and externalize connection strings. so its definition is extremely simply, specifying just the name of the \"persistence unit\".  Here’s the one provided by the SimpleApp archetype:  Normally all one needs to do is to change the persistence-unit name.  See DataNucleus' documentation on persistence.xml to learn more. ","description":" DataNucleus will for itself also and read the META-INF/persistence.xml. In theory it can hold mappings and even connection strings. However, with Apache Isis we tend to use annotations instead and externalize connection strings. so its definition is extremely simply, specifying just the name of the \"persistence unit","id":191180113},"193237835":{"title":"Core","url":"release-notes/release-notes.html#_core_8","body":"Core ","description":"","id":193237835},"193497711":{"title":"UI Hints","url":"guides/ugfun/ugfun.html#_ugfun_ui-hints","body":"UI Hints ","description":"","id":193497711},"194608562":{"title":"SPI","url":"guides/rgsvc/rgsvc.html#_sp
 i_19","body":"SPI  The SudoService.Spi service allows implementations of SudoService to notify other services/components that the effective user and roles are different. The default implementation of UserService has been refactored to leverage this SPI.  The names of these methods were chosen based on similar names within Shiro. ","description":" The SudoService.Spi service allows implementations of SudoService to notify other services/components that the effective user and roles are different. The default implementation of UserService has been refactored to leverage this SPI. ","id":194608562},"195374240":{"title":"Update the LDAP committee (if a PMC member)","url":"guides/cgcom/cgcom.html#_update_the_ldap_committee_if_a_pmc_member","body":"Update the LDAP committee (if a PMC member)  (Assuming that the new committer is a PMC member), also add them as to the PMC committee. This takes two steps:  The new committer does not officially become a member of the PMC until the ASF records 
 have been updated. ","description":" (Assuming that the new committer is a PMC member), also add them as to the PMC committee. This takes two steps: ","id":195374240},"195848147":{"title":"ICLA, obtain new account","url":"guides/cgcom/cgcom.html#_icla_obtain_new_account","body":"ICLA, obtain new account  If required (that is, if the committer is not already a committer for a different ASF project), then ask them to complete an ICLA. As a result of this, they should also get an @apache.org user name.  More info can be found in the ASF new committers guide. ","description":" If required (that is, if the committer is not already a committer for a different ASF project), then ask them to complete an ICLA. As a result of this, they should also get an @apache.org user name. ","id":195848147},"198329644":{"title":"Strings (Length)","url":"guides/ugfun/ugfun.html#__ugfun_programming-model_properties_datatypes_strings","body":"Strings (Length)  By default JDO/DataNucleus will map string prop
 erties to a VARCHAR(255). To limit the length, use the @Column(length=…​) annotation.  For example:  This is a good example of a case where Apache Isis infers domain semantics from the JDO annotation. ","description":" By default JDO/DataNucleus will map string properties to a VARCHAR(255). To limit the length, use the @Column(length=…​) annotation. ","id":198329644},"198382465":{"title":"Actions","url":"pages/tg/tg.html#_actions","body":"Actions  Most business functionality is implemented using actions basically a public method accepting domain classes and primitives as its parameter types. The action can return a domain entity, or a collection of entities, or a primitive/String/value, or void. If a domain entity is returned then that object is rendered immediately; if a collection is returned then the Wicket viewer renders a table. Such collections are sometimes called \"standalone\" collections. ","description":" Most business functionality is implemented using actions ba
 sically a public method accepting domain classes and primitives as its parameter types. The action can return a domain entity, or a collection of entities, or a primitive/String/value, or void. If a domain entity is returned then that object is rendered","id":198382465},"203208629":{"title":"New Feature","url":"release-notes/release-notes.html#_new_feature_18","body":"New Feature ","description":"","id":203208629},"203740710":{"title":"RoutingService","url":"guides/rgsvc/rgsvc.html#_rgsvc_presentation-layer-spi_RoutingService","body":"RoutingService  The RoutingService provides the ability to return (and therefore render) an alternative object from an action invocation.  There are two primary use cases:  Currently the routing service is used only by the Wicket viewer; it is ignored by the Restful Objects viewer. ","description":" The RoutingService provides the ability to return (and therefore render) an alternative object from an action invocation. ","id":203740710},"204452611":{"t
 itle":"Related services","url":"guides/rgsvc/rgsvc.html#_related_services_15","body":"Related services  The ConfigurationServiceMenu exposes the allConfigurationProperties action in the user interface. ","description":" The ConfigurationServiceMenu exposes the allConfigurationProperties action in the user interface. ","id":204452611},"207811701":{"title":"API","url":"guides/rgsvc/rgsvc.html#_api_2","body":"API  The API of TitleService is: ","description":" The API of TitleService is: ","id":207811701},"209853740":{"title":"To run","url":"guides/rgmvn/rgmvn.html#_to_run","body":"To run  The plugin is activated by default, so is run simply using:  This will run any tests, and then also - because the plugin is activated by the isis-validate property and bound to the test phase, will run the plugin’s validate goal.  If for any reason you want to disable the validation, use: ","description":" The plugin is activated by default, so is run simply using: ","id":209853740},"213642269":{"ti
 tle":"Moving on","url":"guides/ugfun/ugfun.html#__ugfun_getting-started_helloworld-archetype_moving-on","body":"Moving on  When you are ready to start working on your own app, we don’t recommend building on top of the helloworld app.  Instead, we suggest that you start with the simpleapp archetype instead. Although a little more complex, it provides more structure and tests, all of which will help you as your application grows. ","description":" When you are ready to start working on your own app, we don’t recommend building on top of the helloworld app. ","id":213642269},"216231183":{"title":"Raising a pull request","url":"guides/dg/dg.html#_raising_a_pull_request","body":"Raising a pull request  If you have your own fork, you can now simply push the changes you’ve made locally to your fork:  This will create a corresponding branch in the remote github repo. If you use gitk --all, you’ll also see a remotes/origin/ISIS-123-blobs branch.  Then, use github to raise a pull requ
 est. Pull requests sent to the Apache GitHub repositories will forward a pull request e-mail to the dev mailing list. You’ll probably want to sign up to the dev mailing list first before issuing your first pull request (though that isn’t mandatory).  The process to raise the pull request, broadly speaking: ","description":" If you have your own fork, you can now simply push the changes you’ve made locally to your fork: ","id":216231183},"220685197":{"title":"AbstractSubscriber","url":"guides/rgcms/rgcms.html#_rgcms_classes_super_AbstractSubscriber","body":"AbstractSubscriber  This is a convenience superclass for creating subscriber domain services on the EventBusService. It uses @PostConstruct and @PreDestroy callbacks to automatically register/unregister itself with the EventBusService.  It’s important that subscribers register before any domain services that might emit events on the EventBusService. For example, the (non-ASF) Isis addons' security module provides a domain 
 service that automatically seeds certain domain entities; these will generate lifecycle events and so any subscribers must be registered before such seed services. The easiest way to do this is to use the @DomainServiceLayout#menuOrder() attribute.  As a convenience, the AbstractSubscriber specifies this attribute. ","description":" This is a convenience superclass for creating subscriber domain services on the EventBusService. It uses @PostConstruct and @PreDestroy callbacks to automatically register/unregister itself with the EventBusService. ","id":220685197},"221961571":{"title":"Release prepare \"dry run\"","url":"guides/cgcom/cgcom.html#__cgcom_cutting-a-release_releasing-core_release-prepare-dry-run","body":"Release prepare \"dry run\"  Most of the work is done using the mvn release:prepare goal. Since this makes a lot of changes, we run it first in \"dry run\" mode; only if that works do we run the goal for real.  Run the dry-run as follows:  You may be prompted for the gpg 
 passphrase. ","description":" Most of the work is done using the mvn release:prepare goal. Since this makes a lot of changes, we run it first in \"dry run\" mode; only if that works do we run the goal for real. ","id":221961571},"224301547":{"title":"IsisWebAppBootstrapper","url":"guides/ugbtb/ugbtb.html#__code_isiswebappbootstrapper_code","body":"IsisWebAppBootstrapper  The IsisWebAppBootstrapper servlet context listener bootstraps the shared (global) metadata for the Apache Isis framework. This listener is not required (indeed must not be configured) if the Wicket viewer is in use.  Its definition is:  Its context parameters are: ","description":" The IsisWebAppBootstrapper servlet context listener bootstraps the shared (global) metadata for the Apache Isis framework. This listener is not required (indeed must not be configured) if the Wicket viewer is in use. ","id":224301547},"227377078":{"title":"Initialization","url":"guides/ugfun/ugfun.html#_ugfun_programming-model_domain-ser
 vices_initialization","body":"Initialization  Services can optionally declare lifecycle callbacks to initialize them (when the app is deployed) and to shut them down (when the app is undeployed).  An Apache Isis session is available when initialization occurs (so services can interact with the object store, for example).  The framework will call any public method annotated with @PostConstruct with either no arguments of an argument of type Map<String,String>. In the latter case, the framework passes in the configuration (isis.properties and any other component-specific configuration files).  Shutdown is similar; the framework will call any method annotated with @PreDestroy. ","description":" Services can optionally declare lifecycle callbacks to initialize them (when the app is deployed) and to shut them down (when the app is undeployed). ","id":227377078},"228550183":{"title":"Policies","url":"guides/cgcom/cgcom.html#_cgcom_policies","body":"Policies ","description":"","id":2285501
 83},"229025509":{"title":"Remove references to isis-viewer-wicket parent pom.","url":"migration-notes/migration-notes.html#_remove_references_to_code_isis_viewer_wicket_code_parent_pom","body":"Remove references to isis-viewer-wicket parent pom.  In earlier releases the Wicket viewer defined its own parent pom.xml for dependency management and its dependencies and to declare the various submodules that make up the viewer. This pom.xml has now been incorporated into the parent pom.xml for the Core framework.  Therefore, in the parent pom.xml of your own domain applications, remove: ","description":" In earlier releases the Wicket viewer defined its own parent pom.xml for dependency management and its dependencies and to declare the various submodules that make up the viewer. This pom.xml has now been incorporated into the parent pom.xml for the Core framework. ","id":229025509},"230599582":{"title":"AuditingServiceInternal","url":"guides/rgfis/rgfis.html#_rgfis_persistence-layer_Audi
 tingServiceInternal","body":"AuditingServiceInternal  The (internal) AuditingServiceInternal domain service acts as an internal facade to any configured AuditingService and AuditerService services. It is responsible for obtaining the details of all changes to domain objects within an interaction, and then to call the configured AuditingService to actually create audit entries of those changes. ","description":" The (internal) AuditingServiceInternal domain service acts as an internal facade to any configured AuditingService and AuditerService services. It is responsible for obtaining the details of all changes to domain objects within an interaction, and then to call the configured AuditingService to actually create audit entries of those changes. ","id":230599582},"232471644":{"title":"Registering Subscribers","url":"guides/rgsvc/rgsvc.html#_registering_subscribers","body":"Registering Subscribers  The register() method should be called in the @PostConstruct lifecycle method. It is
  valid and probably the least confusing to readers to also \"unregister\" in the @PreDestroy lifecycle method (though as noted above, unregistering is actually a no-op).  For example:  This works for both singleton (application-scoped) and also @RequestScoped domain services. ","description":" The register() method should be called in the @PostConstruct lifecycle method. It is valid and probably the least confusing to readers to also \"unregister\" in the @PreDestroy lifecycle method (though as noted above, unregistering is actually a no-op). ","id":232471644},"235512052":{"title":"Usage","url":"guides/rgsvc/rgsvc.html#_usage_21","body":"Usage  The usage will vary depending upon the conventions of the design. As of 1.9.0, the usage of the service has been centralized such that the packages to be scanned are located from the AppManifest's #getModules() method.  For example, the SimpleApp archetype's app manifest includes:  where the three module classes in effect define three differe
 nt package prefixes to search under (for domain services, fixture scripts and persistent entities).  Other usages of the ClassDiscoveryService are likely to work in a similar way, requiring some sort of scope to be specified. ","description":" The usage will vary depending upon the conventions of the design. As of 1.9.0, the usage of the service has been centralized such that the packages to be scanned are located from the AppManifest's #getModules() method. ","id":235512052},"238546442":{"title":"rebuildMetamodel()","url":"guides/rgcms/rgcms.html#__rgcms_classes_mixins_Object_rebuildMetamodel","body":"rebuildMetamodel()  The Object_rebuildMetamodel mixin provides the ability to discard the current internal metamodel data (an instance of ObjectSpecification) for the domain class of the rendered object, and recreate from code and other sources (most notably, layout XML data). It has the following signature: ","description":" The Object_rebuildMetamodel mixin provides the ability to d
 iscard the current internal metamodel data (an instance of ObjectSpecification) for the domain class of the rendered object, and recreate from code and other sources (most notably, layout XML data). It has the following signature: ","id":238546442},"238979657":{"title":"New Feature","url":"release-notes/release-notes.html#_new_feature_22","body":"New Feature ","description":"","id":238979657},"240026998":{"title":"Improvement","url":"release-notes/release-notes.html#_improvement_14","body":"Improvement ","description":"","id":240026998},"242030985":{"title":"1.4.0","url":"release-notes/release-notes.html#_release-notes_1.4.0","body":"1.4.0 ","description":"","id":242030985},"243439147":{"title":"hidden()","url":"guides/rgant/rgant.html#_rgant-Property_hidden","body":"hidden()  Properties can be hidden at the domain-level, indicating that they are not visible to the end-user. This attribute can also be applied to actions and collections.  For example:  The acceptable values for the w
 here parameter are:  For example, if a property is annotated with @Title, then normally this should be hidden from all tables. Annotating with @Property(where=Where.NOWHERE) overrides this. ","description":" Properties can be hidden at the domain-level, indicating that they are not visible to the end-user. This attribute can also be applied to actions and collections. ","id":243439147},"243876171":{"title":"Task","url":"release-notes/release-notes.html#_task_28","body":"Task ","description":"","id":243876171},"246275568":{"title":"Registering the Services","url":"guides/rgsvc/rgsvc.html#_registering_the_services_4","body":"Registering the Services  Assuming that the configuration-and-annotation services installer is configured (implicit if using the AppManifest to bootstrap the app), then the default implementation of GridLoaderService is automatically registered and injected, and no further configuration is required.  To use an alternative implementation, use @DomainServiceLayout#m
 enuOrder() (as explained in the introduction to this guide). That said, there should be little reason to use a different implementation; if behaviour does need to be changed, it would also be possible to replace the implementation of either the GridLoaderService or the GridSystemService. ","description":" Assuming that the configuration-and-annotation services installer is configured (implicit if using the AppManifest to bootstrap the app), then the default implementation of GridLoaderService is automatically registered and injected, and no further configuration is required. ","id":246275568},"246409050":{"title":"Using system properties","url":"guides/ugbtb/ugbtb.html#_using_system_properties","body":"Using system properties  The servlet context initializer will search for any system properties called isis.xxx and if present will use them as overrides.  Thus, an alternative option for a Docker image is to bootstrap the servlet container (Tomcat, Jetty) with appropriate system prope
 rties set up. For example, with Tomcat this can be done by writing into the conf/catalina.properties file (see for example this stackoverflow post).  The Docker’s ENTRYPOINT therefore just needs to parse the Docker container’s own command line arguments and use to create this file. ","description":" The servlet context initializer will search for any system properties called isis.xxx and if present will use them as overrides. ","id":246409050},"251015067":{"title":"myapp-dom Module","url":"migration-notes/migration-notes.html#__code_myapp_dom_code_module","body":"myapp-dom Module  In your myapp-dom module (containing definitions of your persistent entities and domain services), create an empty class to represent the module. This should be at the root package for the domain, eg:  Since there is no requirement to actually instantiate this class (it merely provides the location of the myapp.dom package), we give it a private constructor.  If you have any other modules where you hav
 e either domain services or entities, similarly create an empty \"module\" class. ","description":" In your myapp-dom module (containing definitions of your persistent entities and domain services), create an empty class to represent the module. This should be at the root package for the domain, eg: ","id":251015067},"255768608":{"title":"Multi-tenancy support","url":"pages/isis-in-pictures/isis-in-pictures.html#_multi_tenancy_support","body":"Multi-tenancy support  Of the various Isis Addons, the security module has the most features. One significant feature is the ability to associate users and objects with a \"tenancy\". The todoapp uses this feature so that different users' list of todo items are kept separate from one another. A user with administrator is able to switch their own \"tenancy\" to the tenancy of some other user, in order to access the objects in that tenancy:  For more details, see the security module README. ","description":" Of the various Isis Addons, the secur
 ity module has the most features. One significant feature is the ability to associate users and objects with a \"tenancy\". The todoapp uses this feature so that different users' list of todo items are kept separate from one another. A user with administrator is","id":255768608},"257661017":{"title":"AppManifest (bootstrapping)","url":"guides/rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping","body":"AppManifest (bootstrapping)  This section describes how to implement the AppManifest interface to bootstrap both an Apache Isis web application, and also its integration tests. ","description":" This section describes how to implement the AppManifest interface to bootstrap both an Apache Isis web application, and also its integration tests. ","id":257661017},"259358868":{"title":"Hints and Tips","url":"guides/ugodn/ugodn.html#_ugodn_hints-and-tips","body":"Hints and Tips ","description":"","id":259358868},"266250802":{"title":"Implementation","url":"guides/rgsvc/rgsvc.html#_impl
 ementation_2","body":"Implementation  The (non-ASF) Isis addons' kitchensink app provides an example implementation:  which is rendered as: ","description":" The (non-ASF) Isis addons' kitchensink app provides an example implementation: ","id":266250802},"267695496":{"title":"Building Apache Isis","url":"guides/dg/dg.html#_dg_building-isis","body":"Building Apache Isis ","description":"","id":267695496},"273843820":{"title":"Simulated UI (WrapperFactory)","url":"guides/ugtst/ugtst.html#_simulated_ui_code_wrapperfactory_code","body":"Simulated UI (WrapperFactory)  When we talk about integration tests/specs here, we mean tests that exercise the domain object logic, through to the actual database. But we also want the tests to exercise the app from the users’s perspective, which means including the user interface.  For most other frameworks that would require having to test the application in a very heavy weight/fragile fashion using a tool such as Selenium, driving a web browser to 
 navigate . In this regard though, Apache Isis has a significant trick up its sleeve. Because Apache Isis implements the naked objects pattern, it means that the UI is generated automatically from the UI. This therefore allows for other implementations of the UI.  The WrapperFactory domain service allows a test to wrap domain objects and thus to interact with said objects \"as if\" through the UI:  If the test invokes an action that is disabled, then the wrapper will throw an appropriate exception. If the action is ok to invoke, it delegates through.  What this means is that an Isis application can be tested end-to-end without having to deploy it onto a webserver; the whole app can be tested while running in-memory. Although integration tests re (necessarily) slower than unit tests, they are not any harder to write (in fact, in some respects they are easier). ","description":" When we talk about integration tests/specs here, we mean tests that exercise the domain object logic, throug
 h to the actual database. But we also want the tests to exercise the app from the users’s perspective, which means including the user interface. ","id":273843820},"273985863":{"title":"addTo…​() (deprecated)","url":"guides/rgcms/rgcms.html#_rgcms_methods_prefixes_addTo","body":"addTo…​() (deprecated)  The addTo…​() supporting method is called whenever an object is added to a collection. Its purpose is to allow additional business logic to be performed.  For example:  See also removeFrom…​()` ","description":" The addTo…​() supporting method is called whenever an object is added to a collection. Its purpose is to allow additional business logic to be performed. ","id":273985863},"278859977":{"title":"promptStyle() (1.15.0-SNAPSHOT)","url":"guides/rgant/rgant.html#_rgant-PropertyLayout_promptStyle","body":"promptStyle() (1.15.0-SNAPSHOT)  The promptStyle() attribute is used to specify whether, when editing a domain object property, the new value for the property 
 is prompted by way of a dialog box, or is prompted using an inline panel (replacing the property on the page).  If the attribute is not set, then the value of the configuration property isis.viewer.wicket.promptStyle is used. If this is itself not set, then an inline prompt is used.  For example:  Alternatively, the promptStyle() can be specified using file-based layouts. ","description":" The promptStyle() attribute is used to specify whether, when editing a domain object property, the new value for the property is prompted by way of a dialog box, or is prompted using an inline panel (replacing the property on the page). ","id":278859977},"278890330":{"title":"Build a domain app","url":"pages/tg/tg.html#_build_a_domain_app","body":"Build a domain app  The remainder of the tutorial provides guidance on building a domain application. We don’t mandate any particular design, but we suggest one with no more than 3 to 6 domain entities in the first instance. If you’re stuck for ideas
 , then how about:  Hopefully one of those ideas appeals or sparks an idea for something of your own. ","description":" The remainder of the tutorial provides guidance on building a domain application. We don’t mandate any particular design, but we suggest one with no more than 3 to 6 domain entities in the first instance. If you’re stuck for ideas, then how about: ","id":278890330},"278999912":{"title":"Integration API","url":"guides/rgsvc/rgsvc.html#_rgsvc_integration-api","body":"Integration API ","description":"","id":278999912},"282766365":{"title":"Object CSS Styling","url":"guides/ugfun/ugfun.html#_object_css_styling","body":"Object CSS Styling  It is also possible for an object to return a CSS class. In conjunction with customized CSS this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour. ","description":" It is also possible for an object to return a CSS class. In conjunction with customized CS
 S this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour. ","id":282766365},"283629224":{"title":"App Structure","url":"guides/ugfun/ugfun.html#_app_structure","body":"App Structure  As noted above, the generated app is a very simple application consisting of a single domain object that can be easily renamed and extended. The intention is not to showcase all of Apache Isis' capabilities; rather it is to allow you to very easily modify the generated application (eg rename SimpleObject to Customer) without having to waste time deleting lots of generated code.  If you run into issues, please don’t hesitate to ask for help on the users mailing list. ","description":" As noted above, the generated app is a very simple application consisting of a single domain object that can be easily renamed and extended. The intention is not to showcase all of Apache Isis' capabilities; rather it is to allow you to very easi
 ly modify the generated application (eg rename","id":283629224},"285898371":{"title":"ObjectUpdatedEvent","url":"guides/rgcms/rgcms.html#_rgcms_classes_lifecycleevent_ObjectUpdatedEvent","body":"ObjectUpdatedEvent  Subclass of AbstractLifecycleEvent, broadcast when an object has just been updated in the database. This is done either explicitly when the current transaction is flushed using the DomainObjectContainer's #flush(…​) method, else is done implicitly when the transaction commits at the end of the user request.  ObjectUpdatedEvent.Default is the concrete implementation that is used. ","description":" Subclass of AbstractLifecycleEvent, broadcast when an object has just been updated in the database. This is done either explicitly when the current transaction is flushed using the DomainObjectContainer's #flush(…​) method, else is done implicitly when the transaction commits at the end of the user request. ","id":285898371},"286850218":{"title":"Dependent choices for act
 ion parameters","url":"guides/ugfun/ugfun.html#_dependent_choices_for_action_parameters","body":"Dependent choices for action parameters  For action it is also possible (in a limited form) to define dependencies between parameters. Specifically, if one parameter is a drop-down choice, then other drop-down choices can be derived from it.  A good example is a category/sub-category:  Note how the choices method for the 2nd parameter also accepts the first parameter. ","description":" For action it is also possible (in a limited form) to define dependencies between parameters. Specifically, if one parameter is a drop-down choice, then other drop-down choices can be derived from it. ","id":286850218},"287120012":{"title":"Actions","url":"guides/ugfun/ugfun.html#_actions_2","body":"Actions  Of course, the precondition business rules described above are only one type of business rule.  More generally, business rules are implemented in the form of the implementation of actions. Rather than 
 have the end-user have to edit individual properties of numerous objects, an action can encode these rules and allow only safe transformations of the application from one consistent state to the next. ","description":" Of course, the precondition business rules described above are only one type of business rule. ","id":287120012},"288377989":{"title":"Philosophy and Architecture","url":"guides/ugfun/ugfun.html#_ugfun_core-concepts_philosophy","body":"Philosophy and Architecture  This section describes some of the core ideas and architectural patterns upon which Apache Isis builds. ","description":" This section describes some of the core ideas and architectural patterns upon which Apache Isis builds. ","id":288377989},"288392697":{"title":"User Experience","url":"guides/ugvw/ugvw.html#_user_experience_3","body":"User Experience  The copy URL dialog is typically obtained by clicking on the icon.  Alternatively, alt+] will also open the dialog. It can be closed with either OK or the E
 sc key. ","description":" The copy URL dialog is typically obtained by clicking on the icon. ","id":288392697},"291813215":{"title":"Raising events programmatically","url":"guides/rgant/rgant.html#_raising_events_programmatically","body":"Raising events programmatically  Normally events are only raised for interactions through the UI. However, events can be raised programmatically either by calling the EventBusService API directly, or by emulating the UI by wrapping the target object using the WrapperFactory domain service. ","description":" Normally events are only raised for interactions through the UI. However, events can be raised programmatically either by calling the EventBusService API directly, or by emulating the UI by wrapping the target object using the WrapperFactory domain service. ","id":291813215},"293860175":{"title":"Usage","url":"guides/rgsvc/rgsvc.html#_usage_10","body":"Usage  The most common use-case is for bulk actions that act upon multiple objects in a list. 
 The (same) Scratchpad service is injected into each of these objects, and so they can use pass information.  For example, the Isis addons example todoapp (not ASF) demonstrates how the Scratchpad service can be used to calculate the total cost of the selected `ToDoItem`s:  A more complex example could use a view model to enable bulk updates to a set of objects. The view model’s job is to gather track of the items to be updated:  The bulk action in the objects simply adds the selected item to the view model:  If using the Wicket viewer, the ToDoItemBulkUpdate view model returned from the last action invoked will be displayed. Thereafter this view model can be used to perform a bulk update of the \"enlisted\" items. ","description":" The most common use-case is for bulk actions that act upon multiple objects in a list. The (same) Scratchpad service is injected into each of these objects, and so they can use pass information. ","id":293860175},"295225295":{"title":"updatingLifecycleE
 vent()","url":"guides/rgant/rgant.html#_rgant-DomainObject_updatingLifecycleEvent","body":"updatingLifecycleEvent()  Whenever a (persistent) domain object has been modified and is about to be updated to the database, an \"updating\" lifecycle event is fired.  Subscribers subscribe through the EventBusService and can use the event to obtain a reference to the domain object. The subscriber could then, for example, update the object, or it could use it maintain an external datastore. One possible application is to maintain a full-text search database using Apache Lucene or sim

<TRUNCATED>