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/04/20 08:39:11 UTC
[01/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Repository: isis-site
Updated Branches:
refs/heads/asf-site 8af22d420 -> 6ad91949b
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/release-notes/release-notes.html
----------------------------------------------------------------------
diff --git a/content/release-notes/release-notes.html b/content/release-notes/release-notes.html
index 298ecf0..0ccd077 100644
--- a/content/release-notes/release-notes.html
+++ b/content/release-notes/release-notes.html
@@ -1278,7 +1278,7 @@
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1421">ISIS-1421</a> - Possible object deadlock when under load.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1420">ISIS-1420</a> - To support dockerization, have any overrides.properties file take precedence over any other config properties</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1418">ISIS-1418</a> - Support @Nullable for parameters and properties</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1413">ISIS-1413</a> - Gradle script (and docs) in simpleapp archetype to auto-enhance and for dynamic layouts, also liveReload</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1413">ISIS-1413</a> - Gradle script (and docs) in simpleapp archetype to auto-enhance and for file-based layouts, also liveReload</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1399">ISIS-1399</a> - MetricsService to capture within InteractionContext, for profiling.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1390">ISIS-1390</a> - Provide a default CommandService, to return CommandDefault.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1389">ISIS-1389</a> - New InteractionContext service and Interaction to handle the execution of commands.</p> </li>
@@ -1465,10 +1465,10 @@
<p>As a result of this change, the support for editing objects has been modified; rather than an 'edit' button which toggles the entire page into edit mode, instead each property is edited individually. The current implementation of this is using a prompt dialog (very similar to the action prompt dialogs; in a future release we hope to support "in-place" edits instead.</p>
</div>
<div class="paragraph">
- <p>Another notable change in this release include various new domain services. Some of these are in support of the dynamic layouts functionality, others including new access into Apache Isis' metamodel. (Some of these new services were originally part of the (non-ASF) <a href="http://isisaddons.org">Isis Addons</a>). In addition, the <a href="guides/rgsvc.html#_rgsvc_api_DomainObjectContainer"><code>DomainObjectContainer</code></a> service has been deprecated, replaced by a number of fine-grained services (such as <a href="guides/rgsvc.html#_rgsvc_api_RepositoryService"><code>RepositoryService</code></a> and <a href="guides/rgsvc.html#_rgsvc_api_MessageService"><code>MessageService</code></a>).</p>
+ <p>Another notable change in this release include various new domain services. Some of these are in support of the file-based layouts functionality, others including new access into Apache Isis' metamodel. (Some of these new services were originally part of the (non-ASF) <a href="http://isisaddons.org">Isis Addons</a>). In addition, the <a href="guides/rgsvc.html#_rgsvc_api_DomainObjectContainer"><code>DomainObjectContainer</code></a> service has been deprecated, replaced by a number of fine-grained services (such as <a href="guides/rgsvc.html#_rgsvc_api_RepositoryService"><code>RepositoryService</code></a> and <a href="guides/rgsvc.html#_rgsvc_api_MessageService"><code>MessageService</code></a>).</p>
</div>
<div class="paragraph">
- <p>The release also includes a number of new mixins, to automatically surface in the UI an entity\u2019s id, version (if any), and to download the layout XML and rebuild the metamodel for a given domain entity. There is also a mixin to clear any UI hints (part of the dynamic layouts functionality). In all cases these mixins can be hidden using either security or by writing a <a href="guides/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscriber</a> to veto the visibility of the corresponding domain event.</p>
+ <p>The release also includes a number of new mixins, to automatically surface in the UI an entity\u2019s id, version (if any), and to download the layout XML and rebuild the metamodel for a given domain entity. There is also a mixin to clear any UI hints (part of the file-based layouts functionality). In all cases these mixins can be hidden using either security or by writing a <a href="guides/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscriber</a> to veto the visibility of the corresponding domain event.</p>
</div>
<div class="sect2">
<h3 id="_new_feature_6">New Feature</h3>
@@ -1479,7 +1479,7 @@
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1317">ISIS-1317</a> - Allow single domain object class to be invalidated through a mixin.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1313">ISIS-1313</a> - Enhancement to <a href="guides/rgmvn.html#_rgmvn_xsd">xsd</a> goal of the isis-maven-plugin to ignore/include the Isis common schemas.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1292">ISIS-1292</a> - Extend <a href="guides/rgsvc.html#_rgsvc_api_MetaModelService"><code>MetaModelService</code></a> to surface packages, classes etc (as used by the security module).</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-993">ISIS-993</a> - Show different object members on multiple tabs (<a href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic XML layouts</a>)</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-993">ISIS-993</a> - Show different object members on multiple tabs (<a href="guides/ugvw.html#_ugvw_layout_file-based">dynamic XML layouts</a>)</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-784">ISIS-784</a> - Change Wicket viewer to get rid of edit mode, instead allow individual fields to be edited by clicking on them (similar to the way that JIRA works).</p> </li>
</ul>
</div>
@@ -1493,7 +1493,7 @@
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1330">ISIS-1330</a> - Add CSS classes for table cells and for collections to make it easier to fine tune pages using CSS.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1329">ISIS-1329</a> - Extend hint support for "show all"</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1327">ISIS-1327</a> - Change the view mode of the select2 (value drop down) to be a simple text field.</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1324">ISIS-1324</a> - Allow multiple different views of same collection in a layout (<a href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic XML layouts</a>)</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1324">ISIS-1324</a> - Allow multiple different views of same collection in a layout (<a href="guides/ugvw.html#_ugvw_layout_file-based">dynamic XML layouts</a>)</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1323">ISIS-1323</a> - Deprecate @CollectionLayout#renderType, since is duplicated by <a href="guides/rgant.html#_rgant-CollectionLayout_defaultView"><code>@CollectionLayout#defaultView()</code></a></p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1322">ISIS-1322</a> - Mixins not exposing the mixedin object in events (for subscribers to veto).</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1321">ISIS-1321</a> - Extend <a href="guides/rgsvc.html#_rgsvc_api_MetaModelService"><code>MetaModelService</code></a> to allow CSV of metamodel to be downloaded.</p> </li>
@@ -1504,10 +1504,10 @@
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1298">ISIS-1298</a> - Fix deprecated annotation use for ViewModel.Cloneable#clone</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1295">ISIS-1295</a> - Run integration tests using thread-local, to allow "complete" tests that also exercise, eg Quartz jobs.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1240">ISIS-1240</a> - Derive icon from service when not provided</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1239">ISIS-1239</a> - For wicket ui, use a cookie or similar to remember the hint from last time (<a href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic XML layouts</a>)</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1239">ISIS-1239</a> - For wicket ui, use a cookie or similar to remember the hint from last time (<a href="guides/ugvw.html#_ugvw_layout_file-based">dynamic XML layouts</a>)</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1228">ISIS-1228</a> - Reorganizing/splitting out <a href="guides/rgant.html#_rgant-DomainObjectContainer"><code>@DomainObjectContainer</code></a> service.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1048">ISIS-1048</a> - Make view model URLs more secure, eg through a private key (<a href="guides/rgsvc.html#_rgsvc_spi_UrlEncodingService"><code>UrlEncodingService</code></a>).</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1037">ISIS-1037</a> - Support layout.xml as well as layout.json (<a href="guides/ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic XML layouts</a>)</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-1037">ISIS-1037</a> - Support layout.xml as well as layout.json (<a href="guides/ugvw.html#_ugvw_layout_file-based">dynamic XML layouts</a>)</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-806">ISIS-806</a> - In Wicket viewer, shouldn\u2019t be possible to invoke an action if editing a form.</p> </li>
</ul>
</div>
@@ -1787,7 +1787,7 @@
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/release-notes/_release-notes_1.10.0.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
- <p>Apache Isis 1.9.0 provides various new "under-the-cover" features, such as <code>AppManifest</code> for simplified bootstrapping, and content negotiation support within <a href="ugvro.html">RestfulObjects viewer</a>. It also updates the DataNucleus version to DN 4.1.x.</p>
+ <p>Apache Isis 1.9.0 provides various new "under-the-cover" features, such as <code>AppManifest</code> for simplified bootstrapping, and content negotiation support within <a href="../guides/ugvro/ugvro.html">RestfulObjects viewer</a>. It also updates the DataNucleus version to DN 4.1.x.</p>
</div>
<div class="paragraph">
<p>This release was also the first to include the updated Asciidoc website.</p>
@@ -2877,8 +2877,8 @@
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-463">ISIS-463</a> - scope, respectively)</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-468">ISIS-468</a> - Provide better layout management of pages in the Wicket viewer.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-469">ISIS-469</a> - Provide implementations of certain layout facets that read from a "Xxx.layout.properties" file</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-470">ISIS-470</a> - Provide the ability to rebuild the metamodel for individual classes, thus allowing dynamic layout capability\u2026\u200b</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-475">ISIS-475</a> - Dynamic layout using JSON, using an Xxx.layout.json file</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-470">ISIS-470</a> - Provide the ability to rebuild the metamodel for individual classes, thus allowing file-based layout capability\u2026\u200b</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-475">ISIS-475</a> - File-based layout using JSON, using an <code>Xxx.layout.json</code> file</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-478">ISIS-478</a> - Provide conditional choices, defaults and validation between action parameters</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-484">ISIS-484</a> - Contract test for ensuring that injectXxx methods are final and not overridable</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-497">ISIS-497</a> - Allow service actions to be rendered as contributed collections or as contributed properties.</p> </li>
@@ -2971,7 +2971,7 @@
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-447">ISIS-447</a> - In Wicket viewer, distinguish prototype/exploration actions in the app menu</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-457">ISIS-457</a> - New annotation @CssClass for class member, should render in the HTML markup for that member.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-468">ISIS-468</a> - Provide better layout management of pages in the Wicket viewer.</p> </li>
- <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-475">ISIS-475</a> - Dynamic layout using JSON, using an Xxx.layout.json file</p> </li>
+ <li> <p><a href="https://issues.apache.org/jira/browse/ISIS-475">ISIS-475</a> - File-based layout using JSON, using an <code>Xxx.layout.json</code> file</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-478">ISIS-478</a> - Provide conditional choices, defaults and validation between action parameters</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-497">ISIS-497</a> - Allow service actions to be rendered as contributed collections or as contributed properties.</p> </li>
<li> <p><a href="https://issues.apache.org/jira/browse/ISIS-498">ISIS-498</a> - Enhance Wicket's BlobPanel so that, if an image is uploaded as the blob, then it is displayed in thumbnail form.</p> </li>
[17/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/ugbtb.html
----------------------------------------------------------------------
diff --git a/content/guides/ugbtb/ugbtb.html b/content/guides/ugbtb/ugbtb.html
index c05087d..ece396a 100644
--- a/content/guides/ugbtb/ugbtb.html
+++ b/content/guides/ugbtb/ugbtb.html
@@ -378,10 +378,10 @@
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
- <p>This guide provides <a href="#_ugbtb_other-techniques">more advanced</a> guidance on writing maintainable larger applications.</p>
+ <p>This guide provides <a href="../ugbtb/ugbtb.html#_ugbtb_other-techniques">more advanced</a> guidance on writing maintainable larger applications.</p>
</div>
<div class="paragraph">
- <p>Later chapters discuss how to <a href="#_ugbtb_deployment">deploy</a> your app, and discuss other ways in which you can <a href="#">extend</a> or adapt the framework itself to your particular needs.</p>
+ <p>Later chapters discuss how to <a href="../ugbtb/ugbtb.html#_ugbtb_deployment">deploy</a> your app, and discuss other ways in which you can <a href="../ugbtb/ugbtb.html">extend</a> or adapt the framework itself to your particular needs.</p>
</div>
<div class="sect2">
<h3 id="_other_guides">1.1. Other Guides</h3>
@@ -428,1714 +428,23 @@
</div>
</div>
<div class="sect1">
- <h2 id="_ugbtb_view-models">2. View Models</h2>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
- <div class="sectionbody">
- <div class="paragraph">
- <p>View models are a type of domain object (with state, behaviour etc) but where the state is <em>not</em> persisted into the JDO/DataNucleus-managed database, but is instead converted to/from a string memento, and held by the calling client. This opens up a number of more advanced use cases.</p>
- </div>
- <div class="paragraph">
- <p>In this topic we\u2019ll explore those use cases, and learn the programming model and conventions to use view models in your application.</p>
- </div>
- <div class="sect2">
- <h3 id="_ugbtb_view-models_use-cases">2.1. Use Cases</h3>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_use-cases.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
- <div class="paragraph">
- <p>When developing an Apache Isis application you will most likely start off with the persistent domain entities: <code>Customer</code>, <code>Order</code>, <code>Product</code>, and so on. For some applications this may well suffice. However, if the application needs to integrate with other systems, or if the application needs to support reasonably complex business processes, then you may need to look beyond just domain entities. This section explores these use cases.</p>
- </div>
- <div class="sect3">
- <h4 id="__ugbtb_view-models_use-cases_externally-managed-entities">2.1.1. Externally-managed entities</h4>
- <div class="paragraph">
- <p>Sometimes the entities that make up your application are persisted not in the local JDO/DataNucleus database but reside in some other system, for example accessible only through a SOAP web service. Logically that data might still be considered a domain entity and we might want to associate behaviour with it, however it cannot be modelled as a domain entity if only because JDO/DataNucleus doesn\u2019t know about the entity nor how to retrieve or update it.</p>
- </div>
- <div class="paragraph">
- <p>There are a couple of ways around this: we could either replicate the data somehow from the external system into the Isis-managed database (in which case it is once again just another domain entity), or we could set up a stub/proxy for the externally managed entity. This proxy would hold the reference to the externally-managed domain entity (eg an external id), as well as the "smarts" to know how to interact with that entity (by making SOAP web service calls etc).</p>
- </div>
- <div class="paragraph">
- <p>The stub/proxy is a type of view model: a view - if you like - onto the domain entity managed by the external system.</p>
- </div>
- <div class="admonitionblock note">
- <table>
- <tbody>
- <tr>
- <td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
- <td class="content">
- <div class="paragraph">
- <p>DataNucleus does in fact define its own <a href="http://www.datanucleus.org/documentation/extensions/store_manager.html">Store Manager</a> extension point, so an alternative architecture would be to implement this interface such that DataNucleus could make the calls to the external system; these externally-persisted domain entities would therefore be modelled as regular <code>@PersistenceCapable</code> entities after all. For entities not persisted externally the implementation would delegate down to the default RDBMS-specific <code>StoreManager</code> provided by DataNucleus itself.</p>
- </div>
- <div class="paragraph">
- <p>An implementation that supported only reading from an external entity ought to be comparatively straight-forward, but implementing one that also supported updating external entities would need to carefully consider error conditions if the external system is unavailable; distributed transactions are most likely difficult/impossible to implement (and not desirable in any case).</p>
- </div> </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect3">
- <h4 id="__ugbtb_view-models_use-cases_in-memory-entities">2.1.2. In-memory entities</h4>
- <div class="paragraph">
- <p>As a variation on the above, sometimes there are domain objects that are, conceptually at least entities, but whose state is not actually persisted anywhere, merely held in-memory (eg in a hash).</p>
- </div>
- <div class="paragraph">
- <p>A simple example might be read-only configuration data that is read from a config file (eg log4j appender definitions) but thereafter is presented in the UI just like any other entity.</p>
- </div>
- </div>
- <div class="sect3">
- <h4 id="__ugbtb_view-models_use-cases_application-layer-view-models">2.1.3. Application-layer view models</h4>
- <div class="paragraph">
- <p>Domain entities (whether locally persisted using JDO/DataNucleus or managed externally) are the bread-and-butter of Apache Isis applications: the focus after all, should be on the business domain concepts and ensuring that they are solid. Generally those domain entities will make sense to the business domain experts: they form the <em>ubiquitous language</em> of the domain. These domain entities are part of the domain layer.</p>
- </div>
- <div class="paragraph">
- <p>That said, it may not always be practical to expect end-users of the application to interact solely with those domain entities. For example, it may be useful to show a dashboard of the most significant data in the system to a user, often pulling in and aggregating information from multiple points of the app. Obtaining this information by hand (by querying the respective services/repositories) would be tedious and slow; far better to have a dashboard do the job for the end user.</p>
- </div>
- <div class="paragraph">
- <p>A dashboard object is a model of the most relevant state to the end-user, in other words it is (quite literally) a view model. It is not a persisted entity, instead it belongs to the application layer.</p>
- </div>
- <div class="paragraph">
- <p>A view model need not merely aggregate data; it could also provide actions of its own. Most likely these actions will be queries and will always ultimately just delegate down to the appropriate domain-layer service/repository. But in some cases such view model actions might also modify state of underlying domain entities.</p>
- </div>
- <div class="paragraph">
- <p>Another common use for view models is to help co-ordinate complex business processes; for example to perform a quarterly invoicing run, or to upload annual interest rates from an Excel spreadsheet. In these cases the view model might have some state of its own, but in most cases that state does not need to be persisted per se.</p>
- </div>
- <div class="sidebarblock">
- <div class="content">
- <div class="title">
- Desire Lines
- </div>
- <div class="paragraph">
- <p>One way to think of application view models is as modelling the "desire line": the commonly-trod path that end-users must follow to get from point A to point B as quickly as possible.</p>
- </div>
- <div class="paragraph">
- <p>To explain: there are <a href="http://ask.metafilter.com/62599/Where-the-sidewalk-ends">documented</a> <a href="https://sivers.org/walkways">examples</a> <a href="http://www.softpanorama.org/People/Wall/larry_wall_articles_and_interviews.shtml">that</a> architects of university campus will only add in paths some while after the campus buildings are complete: let the pedestrians figure out the routes they want to take. The name we like best for this idea is "desire lines", though it has also been called a "desire path", "paving the path" or "paving the sidewalk".</p>
- </div>
- <div class="paragraph">
- <p>What that means is you should add view models <em>after</em> having built up the domain layer, rather than before. These view models pave that commonly-trod path, automating the steps that the end-user would otherwise have to do by hand.</p>
- </div>
- <div class="paragraph">
- <p>It takes a little practice though, because even when building the domain layer "first", you should still bear in mind what the use cases are that those domain entities are trying to support. You certainly <em>shouldn\u2019t</em> try to build out a domain layer that could support every conceivable use case before starting to think about view models.</p>
- </div>
- <div class="paragraph">
- <p>Instead, you should iterate. Identify the use case/story/end-user objective that you will deliver value to the business. Then build out the minimum domain entities to support that use case (refining the <a href="ugfun.html#__ugfun_core-concepts_philosophy_domain-driven-design_ubiquitous-language">ubiquitous language</a> as you go). Then, identify if there any view models that could be introduced which would simplify the end-user interactions with the system (perhaps automating several related use cases together).</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="__ugbtb_view-models_use-cases_dtos">2.1.4. DTOs</h4>
- <div class="paragraph">
- <p>DTOs (data transfer objects) are simple classes that (according to <a href="https://en.wikipedia.org/wiki/Data_transfer_object">wikipedia</a>) "carry data between processes".</p>
- </div>
- <div class="paragraph">
- <p>If those two processes are parts of the same overall application (the same team builds and deploys both server and client) then there\u2019s generally no need to define a DTO; just access the entities using Apache Isis' <a href="ugvro.html">RestfulObjects viewer</a>.</p>
- </div>
- <div class="paragraph">
- <p>On the other hand, if the client consuming the DTO is a different application\u2009\u2014\u2009by which we mean developed/deployed by a different (possible third-party) team\u2009\u2014\u2009then the DTOs act as a formal contract between the provider and the consumer. In such cases, exposing domain entities over <a href="ugvro.html">RestfulObjects</a> would be "A Bad Thing"\u2122 because the consumer would in effect have access to implementation details that could then not be easily changed by the producer.</p>
- </div>
- <div class="paragraph">
- <p>To support this use case, a view model can be defined such that it can act as a DTO. This is done by annotating the class using JAXB annotations; this allows the consumer to obtain the DTO in XML format along with a corresponding XSD schema describing the structure of that XML. A discussion of how that might be done using an ESB such as <a href="http://camel.apache.org">Apache Camel\u2122</a> follows <a href="#__ugbtb_view-models_use-cases_dtos_consumers">below</a>.</p>
- </div>
- <div class="paragraph">
- <p>In case it\u2019s not obvious, these DTOs are still usable as "regular" view models; they will render in the <a href="ugvw.html">Wicket viewer</a> just like any other. In fact (as the <a href="#_ugbtb_view-models_programming-model">programming model</a> section below makes clear), these JAXB-annotated view models are in many regards the most powerful of all the alternative ways of writing view models.</p>
- </div>
- <div class="paragraph">
- <p>It\u2019s also worth noting that it is also possible to download the XML (or XSD) straight from the UI, useful during development. The view model simply needs to implement the <a href="rgcms.html#_rgcms_classes_mixins_Dto"><code>Dto</code></a> marker interface; the framework has <a href="rgcms.html#_rgcms_classes_mixins_Dto">mixins</a> that contribute the download actions to the view model.</p>
- </div>
- <div class="sect4">
- <h5 id="__ugbtb_view-models_use-cases_dtos_consumers">DTO Consumers</h5>
- <div class="paragraph">
- <p>The actual consumers of DTOs will generally obtain the XML of the view models either by requesting the XML directly, eg using the <a href="ugvro.html">RestfulObjects viewer</a>, or may have the XML sent to them asynchronously using an ESB such as Apache Camel.</p>
- </div>
- <div class="paragraph">
- <p>In the former case, the consumer requests the DTO by calling the REST API with the appropriate HTTP <code>Accept</code> header. An appropriate implementation of <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> can then be used to return the appropriate DTO (as XML).</p>
- </div>
- <div class="paragraph">
- <p>For the latter case, one design is simply for the application to instantiate the view model, then call the <a href="rgsvc.html#_rgsvc_api_JaxbService"><code>JaxbService</code></a> to obtain its corresponding XML. This can then be published onto the ESB, for example using an <a href="http://activemq.apache.org">Apache ActiveMQ \u2122</a> queue.</p>
- </div>
- <div class="paragraph">
- <p>However, rather than try to push all the data that might be needed by any of these external systems in a single XML event (which would require anticipating all the requirements, likely a hopeless task), a better design is to publish only the fact that something of note has changed - ie, that an action on a domain object has been invoked - and then let the consumers call back to obtain other information if required. This can once again be done by calling the REST API with an appropriate HTTP <code>Accept</code> header.</p>
- </div>
- <div class="admonitionblock tip">
- <table>
- <tbody>
- <tr>
- <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
- <td class="content">
- <div class="paragraph">
- <p>This is an example of the <a href="https://leanpub.com/camel-design-patterns">VETRO pattern</a> (validate, enrich, transform, route, operate). In our case we focus on the validation (to determine the nature of the inbound message, ie which action was invoked), and the enrich (callback to obtain a DTO with additional information required by the consumer).</p>
- </div> </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="paragraph">
- <p>The (non-ASF) <a href="http://github.com/isisaddons/isis-module-publishmq">Isis addons' publishmq</a> module provides an out-of-the-box solution of this design. It provides an implementation of the <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>, but which simply publishes instances of <a href="rgcms.html#_rgcms_schema-aim"><code>ActionInvocationMemento</code></a> to an ActiveMQ queue. Camel (or similar) can then be hooked up to consume these events from this queue, and use a processor to parse the action memento to determine what has changed on the source system. Thereafter, a subsequent Camel processor can then call back to the source - via the <a href="#ugvro.adoc">Restful Objects viewer</a> - to enrich the message with additional details using a DTO.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_ugbtb_view-models_programming-model">2.2. Programming Model</h3>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_programming-model.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
- <div class="paragraph">
- <p>So much for the theory; how should view models be implemented? Fundamentally all view models' state is serialized into a string memento; this memento is then held by the client (browser) in the form of a URL. As you might imagine, this URL can become quite long, but Apache Isis offers a mechanism (the <a href="rgsvc.html#_rgsvc_spi_UrlEncodingService"><code>UrlEncodingService</code></a>) if it exceeds the maximum length for a URL (2083 characters). Also, of course, this string memento must only contain characters that it is valid for use within a URL.</p>
- </div>
- <div class="paragraph">
- <p>While the underlying technique is the same irrespective of use case, the programming model provides various ways of defining a view model so that the original intent is not lost. They are:</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <caption class="title">
- Table 1. View model programming model
- </caption>
- <colgroup>
- <col style="width: 14.2857%;">
- <col style="width: 57.1428%;">
- <col style="width: 28.5715%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Use case</th>
- <th class="tableblock halign-left valign-top">Code</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>External entity</p>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@DomainObject</span>(nature=Nature.EXTERNAL_ENTITY)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">CustomerRecordOnSAP</span> { ... }</code></pre>
- </div>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>Annotated with <a href="rgant.html#_rgant-DomainObject_nature"><code>@DomainObject#nature()</code></a> and a nature of <code>EXTERNAL_ENTITY</code>, with memento derived automatically from the properties of the domain object. Collections are ignored, as are any properties annotated as <a href="rgant.html#_rgant-Property_notPersisted">not persisted</a>.</p>
- </div>
- </div></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>In-memory entity</p>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@DomainObject</span>(nature=Nature.INMEMORY_ENTITY)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">Log4JAppender</span> { ... }</code></pre>
- </div>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>As preceding, but using a nature of <code>INMEMORY_ENTITY</code>.</p>
- </div>
- </div></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>Application view model</p>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@DomainObject</span>(nature=Nature.VIEW_MODEL)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">Dashboard</span> { ... }</code></pre>
- </div>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>As preceding, but using a nature of <code>VIEW_MODEL</code>.</p>
- </div>
- </div></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>Application view model</p>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@ViewModel</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">Dashboard</span> { ... }</code></pre>
- </div>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>Annotated with <a href="rgant.html#_rgant-ViewModel"><code>@ViewModel</code></a> annotation (effectively just an alias)' memento is as preceding: from "persisted" properties, collections ignored</p>
- </div>
- </div></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>Application view model</p>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">ExcelUploadManager</span> <span class="directive">implements</span> ViewModel {
- <span class="directive">public</span> <span class="predefined-type">String</span> viewModelMemento() { ... }
- <span class="directive">public</span> <span class="type">void</span> viewModelInit(<span class="predefined-type">String</span> memento) { ... }
-}</code></pre>
- </div>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>Implement <a href="rgcms.html#_rgcms_classes_super_ViewModel"><code>ViewModel</code></a> interface. The memento is as defined by the interface\u2019s methods: the programmer has full control (but also full responsibility) for the string memento.</p>
- </div>
- </div></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>DTO</p>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@XmlRootElement</span>(<span class="string"><span class="delimiter">"</span><span class="content">customer</span><span class="delimiter">"</span></span>)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">CustomerDto</span> { ... }</code></pre>
- </div>
- </div>
- </div></td>
- <td class="tableblock halign-left valign-top">
- <div>
- <div class="paragraph">
- <p>Annotate using JAXB <a href="rgant.html#<em>rgant-XmlRootElement"><code>@XmlRootElement</code></a> annotation. Memento derived automatically by serializing the XML graph as implied by the JAXB annotations. Note that (unlike <code>@ViewModel</code> et al) this state _can include collections.</p>
- </div>
- </div></td>
- </tr>
- </tbody>
- </table>
- <div class="paragraph">
- <p>JAXB-annotated DTOs are discussed in more detail immediately <a href="rg.html#_ugbtb_view-models_jaxb">below</a>.</p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_ugbtb_view-models_jaxb">2.3. JAXB-annotated DTOs</h3>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_view-models_jaxb.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
- <div class="paragraph">
- <p>As noted in the <a href="#_ugbtb_view-models_use-cases">introduction</a>, view models can also be defined using JAXB annotations. The serialized form of these view models is therefore XML, which also enables these view models to act as DTOs.</p>
- </div>
- <div class="paragraph">
- <p>In case it\u2019s not obvious, these DTOs are still usable as "regular" view models; they will render in the <a href="ugvw.html">Wicket viewer</a> just like any other. In fact, these JAXB-annotated view models are in many regards the most powerful of all the various ways of writing view models:</p>
- </div>
- <div class="ulist">
- <ul>
- <li> <p>their entire state (collections as well as properties) is automatically managed from interaction to interaction.<br></p>
- <div class="paragraph">
- <p>In contrast, using <a href="rgant.html#_rgant-ViewModel"><code>@ViewModel</code></a> (or its <a href="rgant.html#_rgant-DomainObject_nature"><code>@DomainObject#nature()</code></a> equivalent) will only manage the state of properties, but not collections. And if using the <a href="rgcms.html#_rgcms_classes_super_ViewModel"><code>ViewModel</code></a> interface, then the programmer must write all the state management (lots of boilerplate).</p>
- </div> </li>
- <li> <p>JAXB-annotated view models are editable.</p> </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>The examples in this section uses the DTO for <code>ToDoItem</code>, taken from the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>. This DTO is defined as follows:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">todoapp.app.viewmodels.todoitem.v1</span>; <i class="conum" data-value="1"></i><b>(1)</b>
-<span class="annotation">@XmlRootElement</span>(name = <span class="string"><span class="delimiter">"</span><span class="content">toDoItemDto</span><span class="delimiter">"</span></span>) <i class="conum" data-value="2"></i><b>(2)</b>
-<span class="annotation">@XmlType</span>(
- propOrder = { <i class="conum" data-value="3"></i><b>(3)</b>
- <span class="string"><span class="delimiter">"</span><span class="content">majorVersion</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">minorVersion</span><span class="delimiter">"</span></span>,
- <span class="string"><span class="delimiter">"</span><span class="content">description</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">category</span><span class="delimiter">"</span></span>, ...
- <span class="string"><span class="delimiter">"</span><span class="content">toDoItem</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">similarItems</span><span class="delimiter">"</span></span>
- }
-)
-<span class="annotation">@DomainObjectLayout</span>(
- titleUiEvent = TitleUiEvent.Doop.class <i class="conum" data-value="4"></i><b>(4)</b>
-)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <span class="directive">implements</span> Dto { <i class="conum" data-value="5"></i><b>(5)</b>
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>, defaultValue = <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>) <i class="conum" data-value="6"></i><b>(6)</b>
- <span class="directive">public</span> <span class="directive">final</span> <span class="predefined-type">String</span> getMajorVersion() { <span class="keyword">return</span> <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>; }
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>, defaultValue = <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>) <i class="conum" data-value="7"></i><b>(7)</b>
- <span class="directive">public</span> <span class="predefined-type">String</span> getMinorVersion() { <span class="keyword">return</span> <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>; }
-
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>) <i class="conum" data-value="8"></i><b>(8)</b>
- <span class="annotation">@Getter</span> <span class="annotation">@Setter</span>
- <span class="directive">protected</span> <span class="predefined-type">String</span> description;
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>)
- <span class="annotation">@Getter</span> <span class="annotation">@Setter</span>
- <span class="directive">protected</span> <span class="predefined-type">String</span> category;
- ...
-
- <span class="annotation">@Getter</span> <span class="annotation">@Setter</span> <i class="conum" data-value="9"></i><b>(9)</b>
- <span class="directive">protected</span> ToDoItem toDoItem;
- <span class="annotation">@XmlElementWrapper</span> <i class="conum" data-value="10"></i><b>(10)</b>
- <span class="annotation">@XmlElement</span>(name = <span class="string"><span class="delimiter">"</span><span class="content">todoItem</span><span class="delimiter">"</span></span>)
- <span class="annotation">@Getter</span> <span class="annotation">@Setter</span>
- <span class="directive">protected</span> <span class="predefined-type">List</span><ToDoItem> similarItems = Lists.newArrayList();
-}</code></pre>
- </div>
- </div>
- <div class="colist arabic">
- <table>
- <tbody>
- <tr>
- <td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>package name encodes major version; see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td>
- </tr>
- <tr>
- <td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>identifies this class as a view model and defines the root element for JAXB serialization</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="3"></i><b>3</b></td>
- <td>all properties in the class must be listed; (they can be ignored using <code>@XmlTransient</code>)</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="4"></i><b>4</b></td>
- <td>demonstrating use of UI events for a subscriber to provide the DTO\u2019s title; see <a href="rgant.html#_rgant-DomainObjectLayout_titleUiEvent"><code>@DomainObjectLayout#titleUiEvent()</code></a>.</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="5"></i><b>5</b></td>
- <td>class name encodes (major and) minor version; see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td>
- </tr>
- <tr>
- <td><i class="conum" data-value="6"></i><b>6</b></td>
- <td>again, see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td>
- </tr>
- <tr>
- <td><i class="conum" data-value="7"></i><b>7</b></td>
- <td>again, see discussion on <a href="#__ugbtb_view-models_jaxb_versioning">versioning</a></td>
- </tr>
- <tr>
- <td><i class="conum" data-value="8"></i><b>8</b></td>
- <td>simple scalar properties</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="9"></i><b>9</b></td>
- <td>reference to a persistent entity; discussed <a href="#__ugbtb_view-models_jaxb_referencing-domain-entities">below</a></td>
- </tr>
- <tr>
- <td><i class="conum" data-value="10"></i><b>10</b></td>
- <td>reference to a collection of persistent entities; again discussed <a href="#__ugbtb_view-models_jaxb_referencing-domain-entities">below</a></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect3">
- <h4 id="__ugbtb_view-models_jaxb_referencing-domain-entities">2.3.1. Referencing Domain Entities</h4>
- <div class="paragraph">
- <p>It\u2019s quite common for view models to be "backed by" (be projections of) some underlying domain entity. The <code>ToDoItemDto</code> we\u2019ve been using as the example in this section is an example: there is an underlying <code>ToDoItem</code> entity.</p>
- </div>
- <div class="paragraph">
- <p>It wouldn\u2019t make sense to serialize out the state of a persistent entity: the point of a DTO is to act as a facade on top of the entity so that the implementation details (of the entity\u2019s structure) don\u2019t leak out to the consumer. However, the identity of the underlying entity can be well defined; Apache Isis defines the <a href="rgcms.html#_rgcms_schema-common">Common schema</a> which defines the <code><oid-dto></code> element (and corresponding <code>OidDto</code> class): the object\u2019s type and its identifier. This is basically a formal XML equivalent to the <code>Bookmark</code> object obtained from the <a href="rgsvc.html#_rgsvc_api_BookmarkService"><code>BookmarkService</code></a>.</p>
- </div>
- <div class="paragraph">
- <p>There is only one requirement to make this work: every referenced domain entity must be annotated with <a href="rgant.html#_rgant-XmlJavaTypeAdapter"><code>@XmlJavaTypeAdapter</code></a>, specifying the framework-provided <code>PersistentEntityAdapter.class</code>. This class is similar to the <code>BookmarkService</code>: it knows how to create an <code>OidDto</code> from an object reference.</p>
- </div>
- <div class="paragraph">
- <p>Thus, in our view model we can legitimately write:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">todoapp.app.viewmodels.todoitem.v1</span>;
-...
-public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <span class="directive">implements</span> Dto {
- ...
- <span class="annotation">@Getter</span> <span class="annotation">@Setter</span>
- <span class="directive">protected</span> ToDoItem toDoItem;
-}</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>All we need to do is remember to add that <code>@XmlJavaTypeAdapter</code> annotation to the referenced entity:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@XmlJavaTypeAdapter</span>(PersistentEntityAdapter.class)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItem</span> ... {
- ...
-}</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>It\u2019s also possible for a DTO to hold collections of objects. These can be of any type, either simple properties, or references to other objects. The only bit of boilerplate that is required is the <code>@XmlElementWrapper</code> annotation. This instructs JAXB to create an XML element (based on the field name) to contain each of the elements. (If this is omitted then the contents of the collection are at the same level as the properties; almost certainly not what is required).</p>
- </div>
- <div class="paragraph">
- <p>For example, the DTO also contains:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">todoapp.app.viewmodels.todoitem.v1</span>;
-...
-public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <span class="directive">implements</span> Dto {
- ...
- <span class="annotation">@XmlElementWrapper</span>
- <span class="annotation">@XmlElement</span>(name = <span class="string"><span class="delimiter">"</span><span class="content">todoItem</span><span class="delimiter">"</span></span>)
- <span class="annotation">@Getter</span> <span class="annotation">@Setter</span>
- <span class="directive">protected</span> <span class="predefined-type">List</span><ToDoItem> similarItems = Lists.newArrayList();
-}</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>There\u2019s nothing to prevent a JAXB DTO from containing rich graphs of data, parent containing children containing children. Be aware though that all of this state will become the DTO\u2019s memento, ultimately converted into a URL-safe form, by way of the <a href="rgsvc.html#_rgsvc_spi_UrlEncodingService"><code>UrlEncodingService</code></a>.</p>
- </div>
- <div class="paragraph">
- <p>There are limits to the lengths of URLs, however. Therefore the DTO should not include state that can easily be derived from other information. If the URL does exceed limits, then provide a custom implementation of <a href="rgsvc.html#_rgsvc_spi_UrlEncodingService"><code>UrlEncodingService</code></a> to handle the memento string in some other fashion (eg substituting it with a GUID, with the memento cached somehow on the server).</p>
- </div>
- </div>
- <div class="sect3">
- <h4 id="__ugbtb_view-models_jaxb_versioning">2.3.2. Versioning</h4>
- <div class="paragraph">
- <p>The whole point of using DTOs (in Apache Isis, at least) is to define a formal contact between two inter-operating but independent applications. Since the only thing we can predicate about the future with any certainty is that it one or both of these applications will change, we should version DTOs from the get-go. This allows us to make changes going forward without unnecessarily breaking existing consumers of the data.</p>
- </div>
- <div class="admonitionblock note">
- <table>
- <tbody>
- <tr>
- <td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
- <td class="content">
- <div class="paragraph">
- <p>There are several ways that versioning might be accomplished; we base our guidelines on this <a href="http://www.xfront.com/Versioning.pdf">article</a> taken from Roger Costello\u2019s blog, well worth a read.</p>
- </div> </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="paragraph">
- <p>We can distinguish two types of changes:</p>
- </div>
- <div class="ulist">
- <ul>
- <li> <p>backwardly compatible changes</p> </li>
- <li> <p>breaking changes.</p> </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>We can immediately say that the XSD namespace should change only when there is a major/breaking change, if following <a href="http://semver.org">semantic versioning</a> that means when we bump the major version number v1, v2, etc.</p>
- </div>
- <div class="paragraph">
- <p>XML namespaces correspond (when using JAXB) to Java packages. We should therefore place our DTOs in a package that contains only the major number; this package will eventually contain a range of DTOs that are intended to be backwardly compatible with one another. The package should also have a <code>package-info.java</code>; it is this that declares the XSD namespace:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@javax</span>.xml.bind.annotation.XmlSchema(
- namespace = <span class="string"><span class="delimiter">"</span><span class="content">http://viewmodels.app.todoapp/todoitem/v1/Dto.xsd</span><span class="delimiter">"</span></span>, <i class="conum" data-value="1"></i><b>(1)</b>
- xmlns = {
- <span class="annotation">@javax</span>.xml.bind.annotation.XmlNs(
- namespaceURI = <span class="string"><span class="delimiter">"</span><span class="content">http://isis.apache.org/schema/common</span><span class="delimiter">"</span></span>,
- prefix = <span class="string"><span class="delimiter">"</span><span class="content">com</span><span class="delimiter">"</span></span>
- )
- },
- elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED
-)
-<span class="keyword">package</span> <span class="namespace">todoapp.app.viewmodels.todoitem.v1</span>; <i class="conum" data-value="2"></i><b>(2)</b></code></pre>
- </div>
- </div>
- <div class="colist arabic">
- <table>
- <tbody>
- <tr>
- <td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>the namespace URI, used by the DTO residing in this package.</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>the package in which the DTO resides. Note that this contains only the major version.</td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="paragraph">
- <p>Although there is no requirement for the namespace URI to correspond to a physical URL, it should be unique. This usually means including a company domain name within the string.</p>
- </div>
- <div class="paragraph">
- <p>As noted above, this package will contain multiple DTO classes all with the same namespace; these represent a set of minor versions of the DTO, each subsequent one intended to be backwardly compatible with the previous. Since these DTO classes will all be in the same package (as per the <a href="#__ugbtb_view-models_jaxb_using-packages-to-version">advice above</a>), the class should therefore include the minor version name:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">todoapp.app.viewmodels.todoitem.v1</span>; <i class="conum" data-value="1"></i><b>(1)</b>
-...
-public <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <span class="directive">implements</span> Dto { <i class="conum" data-value="2"></i><b>(2)</b>
- ...
-}</code></pre>
- </div>
- </div>
- <div class="colist arabic">
- <table>
- <tbody>
- <tr>
- <td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>package contains the major version only</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>DTO class contains the (major and) minor version</td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="paragraph">
- <p>We also recommend that each DTO instance should also specify the version of the XSD schema that it is logically compatible with. Probably most consumers will not persist the DTOs; they will be processed and then discarded. However, it would be wrong to assume that is the case in all cases; some consumers might choose to persist the DTO (eg for replay at some later state).</p>
- </div>
- <div class="paragraph">
- <p>Thus:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItemV1_1</span> <span class="directive">implements</span> Dto {
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>, defaultValue = <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
- <span class="directive">public</span> <span class="directive">final</span> <span class="predefined-type">String</span> getMajorVersion() { <span class="keyword">return</span> <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>; } <i class="conum" data-value="1"></i><b>(1)</b>
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>, defaultValue = <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
- <span class="directive">public</span> <span class="predefined-type">String</span> getMinorVersion() { <span class="keyword">return</span> <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>; } <i class="conum" data-value="2"></i><b>(2)</b>
- ...
-}</code></pre>
- </div>
- </div>
- <div class="colist arabic">
- <table>
- <tbody>
- <tr>
- <td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>returns the major version (in sync with the package)</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>returns the minor version (in sync with the class name)</td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="paragraph">
- <p>These methods always return a hard-coded literal. Any instances serialized from these classes will implicitly "declare" the (major and) minor version of the schema with which they are compatible. If a consumer has a minimum version that it requires, it can therefore inspect the XML instance itself to determine if it is able to consume said XML.</p>
- </div>
- <div class="paragraph">
- <p>If a new (minor) version of a DTO is required, then we recommend copying-and-pasting the previous version, eg:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItemV1_2</span> <span class="directive">implements</span> Dto {
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>, defaultValue = <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
- <span class="directive">public</span> <span class="directive">final</span> <span class="predefined-type">String</span> getMajorVersion() { <span class="keyword">return</span> <span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>; }
- <span class="annotation">@XmlElement</span>(required = <span class="predefined-constant">true</span>, defaultValue = <span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span>)
- <span class="directive">public</span> <span class="predefined-type">String</span> getMinorVersion() { <span class="keyword">return</span> <span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span>; }
- ...
-}</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>Obviously, only changes made must be backward compatible, eg new members must be optional.</p>
- </div>
- <div class="paragraph">
- <p>Alternatively, you might also consider simply editing the source file, ie renaming the class and bumping up the value returned by <code>getMinorVersion()</code>.</p>
- </div>
- <div class="paragraph">
- <p>We also <em>don\u2019t</em> recommend using inheritance (ie <code>ToDoItemV1_2</code> should not inherit from <code>ToDoItemV1_1</code>; this creates unnecessary complexity downstream if generating XSDs and DTOs for the downstream consumer.</p>
- </div>
- </div>
- <div class="sect3">
- <h4 id="__ugbtb_view-models_jaxb_generating-xsds-and-dtos">2.3.3. Generating XSDs and DTOs</h4>
- <div class="paragraph">
- <p>In the section <a href="#__ugbtb_view-models_jaxb_referencing-domain-entities">above</a> it was explained how a view model DTO can transparent reference any "backing" entities; these references are converted to internal object identifiers.</p>
- </div>
- <div class="paragraph">
- <p>However, if the consumer of the XML is another Java process (eg running within an Apache Camel route), then you might be tempted/expect to be able to use the same DTO within that Java process. After a little thought though you\u2019ll realize that (duh!) of course you cannot; the consumer runs in a different process space, and will not have references to those containing entities.</p>
- </div>
- <div class="paragraph">
- <p>There are therefore two options:</p>
- </div>
- <div class="ulist">
- <ul>
- <li> <p>either choose not to have the view model DTO reference any persistent entities, and simply limit the DTO to simple scalars.<br></p>
- <div class="paragraph">
- <p>Such a DTO will then be usable in both the Apache Isis app (to generate the original XML) and in the consumer. The <a href="rgsvc.html#_rgsvc_api_BookmarkService"><code>BookmarkService</code></a> can be used to obtain the object identifiers</p>
- </div> </li>
- <li> <p>alternatively, generate a different DTO for the consumer from the XSD of the view model DTO.</p> </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>The (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> uses the second approach; generating the XSD and consumer\u2019s DTO is mostly just boilerplate <code>pom.xml</code> file. In the todoapp this can be found in the <code>todoapp-xsd</code> Maven module, whose <code>pom.xml</code> is structured as two profiles:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag"><project</span> <span class="attribute-name">...</span> <span class="tag">></span>
- <span class="tag"><artifactId></span>todoapp-xsd<span class="tag"></artifactId></span>
- <span class="tag"><dependencies></span>
- <span class="tag"><dependency></span>
- <span class="tag"><groupId></span>${project.groupId}<span class="tag"></groupId></span>
- <span class="tag"><artifactId></span>todoapp-app<span class="tag"></artifactId></span>
- <span class="tag"></dependency></span>
- <span class="tag"></dependencies></span>
- <span class="tag"><profiles></span>
- <span class="tag"><profile></span>
- <span class="tag"><id></span>isis-xsd<span class="tag"></id></span>
- <span class="tag"><activation></span>
- <span class="tag"><property></span>
- <span class="tag"><name></span>!skip.isis-xsd<span class="tag"></name></span>
- <span class="tag"></property></span>
- <span class="tag"></activation></span>
- ...
- <span class="tag"></profile></span>
- <span class="tag"><profile></span>
- <span class="tag"><id></span>xjc<span class="tag"></id></span>
- <span class="tag"><activation></span>
- <span class="tag"><property></span>
- <span class="tag"><name></span>!skip.xjc<span class="tag"></name></span>
- <span class="tag"></property></span>
- <span class="tag"></activation></span>
- ...
- <span class="tag"></profile></span>
- <span class="tag"></profiles></span>
-<span class="tag"></project></span></code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>The <code>isis-xsd</code> profile generates the XSD using the <a href="rgmvn.html#_rgmvn_xsd"><code>xsd</code> goal</a> of Isis' maven plugin:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag"><build></span>
- <span class="tag"><plugins></span>
- <span class="tag"><plugin></span>
- <span class="tag"><groupId></span>org.apache.isis.tool<span class="tag"></groupId></span>
- <span class="tag"><artifactId></span>isis-maven-plugin<span class="tag"></artifactId></span>
- <span class="tag"><version></span>${isis.version}<span class="tag"></version></span>
- <span class="tag"><configuration></span>
- <span class="tag"><appManifest></span>todoapp.dom.ToDoAppDomManifest<span class="tag"></appManifest></span>
- <span class="tag"><jaxbClasses></span>
- <span class="tag"><jaxbClass></span>todoapp.app.viewmodels.todoitem.v1.ToDoItemV1_1<span class="tag"></jaxbClass></span>
- <span class="tag"></jaxbClasses></span>
- <span class="tag"><separate></span>false<span class="tag"></separate></span>
- <span class="tag"><commonSchemas></span>false<span class="tag"></commonSchemas></span>
- <span class="tag"></configuration></span>
- <span class="tag"><dependencies></span>
- <span class="tag"><dependency></span>
- <span class="tag"><groupId></span>${project.groupId}<span class="tag"></groupId></span>
- <span class="tag"><artifactId></span>todoapp-dom<span class="tag"></artifactId></span>
- <span class="tag"><version></span>${project.version}<span class="tag"></version></span>
- <span class="tag"></dependency></span>
- <span class="tag"><dependency></span>
- <span class="tag"><groupId></span>com.google.guava<span class="tag"></groupId></span>
- <span class="tag"><artifactId></span>guava<span class="tag"></artifactId></span>
- <span class="tag"><version></span>16.0.1<span class="tag"></version></span>
- <span class="tag"></dependency></span>
- <span class="tag"></dependencies></span>
- <span class="tag"><executions></span>
- <span class="tag"><execution></span>
- <span class="tag"><phase></span>generate-sources<span class="tag"></phase></span>
- <span class="tag"><goals></span>
- <span class="tag"><goal></span>xsd<span class="tag"></goal></span>
- <span class="tag"></goals></span>
- <span class="tag"></execution></span>
- <span class="tag"></executions></span>
- <span class="tag"></plugin></span>
- <span class="tag"><plugin></span>
- <span class="tag"><artifactId></span>maven-assembly-plugin<span class="tag"></artifactId></span>
- <span class="tag"><version></span>2.5.3<span class="tag"></version></span>
- <span class="tag"><configuration></span>
- <span class="tag"><descriptor></span>src/assembly/dep.xml<span class="tag"></descriptor></span>
- <span class="tag"></configuration></span>
- <span class="tag"><executions></span>
- <span class="tag"><execution></span>
- <span class="tag"><id></span>create-archive<span class="tag"></id></span>
- <span class="tag"><phase></span>package<span class="tag"></phase></span>
- <span class="tag"><goals></span>
- <span class="tag"><goal></span>single<span class="tag"></goal></span>
- <span class="tag"></goals></span>
- <span class="tag"></execution></span>
- <span class="tag"></executions></span>
- <span class="tag"></plugin></span>
- <span class="tag"></plugins></span>
-<span class="tag"></build></span></code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>The <code>todoapp.dom.ToDoAppDomManifest</code> is a cut-down version of the app manifest that identifies only the <code>dom</code> domain services.</p>
- </div>
- <div class="paragraph">
- <p>The <code>xjc</code> profile, meanwhile, uses the <code>maven-jaxb2-plugin</code> (a wrapper around the <code>schemagen</code> JDK tool) to generate a DTO from the XSD generated by the preceding profile:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag"><build></span>
- <span class="tag"><plugins></span>
- <span class="tag"><plugin></span>
- <span class="tag"><groupId></span>org.jvnet.jaxb2.maven2<span class="tag"></groupId></span>
- <span class="tag"><artifactId></span>maven-jaxb2-plugin<span class="tag"></artifactId></span>
- <span class="tag"><version></span>0.12.3<span class="tag"></version></span>
- <span class="tag"><executions></span>
- <span class="tag"><execution></span>
- <span class="tag"><id></span>xjc-generate<span class="tag"></id></span>
- <span class="tag"><phase></span>generate-sources<span class="tag"></phase></span>
- <span class="tag"><goals></span>
- <span class="tag"><goal></span>generate<span class="tag"></goal></span>
- <span class="tag"></goals></span>
- <span class="tag"></execution></span>
- <span class="tag"></executions></span>
- <span class="tag"><configuration></span>
- <span class="tag"><removeOldOutput></span>true<span class="tag"></removeOldOutput></span>
- <span class="tag"><schemaDirectory></span>
- target/generated-resources/isis-xsd/viewmodels.app.todoapp
- <span class="tag"></schemaDirectory></span>
- <span class="tag"><schemaIncludes></span>
- <span class="tag"><schemaInclude></span>todoitem/v1/Dto.xsd<span class="tag"></schemaInclude></span>
- <span class="tag"></schemaIncludes></span>
- <span class="tag"><bindingDirectory></span>src/main/resources<span class="tag"></bindingDirectory></span>
- <span class="tag"><bindingIncludes></span>
- <span class="tag"><bindingInclude></span>binding.xml<span class="tag"></bindingInclude></span>
- <span class="tag"></bindingIncludes></span>
- <span class="tag"><catalog></span>src/main/resources/catalog.xml<span class="tag"></catalog></span>
- <span class="tag"></configuration></span>
- <span class="tag"></plugin></span>
- <span class="tag"><plugin></span>
- <span class="tag"><groupId></span>org.codehaus.mojo<span class="tag"></groupId></span>
- <span class="tag"><artifactId></span>build-helper-maven-plugin<span class="tag"></artifactId></span>
- <span class="tag"><version></span>1.9.1<span class="tag"></version></span>
- <span class="tag"><executions></span>
- <span class="tag"><execution></span>
- <span class="tag"><id></span>add-source<span class="tag"></id></span>
- <span class="tag"><phase></span>generate-sources<span class="tag"></phase></span>
- <span class="tag"><goals></span>
- <span class="tag"><goal></span>add-source<span class="tag"></goal></span>
- <span class="tag"></goals></span>
- <span class="tag"><configuration></span>
- <span class="tag"><sources></span>
- <span class="tag"><source></span>target/generated-sources/xjc<span class="tag"></source></span>
- <span class="tag"></sources></span>
- <span class="tag"></configuration></span>
- <span class="tag"></execution></span>
- <span class="tag"></executions></span>
- <span class="tag"></plugin></span>
- <span class="tag"></plugins></span>
-<span class="tag"></build></span></code></pre>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_ugbtb_decoupling">3. Decoupling</h2>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
- <div class="sectionbody">
- <div class="paragraph">
- <p>We use Maven modules as a way to group related domain objects together; we can then reason about all the classes in that module as a single unit. By convention there will be a single top-level package corresponding to the module.</p>
- </div>
- <div class="paragraph">
- <p>This section describes how to use Apache Isis' features to ensure that your domain application remains decoupled. The techniques described here are also the ones that have been adopted by the various <a href="http://github.com/isisaddons">Isis Addons</a> modules (not ASF) for security, commands, auditing etc.</p>
- </div>
- <div class="paragraph">
- <p>The following sections describe how to re-assemble an application, in particular where some modules are in-house but others are potentially third-party (eg the Isis Addons modules).</p>
- </div>
- <div class="admonitionblock note">
- <table>
- <tbody>
- <tr>
- <td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
- <td class="content">
- <div class="paragraph">
- <p>There is some overlap with Java 9\u2019s Jigsaw concepts of "module"; in the future we expect to refactor Apache Isis to build on top of this module system.</p>
- </div> </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect2">
- <h3 id="_ugbtb_decoupling_db-schemas">3.1. Database Schemas</h3>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_db-schemas.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
- <div class="paragraph">
- <p>In the same way that Java packages act as a namespace for domain objects, it\u2019s good practice to map domain entities to their own (database) schemas. As of 1.9.0, all the <a href="http://www.isisaddons.org">Isis Addons</a> (non-ASF) modules do this, for example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@javax</span>.jdo.annotations.PersistenceCapable( ...
- schema = <span class="string"><span class="delimiter">"</span><span class="content">isissecurity</span><span class="delimiter">"</span></span>,
- table = <span class="string"><span class="delimiter">"</span><span class="content">ApplicationUser</span><span class="delimiter">"</span></span>)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">ApplicationUser</span> ... { ... }</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>results in a <code>CREATE TABLE</code> statement of:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="sql"><span class="class">CREATE</span> <span class="type">TABLE</span> isissecurity.<span class="string"><span class="delimiter">"</span><span class="content">ApplicationUser</span><span class="delimiter">"</span></span> (
- ...
-)</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>while:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@javax</span>.jdo.annotations.PersistenceCapable( ...
- schema = <span class="string"><span class="delimiter">"</span><span class="content">isisaudit</span><span class="delimiter">"</span></span>,
- table=<span class="string"><span class="delimiter">"</span><span class="content">AuditEntry</span><span class="delimiter">"</span></span>)
-<span class="directive">public</span> <span class="type">class</span> <span class="class">AuditEntry</span> ... { ... }</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>similarly results in:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="sql"><span class="class">CREATE</span> <span class="type">TABLE</span> isisaudit.<span class="string"><span class="delimiter">"</span><span class="content">AuditEntry</span><span class="delimiter">"</span></span> (
- ...
-)</code></pre>
- </div>
- </div>
- <div class="admonitionblock tip">
- <table>
- <tbody>
- <tr>
- <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
- <td class="content">
- <div class="paragraph">
- <p>If for some reason you don\u2019t want to use schemas (though we strongly recommend that you do), then note that you can override the <code>@PersistenceCapable</code> annotation by providing XML metadata (the <code>mappings.jdo</code> file); see the section on <a href="ugodn.html#_ugodn_configuring">configuring DataNucleus Overriding Annotations</a> for more details.</p>
- </div> </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect3">
- <h4 id="_listener_to_create_schema">3.1.1. Listener to create schema</h4>
- <div class="paragraph">
- <p>JDO/DataNucleus does not automatically create these schema objects, but it <em>does</em> provide a listener callback API on the initialization of each class into the JDO metamodel.</p>
- </div>
- <div class="admonitionblock tip">
- <table>
- <tbody>
- <tr>
- <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
- <td class="content">
- <div class="paragraph">
- <p>Actually, the above statement isn\u2019t quite true. In DN 3.2.x (as used by Apache Isis up to v1.8.0) there was no support for schemas. As of Apache Isis 1.9.0 and DN 4.0 there is now support. But we implemented this feature initially against DN 3.2.x, and it still works, so for now we\u2019ve decided to leave it in.</p>
- </div> </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="paragraph">
- <p>Therefore Apache Isis attaches a listener, <code>CreateSchemaObjectFromClassMetadata</code>, that checks for the schema\u2019s existence, and creates the schema if required.</p>
- </div>
- <div class="paragraph">
- <p>The guts of its implementation is:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">CreateSchemaObjectFromClassMetadata</span>
- <span class="directive">implements</span> MetaDataListener,
- DataNucleusPropertiesAware {
- <span class="annotation">@Override</span>
- <span class="directive">public</span> <span class="type">void</span> loaded(<span class="directive">final</span> AbstractClassMetaData cmd) { ... }
-
- <span class="directive">protected</span> <span class="predefined-type">String</span> buildSqlToCheck(<span class="directive">final</span> AbstractClassMetaData cmd) {
- <span class="directive">final</span> <span class="predefined-type">String</span> schemaName = schemaNameFor(cmd);
- <span class="keyword">return</span> <span class="predefined-type">String</span>.format(
- <span class="string"><span class="delimiter">"</span><span class="content">SELECT count(*) FROM INFORMATION_SCHEMA.SCHEMATA where SCHEMA_NAME = '%s'</span><span class="delimiter">"</span></span>, schemaName);
- }
- <span class="directive">protected</span> <span class="predefined-type">String</span> buildSqlToExec(<span class="directive">final</span> AbstractClassMetaData cmd) {
- <span class="directive">final</span> <span class="predefined-type">String</span> schemaName = schemaNameFor(cmd);
- <span class="keyword">return</span> <span class="predefined-type">String</span>.format(<span class="string"><span class="delimiter">"</span><span class="content">CREATE SCHEMA </span><span class="char">\"</span><span class="content">%s</span><span class="char">\"</span><span class="delimiter">"</span></span>, schemaName);
- }
-}</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>where <code>MetaDataListener</code> is the DataNucleus listener API:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">interface</span> <span class="class">MetaDataListener</span> {
- <span class="type">void</span> loaded(AbstractClassMetaData cmd);
-}</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>Although not formal API, the default <code>CreateSchemaObjectFromClassMetadata</code> has been designed to be easily overrideable if you need to tweak it to support other RDBMS'. Any implementation must implement <code>org.datanucleus.metadata.MetaDataListener</code>:</p>
- </div>
- <div class="paragraph">
- <p>The implementation provided has has been tested for HSQLDB, PostgreSQL and MS SQL Server, and is used automatically unless an alternative implementation is specified (as described in the section below).</p>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_alternative_implementation">3.1.2. Alternative implementation</h4>
- <div class="paragraph">
- <p>An alternative implementation can be registered and used through the following configuration property:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="ini">isis.persistor.datanucleus.classMetadataLoadedListener=\
- org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaObjectFromClassMetadata</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>Because this pertains to the JDO Objectstore we suggest you put this configuration property in <code>WEB-INF/persistor_datanucleus.properties</code>; but putting it in <code>isis.properties</code> will also work.</p>
- </div>
- <div class="paragraph">
- <p>Any implementation must implement <code>org.datanucleus.metadata.MetaDataListener</code>. In many cases simply subclassing from <code>CreateSchemaObjectFromClassMetadata</code> and overriding <code>buildSqlToCheck(\u2026\u200b)</code> and <code>buildSqlToExec(\u2026\u200b)</code> should suffice.</p>
- </div>
- <div class="paragraph">
- <p>If you <em>do</em> need more control, your implementation can also optionally implement <code>org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPropertiesAware</code>:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">interface</span> <span class="class">DataNucleusPropertiesAware</span> {
- <span class="directive">public</span> <span class="type">void</span> setDataNucleusProperties(<span class="directive">final</span> <span class="predefined-type">Map</span><<span class="predefined-type">String</span>, <span class="predefined-type">String</span>> properties);
-}</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>This provides access to the properties passed through to JDO/DataNucleus.</p>
- </div>
- <div class="admonitionblock important">
- <table>
- <tbody>
- <tr>
- <td class="icon"> <i class="fa icon-important" title="Important"></i> </td>
- <td class="content">
- <div class="paragraph">
- <p>If you do extend Apache Isis' <code>CreateSchemaObjectFromClassMetadata</code> class for some other database, please <a href="https://issues.apache.org/jira/browse/ISIS">contribute back</a> your improvements.</p>
- </div> </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_ugbtb_decoupling_mixins">3.2. Mixins</h3>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_decoupling_mixins.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
- <div class="paragraph">
- <p>A mixin object allows one class to contribute behaviour - actions, (derived) properties and (derived) collections - to another domain object, either a domain entity or view model.</p>
- </div>
- <div class="paragraph">
- <p>Some programming languages use the term "trait" instead of mixin, and some languages (such as AspectJ) define their own syntax for defining such constructs. In Apache Isis a mixin is very similar to a domain service, however it also defines a single 1-arg constructor that defines the type of the domain objects that it contributes to.</p>
- </div>
- <div class="paragraph">
- <p>Why do this? Two reasons:</p>
- </div>
- <div class="ulist">
- <ul>
- <li> <p>The main reason is to allow the app to be decoupled, so that it doesn\u2019t degrade into the proverbial <a href="http://www.laputan.org/mud/mud.html#BigBallOfMud">"big ball of mud"</a>. Mixins (and contributions) allow dependency to be inverted, so that the dependencies between modules can be kept acyclic and under control.</p> </li>
- <li> <p>However, there is another reason: mixins are also a convenient mechanism for grouping functionality even for a concrete type, helping to rationalize about the dependency between the data and the behaviour.</p> </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Both use cases are discussed below.</p>
- </div>
- <div class="paragraph">
- <p>Syntactically, a mixin is defined using either the <a href="rgant.html#_rgant_Mixin"><code>@Mixin</code></a> annotation or using <a href="rgant.html#_rgant_DomainObject_nature"><code>@DomainObject#nature()</code></a> attribute (specifying a nature of <code>Nature.MIXIN</code>).</p>
- </div>
- <div class="sect3">
- <h4 id="_contributed_collection">3.2.1. Contributed Collection</h4>
- <div class="paragraph">
- <p>The example below shows how to contribute a collection:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@Mixin</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">DocumentHolderDocuments</span> {
-
- <span class="directive">private</span> <span class="directive">final</span> DocumentHolder holder;
- <span class="directive">public</span> DocumentHolderDocuments(DocumentHolder holder) { <span class="local-variable">this</span>.holder = holder; }
-
- <span class="annotation">@Action</span>(semantics=SemanticsOf.SAFE) <i class="conum" data-value="1"></i><b>(1)</b>
- <span class="annotation">@ActionLayout</span>(contributed = Contributed.AS_ASSOCIATION) <i class="conum" data-value="2"></i><b>(2)</b>
- <span class="annotation">@CollectionLayout</span>(render = RenderType.EAGERLY)
- <span class="directive">public</span> <span class="predefined-type">List</span><<span class="predefined-type">Document</span>> documents() { <i class="conum" data-value="3"></i><b>(3)</b>
- ...
- }
- <span class="directive">public</span> <span class="type">boolean</span> hideDocuments() { ... } <i class="conum" data-value="4"></i><b>(4)</b>
-}</code></pre>
- </div>
- </div>
- <div class="colist arabic">
- <table>
- <tbody>
- <tr>
- <td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>required; actions that have side-effects cannot be contributed as collections</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>required; otherwise the mixin will default to being rendered as an action</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="3"></i><b>3</b></td>
- <td>must accept no arguments. The mixin is a collection rather than a property because the return type is a collection, not a scalar.</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="4"></i><b>4</b></td>
- <td>supporting methods follow the usual naming conventions. (That said, in the case of collections, because the collection is derived/read-only, the only supporting method that is relevant is <code>hideXxx()</code>).</td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="paragraph">
- <p>The above will result in a contributed collection for all types that implement/extend from <code>DocumentHolder</code> (so is probably for a mixin across modules).</p>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_contributed_property">3.2.2. Contributed Property</h4>
- <div class="paragraph">
- <p>Contributed properties are defined similarly, for example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@Mixin</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">DocumentHolderMostRecentDocument</span> {
-
- <span class="directive">private</span> <span class="directive">final</span> DocumentHolder holder;
- <span class="directive">public</span> DocumentHolderDocuments(DocumentHolder holder) { <span class="local-variable">this</span>.holder = holder; }
-
- <span class="annotation">@Action</span>(semantics=SemanticsOf.SAFE) <i class="conum" data-value="1"></i><b>(1)</b>
- <span class="annotation">@ActionLayout</span>(contributed = Contributed.AS_ASSOCIATION) <i class="conum" data-value="2"></i><b>(2)</b>
- <span class="directive">public</span> <span class="predefined-type">Document</span>> mostRecentDocument() { <i class="conum" data-value="3"></i><b>(3)</b>
- ...
- }
- <span class="directive">public</span> <span class="type">boolean</span> hideMostRecentDocument() { ... } <i class="conum" data-value="4"></i><b>(4)</b>
-}</code></pre>
- </div>
- </div>
- <div class="colist arabic">
- <table>
- <tbody>
- <tr>
- <td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>required; actions that have side-effects cannot be contributed as collections</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>required; otherwise the mixin will default to being rendered as an action</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="3"></i><b>3</b></td>
- <td>must accept no arguments. The mixin is a property rather than a collection because the return type is a scalar.</td>
- </tr>
- <tr>
- <td><i class="conum" data-value="4"></i><b>4</b></td>
- <td>supporting methods follow the usual naming conventions. (That said, in the case of properties, because the property is derived/read-only, the only supporting method that is relevant is <code>hideXxx()</code>).</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_contributed_action">3.2.3. Contributed Action</h4>
- <div class="paragraph">
- <p>Contributed properties are defined similarly, for example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@Mixin</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">DocumentHolderAddDocument</span> {
-
- <span class="directive">private</span> <span class="directive">final</span> DocumentHolder holder;
- <span class="directive">public</span> Docum
<TRUNCATED>
[28/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/asciidoctor/graphviz-demo.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/asciidoctor/graphviz-demo.png b/content/guides/dg/images/asciidoctor/graphviz-demo.png
new file mode 100644
index 0000000..527839e
Binary files /dev/null and b/content/guides/dg/images/asciidoctor/graphviz-demo.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/asciidoctor/plantuml-demo.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/asciidoctor/plantuml-demo.png b/content/guides/dg/images/asciidoctor/plantuml-demo.png
new file mode 100644
index 0000000..e10ce69
Binary files /dev/null and b/content/guides/dg/images/asciidoctor/plantuml-demo.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png b/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png
new file mode 100644
index 0000000..149a23b
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-010-windows-preferences.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-025-project-properties.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-025-project-properties.png b/content/guides/dg/images/eclipse/eclipse-025-project-properties.png
new file mode 100644
index 0000000..120856c
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-025-project-properties.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-100-project-support.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-100-project-support.png b/content/guides/dg/images/eclipse/eclipse-100-project-support.png
new file mode 100644
index 0000000..7068fb4
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-100-project-support.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-110-project-support.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-110-project-support.png b/content/guides/dg/images/eclipse/eclipse-110-project-support.png
new file mode 100644
index 0000000..49d04a8
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-110-project-support.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-120-console.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-120-console.png b/content/guides/dg/images/eclipse/eclipse-120-console.png
new file mode 100644
index 0000000..1e77587
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-120-console.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png b/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png
new file mode 100644
index 0000000..8d7e10a
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-200-enhancer-fails-duplicates.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png b/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png
new file mode 100644
index 0000000..5350251
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-210-enhancer-fails-duplicates.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png b/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png
new file mode 100644
index 0000000..dbe247e
Binary files /dev/null and b/content/guides/dg/images/eclipse/eclipse-220-enhancer-fails-duplicates.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/010-installing/010-welcome-page.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/010-installing/010-welcome-page.png b/content/guides/dg/images/intellij-idea/010-installing/010-welcome-page.png
new file mode 100644
index 0000000..24fbed3
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/010-installing/010-welcome-page.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/010-installing/020-choose-location.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/010-installing/020-choose-location.png b/content/guides/dg/images/intellij-idea/010-installing/020-choose-location.png
new file mode 100644
index 0000000..1d0cb46
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/010-installing/020-choose-location.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/010-installing/030-installation-options.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/010-installing/030-installation-options.png b/content/guides/dg/images/intellij-idea/010-installing/030-installation-options.png
new file mode 100644
index 0000000..01fbe56
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/010-installing/030-installation-options.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/010-installing/040-start-menu-folder.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/010-installing/040-start-menu-folder.png b/content/guides/dg/images/intellij-idea/010-installing/040-start-menu-folder.png
new file mode 100644
index 0000000..dc850cc
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/010-installing/040-start-menu-folder.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/010-installing/050-completing.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/010-installing/050-completing.png b/content/guides/dg/images/intellij-idea/010-installing/050-completing.png
new file mode 100644
index 0000000..7b80e17
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/010-installing/050-completing.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/010-installing/060-import-settings-or-not.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/010-installing/060-import-settings-or-not.png b/content/guides/dg/images/intellij-idea/010-installing/060-import-settings-or-not.png
new file mode 100644
index 0000000..0054c4c
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/010-installing/060-import-settings-or-not.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/010-installing/070-set-ui-theme.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/010-installing/070-set-ui-theme.png b/content/guides/dg/images/intellij-idea/010-installing/070-set-ui-theme.png
new file mode 100644
index 0000000..247fc64
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/010-installing/070-set-ui-theme.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/020-create-new-project/010-new-project-create.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/020-create-new-project/010-new-project-create.png b/content/guides/dg/images/intellij-idea/020-create-new-project/010-new-project-create.png
new file mode 100644
index 0000000..a950887
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/020-create-new-project/010-new-project-create.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png b/content/guides/dg/images/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png
new file mode 100644
index 0000000..16fe8d1
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/020-create-new-project/030-java-project-select-jdk.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/020-create-new-project/030-java-project-select-jdk.png b/content/guides/dg/images/intellij-idea/020-create-new-project/030-java-project-select-jdk.png
new file mode 100644
index 0000000..d0214c6
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/020-create-new-project/030-java-project-select-jdk.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/020-create-new-project/040-sdk-selected.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/020-create-new-project/040-sdk-selected.png b/content/guides/dg/images/intellij-idea/020-create-new-project/040-sdk-selected.png
new file mode 100644
index 0000000..b9399d6
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/020-create-new-project/040-sdk-selected.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/020-create-new-project/050-name-and-location.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/020-create-new-project/050-name-and-location.png b/content/guides/dg/images/intellij-idea/020-create-new-project/050-name-and-location.png
new file mode 100644
index 0000000..7f3b8d6
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/020-create-new-project/050-name-and-location.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/020-create-new-project/060-create-dir.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/020-create-new-project/060-create-dir.png b/content/guides/dg/images/intellij-idea/020-create-new-project/060-create-dir.png
new file mode 100644
index 0000000..287478a
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/020-create-new-project/060-create-dir.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/030-import-settings/010-settings-import-jar.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/030-import-settings/010-settings-import-jar.png b/content/guides/dg/images/intellij-idea/030-import-settings/010-settings-import-jar.png
new file mode 100644
index 0000000..be6fb1e
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/030-import-settings/010-settings-import-jar.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/030-import-settings/020-select-all.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/030-import-settings/020-select-all.png b/content/guides/dg/images/intellij-idea/030-import-settings/020-select-all.png
new file mode 100644
index 0000000..8e63a35
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/030-import-settings/020-select-all.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/030-import-settings/030-restart.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/030-import-settings/030-restart.png b/content/guides/dg/images/intellij-idea/030-import-settings/030-restart.png
new file mode 100644
index 0000000..c20e0ac
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/030-import-settings/030-restart.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/030-import-settings/040-file-templates.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/030-import-settings/040-file-templates.png b/content/guides/dg/images/intellij-idea/030-import-settings/040-file-templates.png
new file mode 100644
index 0000000..c238509
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/030-import-settings/040-file-templates.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/030-import-settings/050-live-templates.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/030-import-settings/050-live-templates.png b/content/guides/dg/images/intellij-idea/030-import-settings/050-live-templates.png
new file mode 100644
index 0000000..6fc56ba
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/030-import-settings/050-live-templates.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/040-other-settings-compiler/010-build-automatically.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/040-other-settings-compiler/010-build-automatically.png b/content/guides/dg/images/intellij-idea/040-other-settings-compiler/010-build-automatically.png
new file mode 100644
index 0000000..b383b3c
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/040-other-settings-compiler/010-build-automatically.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/040-other-settings-compiler/020-annotation-processor.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/040-other-settings-compiler/020-annotation-processor.png b/content/guides/dg/images/intellij-idea/040-other-settings-compiler/020-annotation-processor.png
new file mode 100644
index 0000000..7618a4d
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/040-other-settings-compiler/020-annotation-processor.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/042-other-settings-maven/010-maven-installation.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/042-other-settings-maven/010-maven-installation.png b/content/guides/dg/images/intellij-idea/042-other-settings-maven/010-maven-installation.png
new file mode 100644
index 0000000..9fef693
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/042-other-settings-maven/010-maven-installation.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/042-other-settings-maven/020-maven-configuration.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/042-other-settings-maven/020-maven-configuration.png b/content/guides/dg/images/intellij-idea/042-other-settings-maven/020-maven-configuration.png
new file mode 100644
index 0000000..945968d
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/042-other-settings-maven/020-maven-configuration.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/044-other-settings-misc/010-auto-import.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/044-other-settings-misc/010-auto-import.png b/content/guides/dg/images/intellij-idea/044-other-settings-misc/010-auto-import.png
new file mode 100644
index 0000000..293d2c3
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/044-other-settings-misc/010-auto-import.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/050-some-plugins/010-some-plugins.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/050-some-plugins/010-some-plugins.png b/content/guides/dg/images/intellij-idea/050-some-plugins/010-some-plugins.png
new file mode 100644
index 0000000..9e2230b
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/050-some-plugins/010-some-plugins.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/050-some-plugins/020-some-plugins-confirmation.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/050-some-plugins/020-some-plugins-confirmation.png b/content/guides/dg/images/intellij-idea/050-some-plugins/020-some-plugins-confirmation.png
new file mode 100644
index 0000000..037c967
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/050-some-plugins/020-some-plugins-confirmation.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png
new file mode 100644
index 0000000..a42b430
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png
new file mode 100644
index 0000000..15ae90b
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png
new file mode 100644
index 0000000..e8a6d1e
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png
new file mode 100644
index 0000000..f3a6d67
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/060-troubleshooting/010-duplicate-classes.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/060-troubleshooting/010-duplicate-classes.png b/content/guides/dg/images/intellij-idea/060-troubleshooting/010-duplicate-classes.png
new file mode 100644
index 0000000..1d6d6c3
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/060-troubleshooting/010-duplicate-classes.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/002-compiler-exclude.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/002-compiler-exclude.png b/content/guides/dg/images/intellij-idea/070-advanced/002-compiler-exclude.png
new file mode 100644
index 0000000..ba9cb59
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/002-compiler-exclude.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/004-gradle-output.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/004-gradle-output.png b/content/guides/dg/images/intellij-idea/070-advanced/004-gradle-output.png
new file mode 100644
index 0000000..023538d
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/004-gradle-output.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/005-gradle-output.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/005-gradle-output.png b/content/guides/dg/images/intellij-idea/070-advanced/005-gradle-output.png
new file mode 100644
index 0000000..edaa8e5
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/005-gradle-output.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/006-livereload-js.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/006-livereload-js.png b/content/guides/dg/images/intellij-idea/070-advanced/006-livereload-js.png
new file mode 100644
index 0000000..f5d6a2b
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/006-livereload-js.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png b/content/guides/dg/images/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png
new file mode 100644
index 0000000..601e418
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/020-dcevm-once-installed.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/020-dcevm-once-installed.png b/content/guides/dg/images/intellij-idea/070-advanced/020-dcevm-once-installed.png
new file mode 100644
index 0000000..afc39ea
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/020-dcevm-once-installed.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png b/content/guides/dg/images/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png
new file mode 100644
index 0000000..951b4a6
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/070-advanced/040-dcevm-run-configuration.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/070-advanced/040-dcevm-run-configuration.png b/content/guides/dg/images/intellij-idea/070-advanced/040-dcevm-run-configuration.png
new file mode 100644
index 0000000..9d042f7
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/070-advanced/040-dcevm-run-configuration.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/010-maven-modules-view.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/010-maven-modules-view.png b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/010-maven-modules-view.png
new file mode 100644
index 0000000..a5b8944
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/010-maven-modules-view.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/020-adding-another-module.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/020-adding-another-module.png b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/020-adding-another-module.png
new file mode 100644
index 0000000..b8e9ba9
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/020-adding-another-module.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/030-other-module-added.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/030-other-module-added.png b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/030-other-module-added.png
new file mode 100644
index 0000000..58b42f0
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/030-other-module-added.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/040-ignoring-modules.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/040-ignoring-modules.png b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/040-ignoring-modules.png
new file mode 100644
index 0000000..0421f99
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/040-ignoring-modules.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/050-ignoring-modules-2.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/050-ignoring-modules-2.png b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/050-ignoring-modules-2.png
new file mode 100644
index 0000000..6bf26ac
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/050-ignoring-modules-2.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/060-ignored-modules.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/060-ignored-modules.png b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/060-ignored-modules.png
new file mode 100644
index 0000000..b16086b
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/100-maven-module-mgmt/060-ignored-modules.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/110-running-the-app/010-run-configuration.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/110-running-the-app/010-run-configuration.png b/content/guides/dg/images/intellij-idea/110-running-the-app/010-run-configuration.png
new file mode 100644
index 0000000..0c6a929
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/110-running-the-app/010-run-configuration.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/110-running-the-app/020-datanucleus-enhancer-goal.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/110-running-the-app/020-datanucleus-enhancer-goal.png b/content/guides/dg/images/intellij-idea/110-running-the-app/020-datanucleus-enhancer-goal.png
new file mode 100644
index 0000000..2dae157
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/110-running-the-app/020-datanucleus-enhancer-goal.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/110-running-the-app/030-running-unit-tests.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/110-running-the-app/030-running-unit-tests.png b/content/guides/dg/images/intellij-idea/110-running-the-app/030-running-unit-tests.png
new file mode 100644
index 0000000..b4e042a
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/110-running-the-app/030-running-unit-tests.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/110-running-the-app/040-running-unit-tests-run-configuration.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/110-running-the-app/040-running-unit-tests-run-configuration.png b/content/guides/dg/images/intellij-idea/110-running-the-app/040-running-unit-tests-run-configuration.png
new file mode 100644
index 0000000..83a4a70
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/110-running-the-app/040-running-unit-tests-run-configuration.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/110-running-the-app/050-running-integration-tests-run-configuration.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/110-running-the-app/050-running-integration-tests-run-configuration.png b/content/guides/dg/images/intellij-idea/110-running-the-app/050-running-integration-tests-run-configuration.png
new file mode 100644
index 0000000..6b0ad89
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/110-running-the-app/050-running-integration-tests-run-configuration.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/200-project-sdk/010-file-project-structure.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/200-project-sdk/010-file-project-structure.png b/content/guides/dg/images/intellij-idea/200-project-sdk/010-file-project-structure.png
new file mode 100644
index 0000000..544a185
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/200-project-sdk/010-file-project-structure.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/200-project-sdk/020-select-jdk.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/200-project-sdk/020-select-jdk.png b/content/guides/dg/images/intellij-idea/200-project-sdk/020-select-jdk.png
new file mode 100644
index 0000000..90865f1
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/200-project-sdk/020-select-jdk.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/200-project-sdk/030-select-jdk-directory.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/200-project-sdk/030-select-jdk-directory.png b/content/guides/dg/images/intellij-idea/200-project-sdk/030-select-jdk-directory.png
new file mode 100644
index 0000000..f5675b2
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/200-project-sdk/030-select-jdk-directory.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/200-project-sdk/040-set-project-level.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/200-project-sdk/040-set-project-level.png b/content/guides/dg/images/intellij-idea/200-project-sdk/040-set-project-level.png
new file mode 100644
index 0000000..026a821
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/200-project-sdk/040-set-project-level.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/200-project-sdk/050-isis-language-level-7.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/200-project-sdk/050-isis-language-level-7.png b/content/guides/dg/images/intellij-idea/200-project-sdk/050-isis-language-level-7.png
new file mode 100644
index 0000000..62e220b
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/200-project-sdk/050-isis-language-level-7.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/200-project-sdk/060-app-language-level-8.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/200-project-sdk/060-app-language-level-8.png b/content/guides/dg/images/intellij-idea/200-project-sdk/060-app-language-level-8.png
new file mode 100644
index 0000000..5723524
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/200-project-sdk/060-app-language-level-8.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/010-new-project.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/010-new-project.png b/content/guides/dg/images/intellij-idea/250-new-project/010-new-project.png
new file mode 100644
index 0000000..edc97cf
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/010-new-project.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/020-new-project-name.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/020-new-project-name.png b/content/guides/dg/images/intellij-idea/250-new-project/020-new-project-name.png
new file mode 100644
index 0000000..15b78a7
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/020-new-project-name.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/030-new-project-new-window.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/030-new-project-new-window.png b/content/guides/dg/images/intellij-idea/250-new-project/030-new-project-new-window.png
new file mode 100644
index 0000000..b8d8e61
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/030-new-project-new-window.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/040-new-module-from-existing-sources.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/040-new-module-from-existing-sources.png b/content/guides/dg/images/intellij-idea/250-new-project/040-new-module-from-existing-sources.png
new file mode 100644
index 0000000..160b3b9
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/040-new-module-from-existing-sources.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/050-specify-source-folder.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/050-specify-source-folder.png b/content/guides/dg/images/intellij-idea/250-new-project/050-specify-source-folder.png
new file mode 100644
index 0000000..5eecb9c
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/050-specify-source-folder.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/060-import-using-maven.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/060-import-using-maven.png b/content/guides/dg/images/intellij-idea/250-new-project/060-import-using-maven.png
new file mode 100644
index 0000000..55a5db3
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/060-import-using-maven.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/070-import-module-settings.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/070-import-module-settings.png b/content/guides/dg/images/intellij-idea/250-new-project/070-import-module-settings.png
new file mode 100644
index 0000000..6828802
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/070-import-module-settings.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/080-maven-profiles.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/080-maven-profiles.png b/content/guides/dg/images/intellij-idea/250-new-project/080-maven-profiles.png
new file mode 100644
index 0000000..fcc12aa
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/080-maven-profiles.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/090-maven-coordinates.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/090-maven-coordinates.png b/content/guides/dg/images/intellij-idea/250-new-project/090-maven-coordinates.png
new file mode 100644
index 0000000..fc6691f
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/090-maven-coordinates.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/100-annotation-processing.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/100-annotation-processing.png b/content/guides/dg/images/intellij-idea/250-new-project/100-annotation-processing.png
new file mode 100644
index 0000000..dbb7b6a
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/100-annotation-processing.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/110-parameter8.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/110-parameter8.png b/content/guides/dg/images/intellij-idea/250-new-project/110-parameter8.png
new file mode 100644
index 0000000..a7c4d8d
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/110-parameter8.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/250-new-project/120-clean-generate-sources.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/250-new-project/120-clean-generate-sources.png b/content/guides/dg/images/intellij-idea/250-new-project/120-clean-generate-sources.png
new file mode 100644
index 0000000..5a9182b
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/250-new-project/120-clean-generate-sources.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/300-paraname8-support/010-configuring-the-compiler.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/300-paraname8-support/010-configuring-the-compiler.png b/content/guides/dg/images/intellij-idea/300-paraname8-support/010-configuring-the-compiler.png
new file mode 100644
index 0000000..50a043f
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/300-paraname8-support/010-configuring-the-compiler.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/images/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png
----------------------------------------------------------------------
diff --git a/content/guides/dg/images/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png b/content/guides/dg/images/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png
new file mode 100644
index 0000000..ca0bb13
Binary files /dev/null and b/content/guides/dg/images/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/eclipse/isis-templates.xml
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/eclipse/isis-templates.xml b/content/guides/dg/resources/eclipse/isis-templates.xml
new file mode 100644
index 0000000..f8ea500
--- /dev/null
+++ b/content/guides/dg/resources/eclipse/isis-templates.xml
@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<templates><template autoinsert="true" context="java-members" deleted="false" description="Action" enabled="true" name="isa">// {{ ${actionName} (action)
+${:import(org.apache.isis.applib.annotation.MemberOrder)}@MemberOrder(sequence="1")
+public ${ReturnType} ${actionName}(final ${ParameterType} ${parameterType}) {
+ return ${cursor}null; // TODO: business logic here
+}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument N choices" enabled="true" name="isacho">${:import(java.util.Collections,java.util.List)}public List<${ParameterType}> choices${ParameterNumThenCapitalizedActionName}() {
+ return ${cursor}Collections.emptyList(); // TODO: return list of choices for argument N
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument defaults" enabled="true" name="isadef">public ${ParameterType} default${ParameterNumThenCapitalizedActionName}() {
+ return ${cursor}null; // TODO: return default for argument N
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action disabling" enabled="true" name="isadis">public String disable${ActionName}() {
+ return ${cursor}null; // TODO: return reason why action disabled, null if enabled
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action hiding" enabled="true" name="isahid">public boolean hide${ActionName}() {
+ return ${cursor}false; // TODO: return true if action is hidden, false if visible
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Action validation" enabled="true" name="isaval">public String validate${ActionName}(final ${ParameterType} ${parameterType}) {
+ return ${cursor}null; // TODO: return reason why action arguments are invalid, null if ok
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (1:m bidir parent)" enabled="true" name="isc-1m">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
+ // check for no-op
+ if (${childElementName} == null ||
+ get${ChildCollectionName}().contains(${childElementName})) {
+ return;
+ }
+ // dissociate arg from its current parent (if any).
+ ${childElementName}.clear${ParentPropertyNameInChild}();
+ // associate arg
+ ${childElementName}.set${ParentPropertyNameInChild}(this);
+ get${ChildCollectionName}().add(${childElementName});
+ // additional business logic
+ onAddTo${ChildCollectionName}(${childElementName});
+}
+public void removeFrom${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
+ // check for no-op
+ if (${childElementName} == null ||
+ !get${ChildCollectionName}().contains(${childElementName})) {
+ return;
+ }
+ // dissociate arg
+ ${childElementName}.set${ParentPropertyNameInChild}(null);
+ get${ChildCollectionName}().remove(${childElementName});
+ // additional business logic
+ onRemoveFrom${ChildCollectionName}(${childElementName});
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir child)" enabled="true" name="isc-mmc">public void addTo${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) {
+ // check for no-op
+ if (${parentElementName} == null ||
+ get${ParentCollectionName}().contains(${parentElementName})) {
+ return;
+ }
+ // delegate to parent to add
+ ${parentElementName}.addTo${ChildCollectionNameInParent}(this);
+ // additional business logic
+ onAddTo${ParentCollectionName}(${parentElementName});
+}
+public void removeFrom${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) {
+ // check for no-op
+ if (${parentElementName} == null ||
+ !get${ParentCollectionName}().contains(${parentElementName})) {
+ return;
+ }
+ // delegate to parent to remove
+ ${parentElementName}.removeFrom${ChildCollectionNameInParent}(this);
+ // additional business logic
+ onRemoveFrom${ParentCollectionName}(${parentElementName});
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir parent)" enabled="true" name="isc-mmp">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
+ // check for no-op
+ if (${childElementName} == null ||
+ get${ChildCollectionName}().contains(${childElementName})) {
+ return;
+ }
+ // dissociate arg from its current parent (if any).
+ ${childElementName}.removeFrom${ParentCollectionNameInChild}(this);
+ // associate arg
+ ${childElementName}.get${ParentCollectionNameInChild}().add(this);
+ get${ChildCollectionName}().add(${childElementName});
+ // additional business logic
+ onAddTo${ChildCollectionName}(${childElementName});
+}
+public void removeFrom${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {
+ // check for no-op
+ if (${childElementName} == null ||
+ !get${ChildCollectionName}().contains(${childElementName})) {
+ return;
+ }
+ // dissociate arg
+ ${childElementName}.get${ParentCollectionNameInChild}().remove(this);
+ get${ChildCollectionName}().remove(${childElementName});
+ // additional business logic
+ onRemoveFrom${ChildCollectionName}(${childElementName});
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection disabling" enabled="true" name="iscdis">public String disable${CollectionName}() {
+ return ${cursor}null; // TODO: return reason why collection read-only, null if editable
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection hiding" enabled="true" name="ischid">public boolean hide${CollectionName}() {
+ return ${cursor}false; // TODO: return true if hidden, false otherwise
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (list)" enabled="true" name="iscl">// {{ ${CollectionName} (Collection)
+${:import(java.util.List,java.util.ArrayList,org.apache.isis.applib.annotation.MemberOrder)}private List<${ElementType}> ${collectionName} = new ArrayList<${ElementType}>();
+@MemberOrder(sequence="1")
+public List<${ElementType}> get${CollectionName}() {
+ return ${collectionName};
+}
+public void set${CollectionName}(final List<${ElementType}> ${collectionName}) {
+ this.${collectionName} = ${collectionName};
+}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Collection modify" enabled="true" name="iscmod">public void addTo${CollectionName}(final ${ElementType} ${elementName}) {
+ // check for no-op
+ if (${elementName} == null ||
+ get${CollectionName}().contains(${elementName})) {
+ return;
+ }
+ // associate new
+ get${CollectionName}().add(${elementName});
+ // additional business logic
+ onAddTo${CollectionName}(${elementName});
+}
+public void removeFrom${CollectionName}(final ${ElementType} ${elementName}) {
+ // check for no-op
+ if (${elementName} == null ||
+ !get${CollectionName}().contains(${elementName})) {
+ return;
+ }
+ // dissociate existing
+ get${CollectionName}().remove(${elementName});
+ // additional business logic
+ onRemoveFrom${CollectionName}(${elementName});
+}
+protected void onAddTo${CollectionName}(final ${ElementType} ${elementName}) {
+}
+protected void onRemoveFrom${CollectionName}(final ${ElementType} ${elementName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (set)" enabled="true" name="iscs">// {{ ${CollectionName} (Collection)
+${:import(java.util.Set,java.util.LinkedHashSet,org.apache.isis.applib.annotation.MemberOrder)}private Set<${ElementType}> ${collectionName} = new LinkedHashSet<${ElementType}>();
+@MemberOrder(sequence="1")
+public Set<${ElementType}> get${CollectionName}() {
+ return ${collectionName};
+}
+public void set${CollectionName}(final Set<${ElementType}> ${collectionName}) {
+ this.${collectionName} = ${collectionName};
+}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Collection validation" enabled="true" name="iscval">public String validateAddTo${CollectionName}(final ${ElementType} ${elementName}) {
+ return ${cursor}null; // TODO: return reason why argument cannot be added, null if ok to add
+}
+public String validateRemoveFrom${CollectionName}(final ${ElementType} ${elementName}) {
+ return null; // TODO: return reason why argument cannot be removed, null if ok to remove
+}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies region" enabled="true" name="isd">// {{ injected dependencies
+${cursor}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies - injected service" enabled="true" name="isds">// {{ injected: ${ServiceType}
+private ${ServiceType} ${serviceType};
+public void set${ServiceType}(final ${ServiceType} ${serviceType}) {
+ this.${serviceType} = ${serviceType};
+}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (persistent)" enabled="true" name="isfp">// {{ Create new (already persisted) ${Type}
+public ${Type} new${Type}() {
+ ${Type} ${type} = newTransientInstance(${Type}.class);
+ ${cursor}// TODO: set up any properties
+
+ persist(${type});
+ return ${type};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (transient)" enabled="true" name="isft">// {{ Create new (still transient) ${Type}
+public ${Type} new${InstanceOfType}() {
+ ${Type} ${type} = newTransientInstance(${Type}.class);
+ ${cursor}// TODO: set up any properties
+
+ return ${type};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Identification region" enabled="true" name="isid">// {{ Identification
+${cursor}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - icon" enabled="true" name="isidicon">public String iconName() {
+ return ${cursor}null; // TODO: return name of image file (without suffix)
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - title" enabled="true" name="isidtitle">public String title() {
+ ${:import(org.apache.isis.applib.util.TitleBuffer)}final TitleBuffer buf = new TitleBuffer();
+ ${cursor}// TODO: append to TitleBuffer, typically value properties
+ return buf.toString();
+}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (1:n bidir, foreign key)" enabled="true" name="isjdc-1n-b-fk">// {{ ${CollectionName} (Collection)
+${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persistent)}@Persistent(mappedBy="${elementNameInChild}", dependentElement="${trueOrFalse}")
+private SortedSet<${ElementType}> ${collectionName} = new TreeSet<${ElementType}>();
+@MemberOrder(sequence="1")
+public SortedSet<${ElementType}> get${CollectionName}() {
+return ${collectionName};
+}
+public void set${CollectionName}(final SortedSet<${ElementType}> ${collectionName}) {
+this.${collectionName} = ${collectionName};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (1:n bidir, join table)" enabled="true" name="isjdc-1n-b-jt">// {{ ${CollectionName} (Collection)
+${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persitent,javax.jdo.annotations.Join)}@Persistent(mappedBy="${elementNameInChild}", dependentElement="${trueOrFalse}")
+@Join
+private SortedSet<${ElementType}> ${collectionName} = new TreeSet<${ElementType}>();
+@MemberOrder(sequence="1")
+public SortedSet<${ElementType}> get${CollectionName}() {
+return ${collectionName};
+}
+public void set${CollectionName}(final SortedSet<${ElementType}> ${collectionName}) {
+this.${collectionName} = ${collectionName};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (1:n unidir, foreign key)" enabled="true" name="isjdc-1n-u-fk">// {{ ${CollectionName} (Collection)
+${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Element)}
+@Element(column="${ColumnName}", dependent="${trueOrFalse}")
+private SortedSet<${ElementType}> ${collectionName} = new TreeSet<${ElementType}>();
+@MemberOrder(sequence="1")
+public SortedSet<${ElementType}> get${CollectionName}() {
+return ${collectionName};
+}
+public void set${CollectionName}(final SortedSet<${ElementType}> ${collectionName}) {
+this.${collectionName} = ${collectionName};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (1:n unidir, join table)" enabled="true" name="isjdc-1n-u-jt">// {{ ${CollectionName} (Collection)
+${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Join,javax.jdo.annotations.Element)}@Join
+@Element(dependent="${trueOrFalse}")
+private SortedSet<${ElementType}> ${collectionName} = new TreeSet<${ElementType}>();
+@MemberOrder(sequence="1")
+public SortedSet<${ElementType}> get${CollectionName}() {
+return ${collectionName};
+}
+public void set${CollectionName}(final SortedSet<${ElementType}> ${collectionName}) {
+this.${collectionName} = ${collectionName};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (m:n bidir - child)" enabled="true" name="isjdc-mn-ub-c">// {{ ${CollectionName} (Collection)
+${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persistent)}@Persistent(mappedBy="${ChildCollectionNameInParent}")
+private SortedSet<${ElementType}> ${collectionName} = new TreeSet<${ElementType}>();
+public SortedSet<${ElementType}> get${CollectionName}() {
+return ${collectionName};
+}
+public void set${CollectionName}(final SortedSet<${ElementType}> ${collectionName}) {
+this.${collectionName} = ${collectionName};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (m:n unidir & bidir - parent)" enabled="true" name="isjdc-mn-ub-p">// {{ ${CollectionName} (Collection)
+${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persistent,javax.jdo.annotations.Join,javax.jdo.annotations.Element)}@Persistent(table="${TableName}")
+@Join(column="${ThisEntityFieldName}")
+@Element(column="${RelatedEntityFieldName}")
+private SortedSet<${ElementType}> ${collectionName} = new TreeSet<${ElementType}>();@MemberOrder(sequence="1")
+
+public SortedSet<${ElementType}> get${CollectionName}() {
+ return ${collectionName};
+}
+public void set${CollectionName}(final SortedSet<${ElementType}> ${collectionName}) {
+ this.${collectionName} = ${collectionName};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Property (simple - 1:1 unidir & bidir - parent)" enabled="true" name="isjdp">// {{ ${PropertyName} (property)
+private ${PropertyType} ${propertyName};
+${:import(org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Column)}@MemberOrder(sequence="1")
+@Column(allowsNull="${trueOrFalse}")
+public ${PropertyType} get${PropertyName}() {
+ return ${propertyName};
+}
+public void set${PropertyName}(final ${PropertyType} ${propertyName}) {
+ this.${propertyName} = ${propertyName};
+}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Property (1:1 child)" enabled="true" name="isjdp-11c">// {{ ${PropertyName} (property)
+private ${PropertyType} ${propertyName};
+${:import(org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Column,javax.jdo.annotations.Persistent)}@MemberOrder(sequence="1")
+@Column(allowsNull="${trueOrFalse}")
+@Persistent(mappedBy="${fieldOnChild}")
+public ${PropertyType} get${PropertyName}() {
+ return ${propertyName};
+}
+public void set${PropertyName}(final ${PropertyType} ${propertyName}) {
+ this.${propertyName} = ${propertyName};
+}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle region" enabled="true" name="isl">// {{ Lifecycle methods
+${cursor}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - create" enabled="true" name="islc">public void created() {
+ ${cursor}// TODO: post-create
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - load" enabled="true" name="isll">public void loading() {
+ ${cursor}// TODO: pre-load
+}
+public void loaded() {
+ // TODO: post-load
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - persist" enabled="true" name="islp">public void persisting() {
+ ${cursor}// TODO: pre-persist
+}
+public void persisted() {
+ // TODO: post-persist
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - remove" enabled="true" name="islr">public void removing() {
+ ${cursor}// TODO: pre-remove
+}
+public void removed() {
+ // TODO: post-remove
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - update" enabled="true" name="islu">public void updating() {
+ ${cursor}// TODO: pre-update
+}
+public void updated() {
+ // TODO: post-update
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property" enabled="true" name="isp">// {{ ${PropertyName} (property)
+private ${PropertyType} ${propertyName};
+${:import(org.apache.isis.applib.annotation.MemberOrder)}@MemberOrder(sequence="1")
+public ${PropertyType} get${PropertyName}() {
+ return ${propertyName};
+}
+public void set${PropertyName}(final ${PropertyType} ${propertyName}) {
+ this.${propertyName} = ${propertyName};
+}
+// }}
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir child)" enabled="true" name="isp-11c">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {
+ ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();
+ // check for no-op
+ if (${parentPropertyName} == null ||
+ ${parentPropertyName}.equals(current${ParentPropertyName})) {
+ return;
+ }
+ // delegate to parent to associate
+ ${parentPropertyName}.modify${ChildPropertyNameInParent}(this);
+ // additional business logic
+ onModify${ParentPropertyName}(current${ParentPropertyName}, ${parentPropertyName});
+}
+public void clear${PropertyName}() {
+ ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();
+ // check for no-op
+ if (current${ParentPropertyName} == null) {
+ return;
+ }
+ // delegate to parent to dissociate
+ current${ParentPropertyName}.clear${ChildPropertyNameInParent}();
+ // additional business logic
+ onClear${ParentPropertyName}(current${ParentPropertyName});
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir parent)" enabled="true" name="isp-11p">public void modify${ChildPropertyName}(final ${ChildPropertyType} ${childPropertyName}) {
+ ${ChildPropertyType} current${ChildPropertyName} = get${ChildPropertyName}();
+ // check for no-op
+ if (${childPropertyName} == null ||
+ ${childPropertyName}.equals(current${ChildPropertyName})) {
+ return;
+ }
+ // dissociate existing
+ clear${ChildPropertyName}();
+ // associate new
+ ${childPropertyName}.set${ParentPropertyNameInChild}(this);
+ set${ChildPropertyName}(${childPropertyName});
+ // additional business logic
+ onModify${ChildPropertyName}(current${ChildPropertyName}, ${childPropertyName});
+}
+public void clear${ChildPropertyName}() {
+ ${ChildPropertyType} current${ChildPropertyName} = get${ChildPropertyName}();
+ // check for no-op
+ if (current${ChildPropertyName} == null) {
+ return;
+ }
+ // dissociate existing
+ current${ChildPropertyName}.set${ParentPropertyNameInChild}(null);
+ set${ChildPropertyName}(null);
+ // additional business logic
+ onClear${ChildPropertyName}(current${ChildPropertyName});
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (m:1 bidir child)" enabled="true" name="isp-m1">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {
+ ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();
+ // check for no-op
+ if (${parentPropertyName} == null ||
+ ${parentPropertyName}.equals(current${ParentPropertyName})) {
+ return;
+ }
+ // delegate to parent to associate
+ ${parentPropertyName}.addTo${ChildCollectionNameInParent}(this);
+ // additional business logic
+ onModify${ParentPropertyName}(current${ParentPropertyName}, ${parentPropertyName});
+}
+public void clear${ParentPropertyName}() {
+ ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();
+ // check for no-op
+ if (current${ParentPropertyName} == null) {
+ return;
+ }
+ // delegate to parent to dissociate
+ current${ParentPropertyName}.removeFrom${ChildCollectionNameInParent}(this);
+ // additional business logic
+ onClear${ParentPropertyName}(current${ParentPropertyName});
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property choices" enabled="true" name="ispcho">${:import(java.util.List)}public List<${PropertyType}> choices${PropertyName}() {
+ return ${cursor}null; // TODO: return list of choices for property
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property defaults" enabled="true" name="ispdef">public ${PropertyType} default${PropertyName}() {
+ return ${cursor}null; // TODO: return default for property when first created
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property disabling" enabled="true" name="ispdis">public String disable${PropertyName}() {
+ return ${cursor}null; // TODO: return reason why property is disabled, null if editable
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property hiding" enabled="true" name="isphid">public boolean hide${PropertyName}() {
+ return ${cursor}false; // TODO: return true if hidden, false if visible
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property modify" enabled="true" name="ispmod">public void modify${PropertyName}(final ${PropertyType} ${propertyName}) {
+ ${PropertyType} current${PropertyName} = get${PropertyName}();
+ // check for no-op
+ if (${propertyName} == null ||
+ ${propertyName}.equals(current${PropertyName})) {
+ return;
+ }
+ // associate new
+ set${PropertyName}(${propertyName});
+ // additional business logic
+ onModify${PropertyName}(current${PropertyName}, ${propertyName});
+}
+public void clear${PropertyName}() {
+ ${PropertyType} current${PropertyName} = get${PropertyName}();
+ // check for no-op
+ if (current${PropertyName} == null) {
+ return;
+ }
+ // dissociate existing
+ set${PropertyName}(null);
+ // additional business logic
+ onClear${PropertyName}(current${PropertyName});
+}
+protected void onModify${PropertyName}(final ${PropertyType} old${PropertyName}, final ${PropertyType} new${PropertyName}) {
+}
+protected void onClear${PropertyName}(final ${PropertyType} old${PropertyName}) {
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Property validation" enabled="true" name="ispval">public String validate${PropertyName}(final ${PropertyType} ${propertyName}) {
+ if (${propertyName} == null) return null;
+ return ${cursor}null; // TODO: return reason why proposed value is invalid, null if valid
+}</template><template autoinsert="true" context="java-members" deleted="false" description="Isis Section" enabled="true" name="iss">// {{ ${SectionName}
+${cursor}
+// }}</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all" enabled="true" name="issa">// {{ all ${TypePlural}
+${:import(org.apache.isis.applib.annotation.Exploration,java.util.List)}@Exploration
+public List<${Type}> all${TypePlural}() {
+ return allInstances(${Type}.class);
+}
+// }}
+
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all matching" enabled="true" name="issafil">// {{ all ${TypePlural} that ${filterDescription}
+${:import(org.apache.isis.applib.annotation.Exploration,org.apache.isis.applib.Filter,java.util.List)}@Exploration
+public List<${Type}> all${TypePlural}Matching(final Filter<${Type}> filter) {
+ return allMatches(${Type}.class, filter);
+}
+// }}
+
+
+</template><template autoinsert="true" context="java-members" deleted="false" description="Search for first matching" enabled="true" name="issffil">// {{ first ${Type} that ${filterDescription}
+${:import(org.apache.isis.applib.annotation.Exploration,org.apache.isis.applib.Filter,java.util.List)}@Exploration
+public ${Type} first${Type}Matching(final Filter<${Type}> filter) {
+ return firstMatch(${Type}.class, filter);
+}
+// }}
+</template><template autoinsert="true" context="java-members" deleted="false" description="Search for unique matching" enabled="true" name="issufil">// {{ unique ${Type} that ${filterDescription}
+${:import(org.apache.isis.applib.annotation.Exploration,org.apache.isis.applib.Filter,java.util.List)}@Exploration
+public ${Type} unique${Type}Matching(final Filter<${Type}> filter) {
+ return uniqueMatch(${Type}.class, filter);
+}
+// }}
+</template><template autoinsert="true" context="java-members" deleted="false" description="Object-level validation" enabled="true" name="isval">public String validate() {
+ ${cursor}// TODO: return reason why object is in invalid state (and so cannot be saved/updated), or null if ok
+}</template></templates>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/eclipse/jmock2-templates.xml
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/eclipse/jmock2-templates.xml b/content/guides/dg/resources/eclipse/jmock2-templates.xml
new file mode 100644
index 0000000..9f0f4a5
--- /dev/null
+++ b/content/guides/dg/resources/eclipse/jmock2-templates.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="java" deleted="false" description="JMock2 AutoMock Definition" enabled="true" name="jmautomock">${:import(org.jmock.auto.Mock)}@Mock
+private ${MockClass} mock${MockClass};
+</template><template autoinsert="true" context="java" deleted="false" description="JMock2 Context field" enabled="true" name="jmcontext">${:import(org.jmock.Mockery,org.jmock.integration.junit4.JUnit4Mockery)}private Mockery context = new JUnit4Mockery();
+</template><template autoinsert="true" context="java" deleted="false" description="JMock2 Expectations" enabled="true" name="jmexpectations">${:import(org.jmock.Expectations)}context.checking(new Expectations() {{
+ ${cursor}
+}});</template><template autoinsert="true" context="java" deleted="false" description="JMock2 Mock Definition" enabled="true" name="jmmock">${MockClass} ${mockObject} = context.mock(${MockClass}.class);</template><template autoinsert="true" context="java" deleted="false" description="JMock2 Rule (Isis variant)" enabled="true" name="jmrule">${:import(org.junit.Rule,org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2,org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode)}@Rule
+public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES${cursor});
+
+</template><template autoinsert="true" context="java" deleted="false" description="JMock2 RunWith" enabled="true" name="jmrunwith">${:import(org.junit.runner.RunWith,org.jmock.integration.junit4.JMock)}@RunWith(JMock.class)</template><template autoinsert="true" context="java" deleted="false" description="JMock2 Expectation Return Value" enabled="true" name="jmvalue">will(returnValue(${cursor}));</template></templates>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/eclipse/junit4-templates.xml
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/eclipse/junit4-templates.xml b/content/guides/dg/resources/eclipse/junit4-templates.xml
new file mode 100644
index 0000000..6af90cb
--- /dev/null
+++ b/content/guides/dg/resources/eclipse/junit4-templates.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="java" deleted="false" description="JUnit4 After Method" enabled="true" name="juafter">${:import(org.junit.After)}@After
+public void tearDown() throws Exception {
+ ${cursor}
+}
+</template><template autoinsert="true" context="java" deleted="false" description="JUnit4 AssertThat" enabled="true" name="juassertThat">${:importStatic(org.junit.Assert.assertThat,'org.hamcrest.CoreMatchers.*')}assertThat(${object}, ${matcher});</template><template autoinsert="true" context="java" deleted="false" description="JUnit4 Before Method" enabled="true" name="jubefore">${:import(org.junit.Before)}@Before
+public void setUp() throws Exception {
+ ${cursor}
+}
+</template><template autoinsert="true" context="java" deleted="false" description="JUnit4 Test Method" enabled="true" name="jutest">${:import(org.junit.Test)}@Test
+public void ${xxx}() throws Exception {
+ ${cursor}
+}
+</template></templates>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/intellij/isis-settings-code-style.jar
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/intellij/isis-settings-code-style.jar b/content/guides/dg/resources/intellij/isis-settings-code-style.jar
new file mode 100644
index 0000000..b2ad298
Binary files /dev/null and b/content/guides/dg/resources/intellij/isis-settings-code-style.jar differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/intellij/isis-settings-file-templates.jar
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/intellij/isis-settings-file-templates.jar b/content/guides/dg/resources/intellij/isis-settings-file-templates.jar
new file mode 100644
index 0000000..c64ef96
Binary files /dev/null and b/content/guides/dg/resources/intellij/isis-settings-file-templates.jar differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/intellij/isis-settings-live-templates.jar
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/intellij/isis-settings-live-templates.jar b/content/guides/dg/resources/intellij/isis-settings-live-templates.jar
new file mode 100644
index 0000000..69ff3e4
Binary files /dev/null and b/content/guides/dg/resources/intellij/isis-settings-live-templates.jar differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/intellij/other/dan-settings-keymaps.jar
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/intellij/other/dan-settings-keymaps.jar b/content/guides/dg/resources/intellij/other/dan-settings-keymaps.jar
new file mode 100644
index 0000000..75d09be
Binary files /dev/null and b/content/guides/dg/resources/intellij/other/dan-settings-keymaps.jar differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/resources/intellij/other/dan-settings-uisettings.jar
----------------------------------------------------------------------
diff --git a/content/guides/dg/resources/intellij/other/dan-settings-uisettings.jar b/content/guides/dg/resources/intellij/other/dan-settings-uisettings.jar
new file mode 100644
index 0000000..0787a69
Binary files /dev/null and b/content/guides/dg/resources/intellij/other/dan-settings-uisettings.jar differ
[06/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvro/ugvro.pdf
----------------------------------------------------------------------
diff --git a/content/guides/ugvro/ugvro.pdf b/content/guides/ugvro/ugvro.pdf
index e01cfc4..9f05ed1 100644
--- a/content/guides/ugvro/ugvro.pdf
+++ b/content/guides/ugvro/ugvro.pdf
@@ -4,16 +4,16 @@
<< /Title (Restful Objects Viewer)
/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:20170411195608+01'00')
-/ModDate (D:20170411195608+01'00')
+/CreationDate (D:20170420093432+01'00')
+/ModDate (D:20170420093432+01'00')
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
/Names 14 0 R
-/Outlines 198 0 R
-/PageLabels 222 0 R
+/Outlines 215 0 R
+/PageLabels 241 0 R
/PageMode /UseOutlines
/OpenAction [7 0 R /FitH 842.89]
/ViewerPreferences << /DisplayDocTitle true
@@ -22,8 +22,8 @@ endobj
endobj
3 0 obj
<< /Type /Pages
-/Count 22
-/Kids [7 0 R 10 0 R 12 0 R 35 0 R 43 0 R 48 0 R 64 0 R 69 0 R 79 0 R 81 0 R 91 0 R 94 0 R 97 0 R 101 0 R 103 0 R 112 0 R 117 0 R 128 0 R 136 0 R 141 0 R 143 0 R 150 0 R]
+/Count 23
+/Kids [7 0 R 10 0 R 12 0 R 35 0 R 43 0 R 48 0 R 64 0 R 69 0 R 79 0 R 81 0 R 91 0 R 94 0 R 97 0 R 101 0 R 103 0 R 112 0 R 117 0 R 130 0 R 138 0 R 143 0 R 145 0 R 158 0 R 164 0 R]
>>
endobj
4 0 obj
@@ -80,15 +80,15 @@ endobj
<< /Type /Font
/BaseFont /AAAADX+NotoSerif
/Subtype /TrueType
-/FontDescriptor 224 0 R
+/FontDescriptor 243 0 R
/FirstChar 32
/LastChar 255
-/Widths 226 0 R
-/ToUnicode 225 0 R
+/Widths 245 0 R
+/ToUnicode 244 0 R
>>
endobj
9 0 obj
-<< /Length 17703
+<< /Length 19348
>>
stream
q
@@ -631,7 +631,7 @@ ET
BT
60.24 511.6159999999998 Td
/F1.0 10.5 Tf
-<342e352e20537570706f7274696e67206f7468657220526570726573656e746174696f6e73> Tj
+<342e352e204f7468657220526570726573656e746174696f6e73> Tj
ET
0.000 0.000 0.000 SCN
@@ -640,9 +640,9 @@ ET
0.200 0.200 0.200 SCN
BT
-250.68274999999994 511.6159999999998 Td
+197.23774999999995 511.6159999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -669,9 +669,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 493.1359999999998 Td
+60.24 493.1359999999998 Td
/F1.0 10.5 Tf
-[<352e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ
+<342e362e20476c6f62616c20436f6e6669672050726f707320284465707265636174656429> Tj
ET
0.000 0.000 0.000 SCN
@@ -680,9 +680,9 @@ ET
0.200 0.200 0.200 SCN
BT
-186.54874999999993 493.1359999999998 Td
+250.68274999999994 493.1359999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -700,7 +700,7 @@ ET
BT
535.3009999999999 493.1359999999998 Td
/F1.0 10.5 Tf
-<3136> Tj
+<3135> Tj
ET
0.000 0.000 0.000 SCN
@@ -709,9 +709,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 474.6559999999998 Td
+48.24 474.6559999999998 Td
/F1.0 10.5 Tf
-<352e312e205374616e64617264> Tj
+[<352e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ
ET
0.000 0.000 0.000 SCN
@@ -720,9 +720,9 @@ ET
0.200 0.200 0.200 SCN
BT
-127.75924999999995 474.6559999999998 Td
+186.54874999999993 474.6559999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -751,7 +751,7 @@ ET
BT
60.24 456.17599999999976 Td
/F1.0 10.5 Tf
-<352e322e2044657072656361746564> Tj
+<352e312e205374616e64617264> Tj
ET
0.000 0.000 0.000 SCN
@@ -760,9 +760,9 @@ ET
0.200 0.200 0.200 SCN
BT
-138.44824999999992 456.17599999999976 Td
+127.75924999999995 456.17599999999976 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -789,9 +789,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 437.69599999999974 Td
+60.24 437.69599999999974 Td
/F1.0 10.5 Tf
-<362e2048696e747320616e642054697073> Tj
+<352e322e2044657072656361746564> Tj
ET
0.000 0.000 0.000 SCN
@@ -800,9 +800,9 @@ ET
0.200 0.200 0.200 SCN
BT
-133.10374999999993 437.69599999999974 Td
+138.44824999999992 437.69599999999974 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -820,7 +820,7 @@ ET
BT
535.3009999999999 437.69599999999974 Td
/F1.0 10.5 Tf
-<3139> Tj
+<3136> Tj
ET
0.000 0.000 0.000 SCN
@@ -829,9 +829,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 419.2159999999997 Td
+48.24 419.2159999999997 Td
/F1.0 10.5 Tf
-[<362e312e205573696e67204368726f6d652054> 29.78515625 <6f6f6c73>] TJ
+<362e2048696e747320616e642054697073> Tj
ET
0.000 0.000 0.000 SCN
@@ -840,9 +840,9 @@ ET
0.200 0.200 0.200 SCN
BT
-181.20424999999994 419.2159999999997 Td
+133.10374999999993 419.2159999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -871,7 +871,7 @@ ET
BT
60.24 400.7359999999997 Td
/F1.0 10.5 Tf
-<362e322e20416e67756c61722054697073> Tj
+[<362e312e205573696e67204368726f6d65204465762054> 29.78515625 <6f6f6c73>] TJ
ET
0.000 0.000 0.000 SCN
@@ -880,9 +880,9 @@ ET
0.200 0.200 0.200 SCN
BT
-149.13724999999994 400.7359999999997 Td
+202.58224999999993 400.7359999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -911,7 +911,7 @@ ET
BT
60.24 382.2559999999997 Td
/F1.0 10.5 Tf
-<362e332e20507265747479207072696e74696e67> Tj
+<362e322e20416e67756c61722054697073> Tj
ET
0.000 0.000 0.000 SCN
@@ -920,9 +920,9 @@ ET
0.200 0.200 0.200 SCN
BT
-159.82624999999996 382.2559999999997 Td
+149.13724999999994 382.2559999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -940,11 +940,91 @@ ET
BT
535.3009999999999 382.2559999999997 Td
/F1.0 10.5 Tf
+<3139> 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
+60.24 363.77599999999967 Td
+/F1.0 10.5 Tf
+<362e332e20507265747479207072696e74696e67> 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
+159.82624999999996 363.77599999999967 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 363.77599999999967 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 363.77599999999967 Td
+/F1.0 10.5 Tf
<3230> 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
+60.24 345.29599999999965 Td
+/F1.0 10.5 Tf
+[<362e342e20486f7720706172736520696d6167657320696e2052> 20.01953125 <4f207669657765723f>] 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
+245.33824999999996 345.29599999999965 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 345.29599999999965 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 345.29599999999965 Td
+/F1.0 10.5 Tf
+<3231> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
Q
endstream
@@ -959,7 +1039,7 @@ endobj
/F1.0 8 0 R
>>
>>
-/Annots [155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 168 0 R 169 0 R 170 0 R 171 0 R 172 0 R 173 0 R 174 0 R 175 0 R 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R]
+/Annots [168 0 R 169 0 R 170 0 R 171 0 R 172 0 R 173 0 R 174 0 R 175 0 R 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R 202 0 R 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R]
>>
endobj
11 0 obj
@@ -1678,7 +1758,7 @@ endobj
/Font << /F2.0 16 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [17 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R]
@@ -1700,11 +1780,11 @@ endobj
<< /Type /Font
/BaseFont /AAAADY+NotoSerif-Bold
/Subtype /TrueType
-/FontDescriptor 228 0 R
+/FontDescriptor 247 0 R
/FirstChar 32
/LastChar 255
-/Widths 230 0 R
-/ToUnicode 229 0 R
+/Widths 249 0 R
+/ToUnicode 248 0 R
>>
endobj
17 0 obj
@@ -2379,7 +2459,7 @@ endobj
/Font << /F2.0 16 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [37 0 R]
@@ -3659,7 +3739,7 @@ endobj
/Contents 42 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I1 40 0 R
-/Stamp1 197 0 R
+/Stamp1 214 0 R
>>
/Font << /F1.0 8 0 R
/F3.1 45 0 R
@@ -3684,11 +3764,11 @@ endobj
<< /Type /Font
/BaseFont /AAAADZ+FontAwesome
/Subtype /TrueType
-/FontDescriptor 232 0 R
+/FontDescriptor 251 0 R
/FirstChar 32
/LastChar 255
-/Widths 234 0 R
-/ToUnicode 233 0 R
+/Widths 253 0 R
+/ToUnicode 252 0 R
>>
endobj
46 0 obj
@@ -4917,7 +4997,7 @@ endobj
/F4.0 49 0 R
/F5.0 53 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [54 0 R 55 0 R 57 0 R 58 0 R 59 0 R 60 0 R 62 0 R]
@@ -4927,11 +5007,11 @@ endobj
<< /Type /Font
/BaseFont /AAAAEA+NotoSerif-Italic
/Subtype /TrueType
-/FontDescriptor 236 0 R
+/FontDescriptor 255 0 R
/FirstChar 32
/LastChar 255
-/Widths 238 0 R
-/ToUnicode 237 0 R
+/Widths 257 0 R
+/ToUnicode 256 0 R
>>
endobj
50 0 obj
@@ -4947,18 +5027,18 @@ endobj
<< /Type /Font
/BaseFont /AAAAEB+mplus1mn-regular
/Subtype /TrueType
-/FontDescriptor 240 0 R
+/FontDescriptor 259 0 R
/FirstChar 32
/LastChar 255
-/Widths 242 0 R
-/ToUnicode 241 0 R
+/Widths 261 0 R
+/ToUnicode 260 0 R
>>
endobj
54 0 obj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
>>
/Subtype /Link
/Rect [170.9661803850446 335.8760000000004 281.2161803850446 346.3760000000004]
@@ -4967,7 +5047,10 @@ endobj
endobj
55 0 obj
<< /Border [0 0 0]
-/Dest (_ugvro_architecture)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#_ugvro_architecture)
+>>
/Subtype /Link
/Rect [485.6255 318.5000000000004 547.04 332.78000000000037]
/Type /Annot
@@ -5011,7 +5094,10 @@ endobj
endobj
60 0 obj
<< /Border [0 0 0]
-/Dest (_ugvro_simplified-representations)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#_ugvro_simplified-representations)
+>>
/Subtype /Link
/Rect [245.85000000000002 169.9400000000003 377.7825 184.2200000000003]
/Type /Annot
@@ -5022,7 +5108,10 @@ endobj
endobj
62 0 obj
<< /Border [0 0 0]
-/Dest (_ugvro_simplified-representations)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#_ugvro_simplified-representations)
+>>
/Subtype /Link
/Rect [93.88072385817307 61.54000000000029 226.4050857872596 75.82000000000029]
/Type /Annot
@@ -5653,7 +5742,7 @@ endobj
/F2.0 16 0 R
/F4.0 49 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [65 0 R 66 0 R]
@@ -6751,7 +6840,7 @@ endobj
/F5.0 53 0 R
/F4.0 49 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [71 0 R 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R]
@@ -6762,7 +6851,10 @@ endobj
endobj
71 0 obj
<< /Border [0 0 0]
-/Dest ()
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf)
+>>
/Subtype /Link
/Rect [72.32842307692307 750.14 183.66134615384615 764.4200000000001]
/Type /Annot
@@ -6783,7 +6875,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_RepresentationService)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_RepresentationService)
>>
/Subtype /Link
/Rect [90.5403368252841 573.716 200.7903368252841 584.216]
@@ -6794,7 +6886,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_ContentNegotiationService)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService)
>>
/Subtype /Link
/Rect [386.1365909090909 395.6960000000001 517.386590909091 406.1960000000001]
@@ -6803,7 +6895,10 @@ endobj
endobj
75 0 obj
<< /Border [0 0 0]
-/Dest (_ugvro_simplified-representations)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#_ugvro_simplified-representations)
+>>
/Subtype /Link
/Rect [66.24000000000001 318.9800000000001 194.75663636363637 333.26000000000005]
/Type /Annot
@@ -6813,7 +6908,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
>>
/Subtype /Link
/Rect [91.15941167534723 233.4560000000001 201.40941167534723 243.9560000000001]
@@ -6908,13 +7003,13 @@ endobj
/Font << /F4.0 49 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
>>
endobj
80 0 obj
-<< /Length 14793
+<< /Length 14784
>>
stream
q
@@ -6982,7 +7077,7 @@ ET
BT
48.24 705.8660000000001 Td
/F1.0 10.5 Tf
-<726570726573656e746174696f6e732e20204578616d706c6573206f66207375636820746f6f6c732061726520> Tj
+<726570726573656e746174696f6e732e204578616d706c6573206f66207375636820746f6f6c732061726520> Tj
ET
0.000 0.000 0.000 SCN
@@ -6991,7 +7086,7 @@ ET
0.259 0.545 0.792 SCN
BT
-270.6825 705.8660000000001 Td
+267.963 705.8660000000001 Td
/F1.0 10.5 Tf
[<416e67756c617220426f6f74737472> 20.01953125 <6170>] TJ
ET
@@ -7002,7 +7097,7 @@ ET
0.200 0.200 0.200 SCN
BT
-362.15829492187504 705.8660000000001 Td
+359.438794921875 705.8660000000001 Td
/F1.0 10.5 Tf
<2c20> Tj
ET
@@ -7013,7 +7108,7 @@ ET
0.259 0.545 0.792 SCN
BT
-367.502794921875 705.8660000000001 Td
+364.783294921875 705.8660000000001 Td
/F1.0 10.5 Tf
<416e67756c617220584564697461626c65> Tj
ET
@@ -7024,7 +7119,7 @@ ET
0.200 0.200 0.200 SCN
BT
-458.96829492187504 705.8660000000001 Td
+456.248794921875 705.8660000000001 Td
/F1.0 10.5 Tf
<2c20> Tj
ET
@@ -7035,7 +7130,7 @@ ET
0.259 0.545 0.792 SCN
BT
-464.312794921875 705.8660000000001 Td
+461.593294921875 705.8660000000001 Td
/F1.0 10.5 Tf
[<416e67756c617220537472> 20.01953125 <6170>] TJ
ET
@@ -7046,7 +7141,7 @@ ET
0.200 0.200 0.200 SCN
BT
-534.08508984375 705.8660000000001 Td
+531.36558984375 705.8660000000001 Td
/F1.0 10.5 Tf
<2e> Tj
ET
@@ -7101,12 +7196,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-5.688 Tw
+6.889 Tw
BT
48.24 662.306 Td
/F1.0 10.5 Tf
-<636f6d6d6f6e6c792d7573656420726570726573656e746174696f6e732e20205468697320697320696d706c656d656e746564207573696e672074686520> Tj
+<636f6d6d6f6e6c792d7573656420726570726573656e746174696f6e732e205468697320697320696d706c656d656e746564207573696e672074686520> Tj
ET
@@ -7116,7 +7211,7 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-5.688 Tw
+6.889 Tw
BT
415.78999999999996 662.306 Td
@@ -7131,7 +7226,7 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-5.688 Tw
+6.889 Tw
BT
547.04 662.306 Td
@@ -7721,7 +7816,7 @@ endobj
/F1.0 8 0 R
/F5.0 53 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [83 0 R 84 0 R 85 0 R 86 0 R 88 0 R]
@@ -7737,7 +7832,7 @@ endobj
/URI (http://angular-ui.github.io/bootstrap/)
>>
/Subtype /Link
-/Rect [270.6825 702.8000000000001 362.15829492187504 717.0800000000002]
+/Rect [267.963 702.8000000000001 359.438794921875 717.0800000000002]
/Type /Annot
>>
endobj
@@ -7748,7 +7843,7 @@ endobj
/URI (http://vitalets.github.io/angular-xeditable/)
>>
/Subtype /Link
-/Rect [367.502794921875 702.8000000000001 458.96829492187504 717.0800000000002]
+/Rect [364.783294921875 702.8000000000001 456.248794921875 717.0800000000002]
/Type /Annot
>>
endobj
@@ -7759,13 +7854,16 @@ endobj
/URI (https://github.com/mgcrea/angular-strap)
>>
/Subtype /Link
-/Rect [464.312794921875 702.8000000000001 534.08508984375 717.0800000000002]
+/Rect [461.593294921875 702.8000000000001 531.36558984375 717.0800000000002]
/Type /Annot
>>
endobj
86 0 obj
<< /Border [0 0 0]
-/Dest (_ugvro_architecture)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#_ugvro_architecture)
+>>
/Subtype /Link
/Rect [131.232 643.46 192.6465 657.7400000000001]
/Type /Annot
@@ -7992,7 +8090,7 @@ endobj
/Font << /F1.0 8 0 R
/F5.0 53 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [92 0 R]
@@ -8739,7 +8837,7 @@ endobj
/F5.1 95 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
>>
@@ -8748,11 +8846,11 @@ endobj
<< /Type /Font
/BaseFont /AAAAEC+mplus1mn-regular
/Subtype /TrueType
-/FontDescriptor 244 0 R
+/FontDescriptor 263 0 R
/FirstChar 32
/LastChar 255
-/Widths 246 0 R
-/ToUnicode 245 0 R
+/Widths 265 0 R
+/ToUnicode 264 0 R
>>
endobj
96 0 obj
@@ -9100,7 +9198,7 @@ endobj
/F2.0 16 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [99 0 R]
@@ -9867,7 +9965,7 @@ endobj
/F5.1 95 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
>>
@@ -10521,7 +10619,7 @@ endobj
/F1.0 8 0 R
/F5.0 53 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
/Annots [106 0 R 107 0 R 109 0 R 110 0 R]
@@ -10535,7 +10633,10 @@ endobj
endobj
106 0 obj
<< /Border [0 0 0]
-/Dest (__ugvro_simplified-representations_domain-object)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#__ugvro_simplified-representations_domain-object)
+>>
/Subtype /Link
/Rect [455.77650000000006 694.5200000000001 485.8695000000001 708.8000000000002]
/Type /Annot
@@ -10557,7 +10658,10 @@ endobj
endobj
109 0 obj
<< /Border [0 0 0]
-/Dest (__ugvro_simplified-representations_object-collection)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#__ugvro_simplified-representations_object-collection)
+>>
/Subtype /Link
/Rect [405.2588278459821 106.94000000000025 544.415 121.22000000000025]
/Type /Annot
@@ -11199,7 +11303,7 @@ endobj
/F1.0 8 0 R
/F2.0 16 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
>>
@@ -11208,17 +11312,17 @@ endobj
[112 0 R /XYZ 0 144.34999999999988 null]
endobj
114 0 obj
-<< /Limits [(___ugvro_ro-spec_extensions_content-negotiation) (__ugvro_simplified-representations_action-invocation)]
-/Names [(___ugvro_ro-spec_extensions_content-negotiation) 51 0 R (___ugvro_ro-spec_extensions_content-negotiation_apache-isis-profile) 56 0 R (___ugvro_ro-spec_extensions_content-negotiation_x-ro-domain-type) 52 0 R (___ugvro_ro-spec_extensions_minimizing-round-trips) 61 0 R (___ugvro_ro-spec_extensions_minimizing-round-trips_honor-ui-hints) 67 0 R (__ugvro) 13 0 R (__ugvro_configuration-properties_deprecated) 134 0 R (__ugvro_configuration-properties_standard) 130 0 R (__ugvro_ro-spec_apache-isis-implementation) 46 0 R (__ugvro_ro-spec_extensions) 50 0 R (__ugvro_ro-spec_goals) 38 0 R (__ugvro_simplified-representations_action-invocation) 104 0 R]
+<< /Limits [(___ugvro_ro-spec_extensions_content-negotiation) (_ugvro_architecture)]
+/Names [(___ugvro_ro-spec_extensions_content-negotiation) 51 0 R (___ugvro_ro-spec_extensions_content-negotiation_apache-isis-profile) 56 0 R (___ugvro_ro-spec_extensions_content-negotiation_x-ro-domain-type) 52 0 R (___ugvro_ro-spec_extensions_minimizing-round-trips) 61 0 R (___ugvro_ro-spec_extensions_minimizing-round-trips_honor-ui-hints) 67 0 R (__ugvro) 13 0 R (__ugvro_configuration-properties_deprecated) 136 0 R (__ugvro_configuration-properties_standard) 132 0 R (__ugvro_ro-spec_apache-isis-implementation) 46 0 R (__ugvro_ro-spec_extensions) 50 0 R (__ugvro_ro-spec_goals) 38 0 R (__ugvro_simplified-representations_other-representations) 118 0 R (_ugvro_architecture) 70 0 R]
>>
endobj
115 0 obj
-<< /Limits [(__ugvro_simplified-representations_apache-isis-profile) (using-chrome-tools)]
-/Names [(__ugvro_simplified-representations_apache-isis-profile) 87 0 R (__ugvro_simplified-representations_domain-object) 89 0 R (__ugvro_simplified-representations_object-collection) 98 0 R (__ugvro_simplified-representations_other-representations) 118 0 R (_ugvro_architecture) 70 0 R (_ugvro_configuration-properties) 129 0 R (_ugvro_hints-and-tips) 144 0 R (_ugvro_ro-spec) 36 0 R (_ugvro_simplified-representations) 82 0 R (angular-tips) 147 0 R (invoking-a-get-link-eg-invoking-a-query-action) 148 0 R (invoking-a-put-or-post-link) 151 0 R (other-guides) 18 0 R (pretty-printing) 153 0 R (resources-and-representations) 39 0 R (returning-a-list) 108 0 R (returning-an-object) 105 0 R (returning-scalar-nothing) 113 0 R (using-chrome-tools) 145 0 R]
+<< /Limits [(_ugvro_configuration-properties) (returning-scalar-nothing)]
+/Names [(_ugvro_configuration-properties) 131 0 R (_ugvro_hints-and-tips) 146 0 R (_ugvro_hints-and-tips_angular-tips) 155 0 R (_ugvro_hints-and-tips_pretty-printing) 161 0 R (_ugvro_hints-and-tips_restful-image-property) 165 0 R (_ugvro_hints-and-tips_using-chrome-devtools) 153 0 R (_ugvro_ro-spec) 36 0 R (_ugvro_simplified-representations) 82 0 R (_ugvro_simplified-representations_action-invocation) 104 0 R (_ugvro_simplified-representations_apache-isis-profile) 87 0 R (_ugvro_simplified-representations_configuration-properties) 127 0 R (_ugvro_simplified-representations_domain-object) 89 0 R (_ugvro_simplified-representations_object-collection) 98 0 R (invoking-a-get-link-eg-invoking-a-query-action) 156 0 R (invoking-a-put-or-post-link) 159 0 R (other-guides) 18 0 R (resources-and-representations) 39 0 R (returning-a-list) 108 0 R (returning-an-object) 105 0 R (returning-scalar-nothing) 113 0 R]
>>
endobj
116 0 obj
-<< /Length 12026
+<< /Length 15269
>>
stream
q
@@ -11230,7 +11334,7 @@ q
BT
48.24 786.6659999999999 Td
/F2.0 18 Tf
-<342e352e20537570706f7274696e67206f7468657220526570726573656e746174696f6e73> Tj
+<342e352e204f7468657220526570726573656e746174696f6e73> Tj
ET
0.000 0.000 0.000 SCN
@@ -11860,12 +11964,23 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-6.444 Tw
+BT
+48.24000000000001 271.42600000000016 Td
+/F2.0 18 Tf
+<342e362e20476c6f62616c20436f6e6669672050726f707320284465707265636174656429> 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
+
+1.527 Tw
BT
-48.24000000000001 283.48600000000016 Td
+48.24000000000001 243.40600000000012 Td
/F1.0 10.5 Tf
-<556e7265736f6c7665642064697265637469766520696e205f756776726f5f73696d706c69666965642d726570726573656e746174696f6e732e61646f63202d20696e636c7564653a3a5f5f756776726f5f73696d706c69666965642d> Tj
+<496620616c6c2074686174206973207265717569726564206973206120766572792073696d706c6520726570726573656e746174696f6e7320286f66206f626a65637473292c20796f752063616e20636f6e66696775726520746865205265737466756c> Tj
ET
@@ -11875,98 +11990,262 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+1.915 Tw
+
BT
-48.24000000000001 267.70600000000013 Td
+48.24000000000001 227.62600000000012 Td
/F1.0 10.5 Tf
-[<726570726573656e746174696f6e735f636f6e6669677572> 20.01953125 <6174696f6e2d70726f706572746965732e61646f635b6c6576656c6f66667365743d2b315d>] TJ
+<4f626a656374732076696577657220746f2070726f7669646520612073696d706c6966696564206f75747075742c207468656e20746869732063616e20626520646f6e6520776974682061206e756d626572206f662028676c6f62616c29> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24000000000001 211.84600000000012 Td
+/F1.0 10.5 Tf
+[<636f6e6669677572> 20.01953125 <6174696f6e2070726f706572746965732e>] 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
+
+2.807 Tw
+
+BT
+48.24000000000001 184.06600000000012 Td
+/F1.0 10.5 Tf
+[<546865736520636f6e6669677572> 20.01953125 <6174696f6e2070726f70657274696573207072652d646174652074686520737570706f72742c20696e74726f647563656420696e20>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+2.807 Tw
+
+BT
+406.10626497395833 184.06600000000012 Td
+/F5.0 10.5 Tf
+<312e31312e30> Tj
+ET
+
+
+0.000 Tw
0.000 0.000 0.000 SCN
-1 w
-0 J
-0 j
-[ ] 0 d
-/Stamp1 Do
+0.000 0.000 0.000 scn
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+2.807 Tw
+
BT
-535.978 14.388 Td
-/F1.0 9 Tf
-<3135> Tj
+437.60626497395833 184.06600000000012 Td
+/F1.0 10.5 Tf
+<2c20666f7220746865204170616368652049736973> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-Q
-Q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
-endstream
-endobj
-117 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 595.28 841.89]
-/Contents 116 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F2.0 16 0 R
-/F1.0 8 0 R
-/F5.0 53 0 R
-/F3.1 45 0 R
->>
-/XObject << /Stamp1 197 0 R
->>
->>
-/Annots [119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R]
->>
-endobj
-118 0 obj
-[117 0 R /XYZ 0 841.89 null]
-endobj
-119 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://stateless.co/hal_specification.html)
->>
-/Subtype /Link
-/Rect [128.95608984375002 652.68 151.21608984375 666.96]
-/Type /Annot
->>
-endobj
-120 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://amundsen.com/media-types/collection/)
->>
-/Subtype /Link
-/Rect [158.07279492187502 630.9 238.849294921875 645.1800000000001]
-/Type /Annot
->>
-endobj
-121 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (https://github.com/kevinswiber/siren)
->>
-/Subtype /Link
-/Rect [143.29950000000002 609.12 169.686 623.4000000000001]
-/Type /Annot
->>
-endobj
-122 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://jsonapi.org/)
->>
-/Subtype /Link
+3.260 Tw
+
+BT
+48.24000000000001 168.28600000000012 Td
+/F1.0 10.5 Tf
+[<70726f66696c652c20616e6420617265206c696d697465642062> 20.01953125 <79207468652066616374207468617420746865792061726520676c6f62616c20636f6e6669677572> 20.01953125 <6174696f6e2073657474696e67732c20736f2063616e6e6f74206265>] TJ
+ET
+
+
+0.000 Tw
+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
+
+0.450 Tw
+
+BT
+48.24000000000001 152.5060000000001 Td
+/F1.0 10.5 Tf
+[<696e666c75656e636564206f6e206120726571756573742d62> 20.01953125 <792d726571756573742062617369732028617320697320746865206361736520776974682074686520>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+0.450 Tw
+
+BT
+373.0412796630859 152.5060000000001 Td
+/F5.0 10.5 Tf
+<416363657074> Tj
+ET
+
+
+0.000 Tw
+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
+
+0.450 Tw
+
+BT
+404.5412796630859 152.5060000000001 Td
+/F1.0 10.5 Tf
+<20686561646572207573656420666f722074686520417061636865> Tj
+ET
+
+
+0.000 Tw
+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
+48.24000000000001 136.7260000000001 Td
+/F1.0 10.5 Tf
+[<497369732070726f66696c65292e20546865792068617665207468657265666f7265206265656e20646570726563617465642c20616e64206d61> 20.01953125 <792062652072656d6f76656420696e20746865206675747572652e>] 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
+48.24000000000001 108.94600000000011 Td
+/F1.0 10.5 Tf
+<44657461696c732063616e20626520666f756e6420696e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
+BT
+165.84000000000003 108.94600000000011 Td
+/F1.0 10.5 Tf
+<68657265> 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
+188.6775 108.94600000000011 Td
+/F1.0 10.5 Tf
+<2e> 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
+<3135> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+117 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 595.28 841.89]
+/Contents 116 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F2.0 16 0 R
+/F1.0 8 0 R
+/F5.0 53 0 R
+/F3.1 45 0 R
+>>
+/XObject << /Stamp1 214 0 R
+>>
+>>
+/Annots [119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 128 0 R]
+>>
+endobj
+118 0 obj
+[117 0 R /XYZ 0 841.89 null]
+endobj
+119 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (http://stateless.co/hal_specification.html)
+>>
+/Subtype /Link
+/Rect [128.95608984375002 652.68 151.21608984375 666.96]
+/Type /Annot
+>>
+endobj
+120 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (http://amundsen.com/media-types/collection/)
+>>
+/Subtype /Link
+/Rect [158.07279492187502 630.9 238.849294921875 645.1800000000001]
+/Type /Annot
+>>
+endobj
+121 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (https://github.com/kevinswiber/siren)
+>>
+/Subtype /Link
+/Rect [143.29950000000002 609.12 169.686 623.4000000000001]
+/Type /Annot
+>>
+endobj
+122 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (http://jsonapi.org/)
+>>
+/Subtype /Link
/Rect [144.948 587.34 190.5075 601.6200000000001]
/Type /Annot
>>
@@ -12016,6 +12295,20 @@ endobj
>>
endobj
127 0 obj
+[117 0 R /XYZ 0 295.45000000000016 null]
+endobj
+128 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#__ugvro_configuration-properties_deprecated)
+>>
+/Subtype /Link
+/Rect [165.84000000000003 105.88000000000011 188.6775 120.16000000000011]
+/Type /Annot
+>>
+endobj
+129 0 obj
<< /Length 21009
>>
stream
@@ -13382,61 +13675,67 @@ Q
endstream
endobj
-128 0 obj
+130 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 595.28 841.89]
-/Contents 127 0 R
+/Contents 129 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F2.0 16 0 R
/F1.0 8 0 R
/F5.0 53 0 R
/F4.0 49 0 R
-/F6.0 131 0 R
+/F6.0 133 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
-/Annots [132 0 R 133 0 R]
+/Annots [134 0 R 135 0 R]
>>
endobj
-129 0 obj
-[128 0 R /XYZ 0 841.89 null]
+131 0 obj
+[130 0 R /XYZ 0 841.89 null]
endobj
-130 0 obj
-[128 0 R /XYZ 0 662.2700000000001 null]
+132 0 obj
+[130 0 R /XYZ 0 662.2700000000001 null]
endobj
-131 0 obj
+133 0 obj
<< /Type /Font
/BaseFont /AAAAED+mplus1mn-italic
/Subtype /TrueType
-/FontDescriptor 248 0 R
+/FontDescriptor 267 0 R
/FirstChar 32
/LastChar 255
-/Widths 250 0 R
-/ToUnicode 249 0 R
+/Widths 269 0 R
+/ToUnicode 268 0 R
>>
endobj
-132 0 obj
+134 0 obj
<< /Border [0 0 0]
-/Dest (___ugvro_ro-spec_extensions_minimizing-round-trips_honor-ui-hints)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#___ugvro_ro-spec_extensions_minimizing-round-trips_honor-ui-hints)
+>>
/Subtype /Link
/Rect [300.6395012 489.6970000000002 323.47700119999996 503.97700000000015]
/Type /Annot
>>
endobj
-133 0 obj
+135 0 obj
<< /Border [0 0 0]
-/Dest (_ugvro_simplified-representations)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#_ugvro_simplified-representations)
+>>
/Subtype /Link
/Rect [449.0360012 380.73700000000025 541.8665012 395.0170000000002]
/Type /Annot
>>
endobj
-134 0 obj
-[128 0 R /XYZ 0 335.71000000000026 null]
+136 0 obj
+[130 0 R /XYZ 0 335.71000000000026 null]
endobj
-135 0 obj
+137 0 obj
<< /Length 25495
>>
stream
@@ -15170,50 +15469,59 @@ Q
endstream
endobj
-136 0 obj
+138 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 595.28 841.89]
-/Contents 135 0 R
+/Contents 137 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F2.0 16 0 R
/F4.0 49 0 R
/F5.0 53 0 R
/F1.0 8 0 R
-/F6.0 131 0 R
+/F6.0 133 0 R
/F3.1 45 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
-/Annots [137 0 R 138 0 R 139 0 R]
+/Annots [139 0 R 140 0 R 141 0 R]
>>
endobj
-137 0 obj
+139 0 obj
<< /Border [0 0 0]
-/Dest (__ugvro_simplified-representations_configuration-properties_object-property-values-only)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#__ugvro_simplified-representations_configuration-properties_object-property-values-only)
+>>
/Subtype /Link
/Rect [320.2955012 504.597 372.29150119999997 518.877]
/Type /Annot
>>
endobj
-138 0 obj
+140 0 obj
<< /Border [0 0 0]
-/Dest (__ugvro_simplified-representations_apache-isis-profile)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#__ugvro_simplified-representations_apache-isis-profile)
+>>
/Subtype /Link
/Rect [477.1092051323784 288.81999999999994 535.04 303.09999999999997]
/Type /Annot
>>
endobj
-139 0 obj
+141 0 obj
<< /Border [0 0 0]
-/Dest (__ugvro_simplified-representations_apache-isis-profile)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#__ugvro_simplified-representations_apache-isis-profile)
+>>
/Subtype /Link
/Rect [125.80666666666667 273.03999999999996 159.34366666666668 287.31999999999994]
/Type /Annot
>>
endobj
-140 0 obj
+142 0 obj
<< /Length 45274
>>
stream
@@ -18573,22 +18881,22 @@ Q
endstream
endobj
-141 0 obj
+143 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 595.28 841.89]
-/Contents 140 0 R
+/Contents 142 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F5.0 53 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 197 0 R
+/XObject << /Stamp1 214 0 R
>>
>>
>>
endobj
-142 0 obj
-<< /Length 16531
+144 0 obj
+<< /Length 21446
>>
stream
q
@@ -18608,12 +18916,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-1.294 Tw
+2.438 Tw
BT
48.24 753.206 Td
/F1.0 10.5 Tf
-[<53696e636520746865205265737466756c204f626a65637473207669657765722069732064657369676e656420666f7220636f6d70757465722070726f6772> 20.01953125 <616d7320746f20696e746572> 20.01953125 <6163742077697468202872> 20.01953125 <6174686572207468616e>] TJ
+<5468697320636861707465722070726f766964657320736f6d6520736f6c7574696f6e7320666f722070726f626c656d73207765d5766520656e636f756e7465726564206f757273656c766573206f722068617665206265656e> Tj
ET
@@ -18626,7 +18934,7 @@ ET
BT
48.24 737.426 Td
/F1.0 10.5 Tf
-[<68756d616e206265696e6773292c2069742063616e2062652061206c6974746c6520646966666963756c7420746f206578706c6f726520616e642067656e6572> 20.01953125 <616c6c792022> 40.0390625 <67726f6b2220686f7720697420776f726b732e>] TJ
+[<72> 20.01953125 <6169736564206f6e20746865204170616368652049736973206d61696c696e67206c697374732e>] TJ
ET
0.000 0.000 0.000 SCN
@@ -18637,148 +18945,140 @@ ET
BT
48.24 709.6460000000001 Td
/F1.0 10.5 Tf
-[<546869732073656374696f6e2070726f76696465732061206665772068696e74732d616e642d7469707320746f2068656c7020796f75206f6e20796f7572207761> 20.01953125 <79> 89.84375 <2e>] TJ
+<53656520616c736f2068696e74732d6e2d7469707320636861707465727320696e207468653a> 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
-48.24 669.8060000000002 Td
-/F2.0 18 Tf
-[<362e312e205573696e67204368726f6d652054> 29.78515625 <6f6f6c73>] TJ
+56.88050000000001 681.8660000000001 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.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-1.332 Tw
-
BT
-48.24 641.7860000000002 Td
+66.24000000000001 681.8660000000001 Td
/F1.0 10.5 Tf
-<5468697320> Tj
+<74686520> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
0.259 0.545 0.792 scn
0.259 0.545 0.792 SCN
-1.332 Tw
-
BT
-73.46000000000001 641.7860000000002 Td
+84.93 681.8660000000001 Td
/F1.0 10.5 Tf
-<73637265656e63617374> Tj
+<446576656c6f7065727327> Tj
ET
-
-0.000 Tw
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
-1.332 Tw
-
BT
-125.81300000000002 641.7860000000002 Td
+143.23650000000004 681.8660000000001 Td
/F1.0 10.5 Tf
-<2073686f777320686f7720746f206578706c6f726520746865205265737466756c20415049207573696e67204368726f6d6520706c7567696e732f657874656e73696f6e732c20616e6420686f77> Tj
+<206775696465> Tj
ET
-
-0.000 Tw
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
-48.24 626.0060000000002 Td
+56.88050000000001 660.0860000000001 Td
/F1.0 10.5 Tf
-[<776520757365207468656d20746f20777269746520656e642d322d656e64202854> 20.01953125 <434b2920746573747320666f7220746865205265737466756c204f626a65637473207669657765722e>] TJ
+<a5> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+
+0.000 Tc
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-48.24 586.1660000000003 Td
-/F2.0 18 Tf
-<362e322e20416e67756c61722054697073> Tj
+66.24000000000001 660.0860000000001 Td
+/F1.0 10.5 Tf
+<74686520> 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
-
-1.569 Tw
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-48.24 558.1460000000004 Td
+84.93 660.0860000000001 Td
/F1.0 10.5 Tf
-[<5468652068> 20.01953125 <797065726d6564696120415049206578706f7365642062> 20.01953125 <7920417061636865204973697327205265737466756c204f626a656374732076696577657220697320696e74656e64656420626520737570706f727420626f7468>] TJ
+[<5769636b> 20.01953125 <657420766965776572>] TJ
ET
-
-0.000 Tw
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
-3.848 Tw
-
BT
-48.24 542.3660000000003 Td
+157.033294921875 660.0860000000001 Td
/F1.0 10.5 Tf
-[<626573706f6b> 20.01953125 <6520637573746f6d2d7772697474656e20766965776572732061732077656c6c2061732067656e6572696320766965776572732e20496e646565642c20776520657870656374206d6f737420636c69656e7473>] TJ
+<206775696465> Tj
ET
-
-0.000 Tw
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
-48.24 526.5860000000004 Td
+56.88050000000001 638.3060000000002 Td
/F1.0 10.5 Tf
-[<636f6e73756d696e6720746865204150492077696c6c20626520626573706f6b> 20.01953125 <652c206e6f742067656e657269632e>] TJ
+<a5> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+
+0.000 Tc
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-48.24 498.8060000000003 Td
+66.24000000000001 638.3060000000002 Td
/F1.0 10.5 Tf
-[<546869732070616765206361707475726573206f6e65206f722074776f2074697073206f6e207573696e6720416e67756c617220746f2077726974652073756368206120626573706f6b> 20.01953125 <6520636c69656e742e>] TJ
+<74686520> 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
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-48.24 464.3060000000003 Td
-/F2.0 13 Tf
-<362e322e312e20496e766f6b696e67206120474554206c696e6b2028656720696e766f6b696e67206120717565727920616374696f6e29> Tj
+84.93 638.3060000000002 Td
+/F1.0 10.5 Tf
+<5265737466756c204f626a6563747320766965776572> Tj
ET
0.000 0.000 0.000 SCN
@@ -18787,91 +19087,46 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 437.7460000000003 Td
+196.31400000000002 638.3060000000002 Td
/F1.0 10.5 Tf
-<537570706f736520796f752068617665206120> Tj
+<206775696465202874686973206368617074657229> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-149.55450000000002 437.7460000000003 Td
-/F5.0 10.5 Tf
-<437573746f6d657253657276696365> 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
-228.30450000000002 437.7460000000003 Td
+56.88050000000001 616.5260000000002 Td
/F1.0 10.5 Tf
-<2070726f766964696e67206120> Tj
+<a5> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-291.44100000000003 437.7460000000003 Td
-/F5.0 10.5 Tf
-<66696e64437573746f6d6572> Tj
-ET
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
+0.000 Tc
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-354.44100000000003 437.7460000000003 Td
+66.24000000000001 616.5260000000002 Td
/F1.0 10.5 Tf
-<20616374696f6e3a> Tj
+<74686520> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-q
-0.961 0.961 0.961 scn
-52.240 421.930 m
-543.040 421.930 l
-545.249 421.930 547.040 420.139 547.040 417.930 c
-547.040 271.270 l
-547.040 269.061 545.249 267.270 543.040 267.270 c
-52.240 267.270 l
-50.031 267.270 48.240 269.061 48.240 271.270 c
-48.240 417.930 l
-48.240 420.139 50.031 421.930 52.240 421.930 c
-h
-f
-0.800 0.800 0.800 SCN
-0.75 w
-52.240 421.930 m
-543.040 421.930 l
-545.249 421.930 547.040 420.139 547.040 417.930 c
-547.040 271.270 l
-547.040 269.061 545.249 267.270 543.040 267.270 c
-52.240 267.270 l
-50.031 267.270 48.240 269.061 48.240 271.270 c
-48.240 417.930 l
-48.240 420.139 50.031 421.930 52.240 421.930 c
-h
-S
-Q
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-59.24 399.1050000000003 Td
-/F5.0 11 Tf
-<7075626c6963> Tj
+84.93 616.5260000000002 Td
+/F1.0 10.5 Tf
+<446174616e75636c657573204f626a65637453746f7265> Tj
ET
0.000 0.000 0.000 SCN
@@ -18880,42 +19135,46 @@ ET
0.200 0.200 0.200 SCN
BT
-92.24000000000001 399.1050000000003 Td
-/F5.0 11 Tf
-<20> Tj
+207.50700000000003 616.5260000000002 Td
+/F1.0 10.5 Tf
+<206775696465> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.467 0.533 scn
-0.000 0.467 0.533 SCN
+
+-0.500 Tc
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-97.74000000000001 399.1050000000003 Td
-/F5.0 11 Tf
-<636c617373> Tj
+56.88050000000001 594.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.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-125.24000000000001 399.1050000000003 Td
-/F5.0 11 Tf
-<20> Tj
+66.24000000000001 594.7460000000002 Td
+/F1.0 10.5 Tf
+<74686520> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.667 0.533 scn
-0.000 0.667 0.533 SCN
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-130.74 399.1050000000003 Td
-/F5.0 11 Tf
-<437573746f6d657253657276696365> Tj
+84.93 594.7460000000002 Td
+/F1.0 10.5 Tf
+<5365637572697479> Tj
ET
0.000 0.000 0.000 SCN
@@ -18924,42 +19183,46 @@ ET
0.200 0.200 0.200 SCN
BT
-213.24 399.1050000000003 Td
-/F5.0 11 Tf
-<20> Tj
+125.98500000000001 594.7460000000002 Td
+/F1.0 10.5 Tf
+<206775696465> 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
-218.74 399.1050000000003 Td
-/F5.0 11 Tf
-<7b> Tj
+56.88050000000001 572.9660000000002 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.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-59.24 384.3650000000003 Td
-/F5.0 11 Tf
-<ca202020> Tj
+66.24000000000001 572.9660000000002 Td
+/F1.0 10.5 Tf
+<74686520> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-81.24000000000001 384.3650000000003 Td
-/F5.0 11 Tf
-<7075626c6963> Tj
+84.93 572.9660000000002 Td
+/F1.0 10.5 Tf
+<4265796f6e642074686520426173696373> Tj
ET
0.000 0.000 0.000 SCN
@@ -18968,31 +19231,35 @@ ET
0.200 0.200 0.200 SCN
BT
-114.24000000000001 384.3650000000003 Td
-/F5.0 11 Tf
-<20> Tj
+174.747 572.9660000000002 Td
+/F1.0 10.5 Tf
+<2067756964652e> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.467 0.533 scn
-0.000 0.467 0.533 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.294 Tw
BT
-119.74000000000001 384.3650000000003 Td
-/F5.0 11 Tf
-<537472696e67> Tj
+48.24000000000001 545.1860000000004 Td
+/F1.0 10.5 Tf
+[<53696e636520746865205265737466756c204f626a65637473207669657765722069732064657369676e656420666f7220636f6d70757465722070726f6772> 20.01953125 <616d7320746f20696e746572> 20.01953125 <6163742077697468202872> 20.01953125 <6174686572207468616e>] TJ
ET
+
+0.000 Tw
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
-152.74 384.3650000000003 Td
-/F5.0 11 Tf
-<20> Tj
+48.24000000000001 529.4060000000003 Td
+/F1.0 10.5 Tf
+[<68756d616e206265696e6773292c2069742063616e2062652061206c6974746c6520646966666963756c7420746f206578706c6f726520616e642067656e6572> 20.01953125 <616c6c792022> 40.0390625 <67726f6b2220686f7720697420776f726b732e>] TJ
ET
0.000 0.000 0.000 SCN
@@ -19001,9 +19268,9 @@ ET
0.200 0.200 0.200 SCN
BT
-158.24 384.3650000000003 Td
-/F5.0 11 Tf
-<6964> Tj
+48.24000000000001 501.6260000000004 Td
+/F1.0 10.5 Tf
+[<546869732073656374696f6e2070726f76696465732061206665772068696e74732d616e642d7469707320746f2068656c7020796f75206f6e20796f7572207761> 20.01953125 <79> 89.84375 <2e>] TJ
ET
0.000 0.000 0.000 SCN
@@ -19012,9 +19279,9 @@ ET
0.200 0.200 0.200 SCN
BT
-169.24 384.3650000000003 Td
-/F5.0 11 Tf
-<28> Tj
+48.24000000000001 461.7860000000004 Td
+/F2.0 18 Tf
+[<362e312e205573696e67204368726f6d65204465762054> 29.78515625 <6f6f6c73>] TJ
ET
0.000 0.000 0.000 SCN
@@ -19022,54 +19289,66 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+1.332 Tw
+
BT
-174.74 384.3650000000003 Td
-/F5.0 11 Tf
-<29> Tj
+48.24000000000001 433.76600000000036 Td
+/F1.0 10.5 Tf
+<5468697320> Tj
ET
+
+0.000 Tw
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
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
+1.332 Tw
BT
-180.24 384.3650000000003 Td
-/F5.0 11 Tf
-<20> Tj
+73.46000000000001 433.76600000000036 Td
+/F1.0 10.5 Tf
+<73637265656e63617374> Tj
ET
+
+0.000 Tw
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
+1.332 Tw
+
BT
-185.74 384.3650000000003 Td
-/F5.0 11 Tf
-<7b> Tj
+125.81300000000002 433.76600000000036 Td
+/F1.0 10.5 Tf
+<2073686f777320686f7720746f206578706c6f726520746865205265737466756c20415049207573696e67204368726f6d6520706c7567696e732f657874656e73696f6e732c20616e6420686f77> Tj
ET
+
+0.000 Tw
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
-191.24 384.3650000000003 Td
-/F5.0 11 Tf
-<20> Tj
+48.24000000000001 417.98600000000033 Td
+/F1.0 10.5 Tf
+[<776520757365207468656d20746f20777269746520656e642d322d656e64202854> 20.01953125 <434b2920746573747320666f7220746865205265737466756c204f626a65637473207669657765722e>] TJ
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-196.74 384.3650000000003 Td
-/F5.0 11 Tf
-<72657475726e> Tj
+48.24000000000001 378.14600000000036 Td
+/F2.0 18 Tf
+<362e322e20416e67756c61722054697073> Tj
ET
0.000 0.000 0.000 SCN
@@ -19077,54 +19356,40 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-BT
-229.74 384.3650000000003 Td
-/F5.0 11 Tf
-<20> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+1.569 Tw
BT
-235.24 384.3650000000003 Td
-/F5.0 11 Tf
-<22> Tj
+48.24000000000001 350.1260000000003 Td
+/F1.0 10.5 Tf
+[<5468652068> 20.01953125 <797065726d6564696120415049206578706f7365642062> 20.01953125 <7920417061636865204973697327205265737466756c204f626a656374732076696577657220697320696e74656e64656420626520737570706f727420626f7468>] TJ
ET
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
-
-BT
-240.74 384.3650000000003 Td
-/F5.0 11 Tf
-<637573746f6d657273> Tj
-ET
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+3.848 Tw
BT
-290.24 384.3650000000003 Td
-/F5.0 11 Tf
-<22> Tj
+48.24000000000001 334.34600000000034 Td
+/F1.0 10.5 Tf
+[<626573706f6b> 20.01953125 <6520637573746f6d2d7772697474656e20766965776572732061732077656c6c2061732067656e6572696320766965776572732e20496e646565642c20776520657870656374206d6f737420636c69656e7473>] TJ
ET
+
+0.000 Tw
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
-295.74 384.3650000000003 Td
-/F5.0 11 Tf
-<3b> Tj
+48.24000000000001 318.5660000000003 Td
+/F1.0 10.5 Tf
+[<636f6e73756d696e6720746865204150492077696c6c20626520626573706f6b> 20.01953125 <652c206e6f742067656e657269632e>] TJ
ET
0.000 0.000 0.000 SCN
@@ -19133,9 +19398,9 @@ ET
0.200 0.200 0.200 SCN
BT
-301.24 384.3650000000003 Td
-/F5.0 11 Tf
-<20> Tj
+48.24000000000001 290.78600000000034 Td
+/F1.0 10.5 Tf
+[<546869732070616765206361707475726573206f6e65206f722074776f2074697073206f6e207573696e6720416e67756c617220746f2077726974652073756368206120626573706f6b> 20.01953125 <6520636c69656e742e>] TJ
ET
0.000 0.000 0.000 SCN
@@ -19144,9 +19409,9 @@ ET
0.200 0.200 0.200 SCN
BT
-306.74 384.3650000000003 Td
-/F5.0 11 Tf
-<7d> Tj
+48.24000000000001 256.28600000000034 Td
+/F2.0 13 Tf
+<362e322e312e20496e766f6b696e67206120474554206c696e6b2028656720696e766f6b696e67206120717565727920616374696f6e29> Tj
ET
0.000 0.000 0.000 SCN
@@ -19155,20 +19420,20 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 369.6250000000003 Td
-/F5.0 11 Tf
-<ca202020> Tj
+48.24000000000001 229.72600000000034 Td
+/F1.0 10.5 Tf
+<537570706f736520796f752068617665206120> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.600 0.600 1.000 scn
-0.600 0.600 1.000 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
BT
-81.24000000000001 369.6250000000003 Td
-/F5.0 11 Tf
-<40416374696f6e> Tj
+149.55450000000002 229.72600000000034 Td
+/F5.0 10.5 Tf
+<437573746f6d657253657276696365> Tj
ET
0.000 0.000 0.000 SCN
@@ -19177,9 +19442,20 @@ ET
0.200 0.200 0.200 SCN
BT
-119.74000000000001 369.6250000000003 Td
-/F5.0 11 Tf
-<28> Tj
+228.30450000000002 229.72600000000034 Td
+/F1.0 10.5 Tf
+<2070726f766964696e67206120> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+291.44100000000003 229.72600000000034 Td
+/F5.0 10.5 Tf
+<66696e64437573746f6d6572> Tj
ET
0.000 0.000 0.000 SCN
@@ -19188,9 +19464,47 @@ ET
0.200 0.200 0.200 SCN
BT
-125.24000000000001 369.6250000000003 Td
+354.44100000000003 229.72600000000034 Td
+/F1.0 10.5 Tf
+<20616374696f6e3a> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+q
+0.961 0.961 0.961 scn
+52.240 213.910 m
+543.040 213.910 l
+545.249 213.910 547.040 212.119 547.040 209.910 c
+547.040 63.250 l
+547.040 61.041 545.249 59.250 543.040 59.250 c
+52.240 59.250 l
+50.031 59.250 48.240 61.041 48.240 63.250 c
+48.240 209.910 l
+48.240 212.119 50.031 213.910 52.240 213.910 c
+h
+f
+0.800 0.800 0.800 SCN
+0.75 w
+52.240 213.910 m
+543.040 213.910 l
+545.249 213.910 547.040 212.119 547.040 209.910 c
+547.040 63.250 l
+547.040 61.041 545.249 59.250 543.040 59.250 c
+52.240 59.250 l
+50.031 59.250 48.240 61.041 48.240 63.250 c
+48.240 209.910 l
+48.240 212.119 50.031 213.910 52.240 213.910 c
+h
+S
+Q
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+59.24000000000001 191.08500000000032 Td
/F5.0 11 Tf
-<73656d616e74696373> Tj
+<7075626c6963> Tj
ET
0.000 0.000 0.000 SCN
@@ -19199,20 +19513,20 @@ ET
0.200 0.200 0.200 SCN
BT
-174.74 369.6250000000003 Td
+92.24000000000001 191.08500000000032 Td
/F5.0 11 Tf
-<3d> Tj
+<20> 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
+0.000 0.467 0.533 scn
+0.000 0.467 0.533 SCN
BT
-180.24 369.6250000000003 Td
+97.74000000000001 191.08500000000032 Td
/F5.0 11 Tf
-<53656d616e746963734f66> Tj
+<636c617373> Tj
ET
0.000 0.000 0.000 SCN
@@ -19221,9 +19535,20 @@ ET
0.200 0.200 0.200 SCN
BT
-240.74 369.6250000000003 Td
+125.24000000000001 191.08500000000032 Td
/F5.0 11 Tf
-<2e> Tj
+<20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.667 0.533 scn
+0.000 0.667 0.533 SCN
+
+BT
+130.74 191.08500000000032 Td
+/F5.0 11 Tf
+<437573746f6d657253657276696365> Tj
ET
0.000 0.000 0.000 SCN
@@ -19232,9 +19557,9 @@ ET
0.200 0.200 0.200 SCN
BT
-246.24 369.6250000000003 Td
+213.24 191.08500000000032 Td
/F5.0 11 Tf
-<53414645> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
@@ -19243,9 +19568,9 @@ ET
0.200 0.200 0.200 SCN
BT
-268.24 369.6250000000003 Td
+218.74 191.08500000000032 Td
/F5.0 11 Tf
-<29> Tj
+<7b> Tj
ET
0.000 0.000 0.000 SCN
@@ -19254,7 +19579,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 354.8850000000003 Td
+59.24000000000001 176.34500000000034 Td
/F5.0 11 Tf
<ca202020> Tj
ET
@@ -19265,7 +19590,7 @@ ET
0.000 0.400 0.600 SCN
BT
-81.24000000000001 354.8850000000003 Td
+81.24000000000001 176.34500000000034 Td
/F5.0 11 Tf
<7075626c6963> Tj
ET
@@ -19276,20 +19601,20 @@ ET
0.200 0.200 0.200 SCN
BT
-114.24000000000001 354.8850000000003 Td
+114.24000000000001 176.34500000000034 Td
/F5.0 11 Tf
<20> 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
+0.000 0.467 0.533 scn
+0.000 0.467 0.533 SCN
BT
-119.74000000000001 354.8850000000003 Td
+119.74000000000001 176.34500000000034 Td
/F5.0 11 Tf
-<437573746f6d6572> Tj
+<537472696e67> Tj
ET
0.000 0.000 0.000 SCN
@@ -19298,7 +19623,7 @@ ET
0.200 0.200 0.200 SCN
BT
-163.74 354.8850000000003 Td
+152.74 176.34500000000034 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -19309,9 +19634,9 @@ ET
0.200 0.200 0.200 SCN
BT
-169.24 354.8850000000003 Td
+158.24 176.34500000000034 Td
/F5.0 11 Tf
-<66696e64437573746f6d6572> Tj
+<6964> Tj
ET
0.000 0.000 0.000 SCN
@@ -19320,7 +19645,7 @@ ET
0.200 0.200 0.200 SCN
BT
-235.24 354.8850000000003 Td
+169.24 176.34500000000034 Td
/F5.0 11 Tf
<28> Tj
ET
@@ -19331,20 +19656,20 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 340.14500000000027 Td
+174.74 176.34500000000034 Td
/F5.0 11 Tf
-<ca2020202020202020202020> Tj
+<29> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.600 0.600 1.000 scn
-0.600 0.600 1.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-125.24000000000001 340.14500000000027 Td
+180.24 176.34500000000034 Td
/F5.0 11 Tf
-<40506172616d657465724c61796f7574> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
@@ -19353,9 +19678,9 @@ ET
0.200 0.200 0.200 SCN
BT
-213.24 340.14500000000027 Td
+185.74 176.34500000000034 Td
/F5.0 11 Tf
-<28> Tj
+<7b> Tj
ET
0.000 0.000 0.000 SCN
@@ -19364,9 +19689,20 @@ ET
0.200 0.200 0.200 SCN
BT
-218.74 340.14500000000027 Td
+191.24 176.34500000000034 Td
/F5.0 11 Tf
-<6e616d6564> Tj
+<20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+196.74 176.34500000000034 Td
+/F5.0 11 Tf
+<72657475726e> Tj
ET
0.000 0.000 0.000 SCN
@@ -19375,9 +19711,9 @@ ET
0.200 0.200 0.200 SCN
BT
-246.24 340.14500000000027 Td
+229.74 176.34500000000034 Td
/F5.0 11 Tf
-<3d> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
@@ -19386,7 +19722,7 @@ ET
0.800 0.200 0.000 SCN
BT
-251.74 340.14500000000027 Td
+235.24 176.34500000000034 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -19397,9 +19733,9 @@ ET
0.800 0.200 0.000 SCN
BT
-257.24 340.14500000000027 Td
+240.74 176.34500000000034 Td
/F5.0 11 Tf
-<637573746f6d65724e616d65> Tj
+<637573746f6d657273> Tj
ET
0.000 0.000 0.000 SCN
@@ -19408,7 +19744,7 @@ ET
0.800 0.200 0.000 SCN
BT
-323.24 340.14500000000027 Td
+290.24 176.34500000000034 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -19419,9 +19755,9 @@ ET
0.200 0.200 0.200 SCN
BT
-328.74 340.14500000000027 Td
+295.74 176.34500000000034 Td
/F5.0 11 Tf
-<29> Tj
+<3b> Tj
ET
0.000 0.000 0.000 SCN
@@ -19430,20 +19766,20 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 325.4050000000003 Td
+301.24 176.34500000000034 Td
/F5.0 11 Tf
-<ca2020202020202020202020> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-125.24000000000001 325.4050000000003 Td
+306.74 176.34500000000034 Td
/F5.0 11 Tf
-<66696e616c> Tj
+<7d> Tj
ET
0.000 0.000 0.000 SCN
@@ -19452,20 +19788,20 @@ ET
0.200 0.200 0.200 SCN
BT
-152.74 325.4050000000003 Td
+59.24000000000001 161.60500000000033 Td
/F5.0 11 Tf
-<20> Tj
+<ca202020> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.467 0.533 scn
-0.000 0.467 0.533 SCN
+0.600 0.600 1.000 scn
+0.600 0.600 1.000 SCN
BT
-158.24 325.4050000000003 Td
+81.24000000000001 161.60500000000033 Td
/F5.0 11 Tf
-<537472696e67> Tj
+<40416374696f6e> Tj
ET
0.000 0.000 0.000 SCN
@@ -19474,9 +19810,9 @@ ET
0.200 0.200 0.200 SCN
BT
-191.24 325.4050000000003 Td
+119.74000000000001 161.60500000000033 Td
/F5.0 11 Tf
-<20> Tj
+<28> Tj
ET
0.000 0.000 0.000 SCN
@@ -19485,9 +19821,9 @@ ET
0.200 0.200 0.200 SCN
BT
-196.74 325.4050000000003 Td
+125.24000000000001 161.60500000000033 Td
/F5.0 11 Tf
-<637573746f6d65724e616d65> Tj
+<73656d616e74696373> Tj
ET
0.000 0.000 0.000 SCN
@@ -19496,9 +19832,9 @@ ET
0.200 0.200 0.200 SCN
BT
-262.74 325.4050000000003 Td
+174.74 161.60500000000033 Td
/F5.0 11 Tf
-<29> Tj
+<3d> Tj
ET
0.000 0.000 0.000 SCN
@@ -19507,9 +19843,9 @@ ET
0.200 0.200 0.200 SCN
BT
-268.24 325.4050000000003 Td
+180.24 161.60500000000033 Td
/F5.0 11 Tf
-<20> Tj
+<53656d616e746963734f66> Tj
ET
0.000 0.000 0.000 SCN
@@ -19518,9 +19854,9 @@ ET
0.200 0.200 0.200 SCN
BT
-273.74 325.4050000000003 Td
+240.74 161.60500000000033 Td
/F5.0 11 Tf
-<7b> Tj
+<2e> Tj
ET
0.000 0.000 0.000 SCN
@@ -19529,9 +19865,9 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 310.6650000000003 Td
+246.24 161.60500000000033 Td
/F5.0 11 Tf
-<ca20202020202020> Tj
+<53414645> Tj
ET
0.000 0.000 0.000 SCN
@@ -19540,9 +19876,9 @@ ET
0.200 0.200 0.200 SCN
BT
-103.24000000000001 310.6650000000003 Td
+268.24 161.60500000000033 Td
/F5.0 11 Tf
-<2e> Tj
+<29> Tj
ET
0.000 0.000 0.000 SCN
@@ -19551,20 +19887,20 @@ ET
0.200 0.200 0.200 SCN
BT
-108.74000000000001 310.6650000000003 Td
+59.24000000000001 146.86500000000032 Td
/F5.0 11 Tf
-<2e> Tj
+<ca202020> 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
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
BT
-114.24000000000001 310.6650000000003 Td
+81.24000000000001 146.86500000000032 Td
/F5.0 11 Tf
-<2e> Tj
+<7075626c6963> Tj
ET
0.000 0.000 0.000 SCN
@@ -19573,9 +19909,9 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 295.9250000000003 Td
+114.24000000000001 146.86500000000032 Td
/F5.0 11 Tf
-<ca202020> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
@@ -19584,9 +19920,9 @@ ET
0.200 0.200 0.200 SCN
BT
-81.24000000000001 295.9250000000003 Td
+119.74000000000001 146.86500000000032 Td
/F5.0 11 Tf
-<7d> Tj
+<437573746f6d6572> Tj
ET
0.000 0.000 0.000 SCN
@@ -19595,9 +19931,9 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 281.1850000000003 Td
+163.74 146.86500000000032 Td
/F5.0 11 Tf
-<7d> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
@@ -19606,185 +19942,108 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 243.30600000000032 Td
-/F1.0 10.5 Tf
-[<5265737466756c204f626a656374732077696c6c206578706f7365207468697320617320616374696f6e20776974682074686520666f6c6c6f77696e67206c696e6b2074686174206c6f6f6b7320736f6d657468696e67206c696b> 20.01953125 <653a>] TJ
+169.24 146.86500000000032 Td
+/F5.0 11 Tf
+<66696e64437573746f6d6572> 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
-<3139> Tj
+235.24 146.86500000000032 Td
+/F5.0 11 Tf
+<28> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-143 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 595.28 841.89]
-/Contents 142 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F2.0 16 0 R
-/F1.0 8 0 R
-/F5.0 53 0 R
->>
-/XObject << /Stamp1 197 0 R
->>
->>
-/Annots [146 0 R]
->>
-endobj
-144 0 obj
-[143 0 R /XYZ 0 841.89 null]
-endobj
-145 0 obj
-[143 0 R /XYZ 0 693.8300000000002 null]
-endobj
-146 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (https://www.youtube.com/watch?v=_-TOvVYWCHc)
->>
-/Subtype /Link
-/Rect [73.46000000000001 638.7200000000001 125.81300000000002 653.0000000000002]
-/Type /Annot
->>
-endobj
-147 0 obj
-[143 0 R /XYZ 0 610.1900000000003 null]
-endobj
-148 0 obj
-[143 0 R /XYZ 0 482.99000000000035 null]
-endobj
-149 0 obj
-<< /Length 30255
->>
-stream
-q
-q
-/DeviceRGB cs
-0.961 0.961 0.961 scn
-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 596.270 l
-547.040 594.061 545.249 592.270 543.040 592.270 c
-52.240 592.270 l
-50.031 592.270 48.240 594.061 48.240 596.270 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 805.890 m
-543.040 805.890 l
-545.249 805.890 547.040 804.099 547.040 801.890 c
-547.040 596.270 l
-547.040 594.061 545.249 592.270 543.040 592.270 c
-52.240 592.270 l
-50.031 592.270 48.240 594.061 48.240 596.270 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 783.0649999999999 Td
+59.24000000000001 132.12500000000034 Td
/F5.0 11 Tf
-<7b> Tj
+<ca2020202020202020202020> 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
+0.600 0.600 1.000 scn
+0.600 0.600 1.000 SCN
BT
-59.24 768.3249999999999 Td
+125.24000000000001 132.12500000000034 Td
/F5.0 11 Tf
-<ca20> Tj
+<40506172616d657465724c61796f7574> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-70.24000000000001 768.3249999999999 Td
+213.24 132.12500000000034 Td
/F5.0 11 Tf
-<22> Tj
+<28> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-75.74000000000001 768.3249999999999 Td
+218.74 132.12500000000034 Td
/F5.0 11 Tf
-<72656c> Tj
+<6e616d6564> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-92.24000000000001 768.3249999999999 Td
+246.24 132.12500000000034 Td
/F5.0 11 Tf
-<22> Tj
+<3d> 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
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-97.74000000000001 768.3249999999999 Td
+251.74 132.12500000000034 Td
/F5.0 11 Tf
-<20> Tj
+<22> 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
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-103.24000000000001 768.3249999999999 Td
+257.24 132.12500000000034 Td
/F5.0 11 Tf
-<3a> Tj
+<637573746f6d65724e616d65> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+323.24 132.12500000000034 Td
+/F5.0 11 Tf
+<22> Tj
ET
0.000 0.000 0.000 SCN
@@ -19793,42 +20052,53 @@ ET
0.200 0.200 0.200 SCN
BT
-108.74000000000001 768.3249999999999 Td
+328.74 132.12500000000034 Td
/F5.0 11 Tf
-<20> Tj
+<29> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-114.24000000000001 768.3249999999999 Td
+59.24000000000001 117.38500000000033 Td
/F5.0 11 Tf
-<22> Tj
+<ca2020202020202020202020> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
BT
-119.74000000000001 768.3249999999999 Td
+125.24000000000001 117.38500000000033 Td
/F5.0 11 Tf
-<75726e3a6f72672e7265737466756c6f626a656374733a72656c732f696e766f6b65> Tj
+<66696e616c> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-306.74 768.3249999999999 Td
+152.74 117.38500000000033 Td
/F5.0 11 Tf
-<22> Tj
+<20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.467 0.533 scn
+0.000 0.467 0.533 SCN
+
+BT
+158.24 117.38500000000033 Td
+/F5.0 11 Tf
+<537472696e67> Tj
ET
0.000 0.000 0.000 SCN
@@ -19837,9 +20107,9 @@ ET
0.200 0.200 0.200 SCN
BT
-312.24 768.3249999999999 Td
+191.24 117.38500000000033 Td
/F5.0 11 Tf
-<2c> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
@@ -19848,42 +20118,42 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 753.585 Td
+196.74 117.38500000000033 Td
/F5.0 11 Tf
-<ca20> Tj
+<637573746f6d65724e616d65> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-70.24000000000001 753.585 Td
+262.74 117.38500000000033 Td
/F5.0 11 Tf
-<22> Tj
+<29> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-75.74000000000001 753.585 Td
+268.24 117.38500000000033 Td
/F5.0 11 Tf
-<68726566> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-97.74000000000001 753.585 Td
+273.74 117.38500000000033 Td
/F5.0 11 Tf
-<22> Tj
+<7b> Tj
ET
0.000 0.000 0.000 SCN
@@ -19892,9 +20162,9 @@ ET
0.200 0.200 0.200 SCN
BT
-103.24000000000001 753.585 Td
+59.24000000000001 102.64500000000034 Td
/F5.0 11 Tf
-<20> Tj
+<ca20202020202020> Tj
ET
0.000 0.000 0.000 SCN
@@ -19903,9 +20173,9 @@ ET
0.200 0.200 0.200 SCN
BT
-108.74000000000001 753.585 Td
+103.24000000000001 102.64500000000034 Td
/F5.0 11 Tf
-<3a> Tj
+<2e> Tj
ET
0.000 0.000 0.000 SCN
@@ -19914,40 +20184,42 @@ ET
0.200 0.200 0.200 SCN
BT
-114.24000000000001 753.585 Td
+108.74000000000001 102.64500000000034 Td
+/F5.0 11 Tf
+<2e> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-59.24 738.845 Td
+114.24000000000001 102.64500000000034 Td
/F5.0 11 Tf
-<22> Tj
+<2e> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-64.74000000000001 738.845 Td
+59.24000000000001 87.90500000000034 Td
/F5.0 11 Tf
-<687474703a2f2f6c6f63616c686f73743a383038302f7265737466756c2f73657276696365732f637573746f6d6572732f616374696f6e732f66696e64437573746f6d65722f696e766f6b65> Tj
+<ca202020> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-482.74 738.845 Td
+81.24000000000001 87.90500000000034 Td
/F5.0 11 Tf
-<22> Tj
+<7d> Tj
ET
0.000 0.000 0.000 SCN
@@ -19956,18 +20228,203 @@ ET
0.200 0.200 0.200 SCN
BT
-488.24 738.845 Td
+59.24000000000001 73.16500000000035 Td
/F5.0 11 Tf
-<2c> Tj
+<7d> 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
-59.24 724.105 Td
+535.978 14.388 Td
+/F1.0 9 Tf
+<3139> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+145 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 595.28 841.89]
+/Contents 144 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F2.0 16 0 R
+/F1.0 8 0 R
+/F5.0 53 0 R
+>>
+/XObject << /Stamp1 214 0 R
+>>
+>>
+/Annots [147 0 R 148 0 R 149 0 R 150 0 R 151 0 R 152 0 R 154 0 R]
+>>
+endobj
+146 0 obj
+[145 0 R /XYZ 0 841.89 null]
+endobj
+147 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../dg/dg.pdf#_dg_hints-and-tips)
+>>
+/Subtype /Link
+/Rect [84.93 678.8000000000001 143.23650000000004 693.0800000000002]
+/Type /Annot
+>>
+endobj
+148 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_hints-and-tips)
+>>
+/Subtype /Link
+/Rect [84.93 657.0200000000001 157.033294921875 671.3000000000002]
+/Type /Annot
+>>
+endobj
+149 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf#_ugvro_hints-and-tips)
+>>
+/Subtype /Link
+/Rect [84.93 635.2400000000001 196.31400000000002 649.5200000000002]
+/Type /Annot
+>>
+endobj
+150 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugodn/ugodn.pdf#_ugodn_hints-and-tips)
+>>
+/Subtype /Link
+/Rect [84.93 613.4600000000002 207.50700000000003 627.7400000000002]
+/Type /Annot
+>>
+endobj
+151 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugsec/ugsec.pdf#_ugsec_hints-and-tips)
+>>
+/Subtype /Link
+/Rect [84.93 591.6800000000002 125.98500000000001 605.9600000000003]
+/Type /Annot
+>>
+endobj
+152 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_hints-and-tips)
+>>
+/Subtype /Link
+/Rect [84.93 569.9000000000002 174.747 584.1800000000003]
+/Type /Annot
+>>
+endobj
+153 0 obj
+[145 0 R /XYZ 0 485.8100000000004 null]
+endobj
+154 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (https://www.youtube.com/watch?v=_-TOvVYWCHc)
+>>
+/Subtype /Link
+/Rect [73.46000000000001 430.7000000000004 125.81300000000002 444.98000000000036]
+/Type /Annot
+>>
+endobj
+155 0 obj
+[145 0 R /XYZ 0 402.17000000000036 null]
+endobj
+156 0 obj
+[145 0 R /XYZ 0 274.97000000000037 null]
+endobj
+157 0 obj
+<< /Length 30918
+>>
+stream
+q
+/DeviceRGB cs
+0.200 0.200 0.200 scn
+/DeviceRGB CS
+0.200 0.200 0.200 SCN
+
+BT
+48.24 793.9259999999999 Td
+/F1.0 10.5 Tf
+[<5265737466756c204f626a656374732077696c6c206578706f7365207468697320617320616374696f6e20776974682074686520666f6c6c6f77696e67206c696e6b2074686174206c6f6f6b7320736f6d657468696e67206c696b> 20.01953125 <653a>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+q
+0.961 0.961 0.961 scn
+52.240 778.110 m
+543.040 778.110 l
+545.249 778.110 547.040 776.319 547.040 774.110 c
+547.040 568.490 l
+547.040 566.281 545.249 564.490 543.040 564.490 c
+52.240 564.490 l
+50.031 564.490 48.240 566.281 48.240 568.490 c
+48.240 774.110 l
+48.240 776.319 50.031 778.110 52.240 778.110 c
+h
+f
+0.800 0.800 0.800 SCN
+0.75 w
+52.240 778.110 m
+543.040 778.110 l
+545.249 778.110 547.040 776.319 547.040 774.110 c
+547.040 568.490 l
+547.040 566.281 545.249 564.490 543.040 564.490 c
+52.240 564.490 l
+50.031 564.490 48.240 566.281 48.240 568.490 c
+48.240 774.110 l
+48.240 776.319 50.031 778.110 52.240 778.110 c
+h
+S
+Q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+59.24 755.285 Td
+/F5.0 11 Tf
+<7b> 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 740.545 Td
/F5.0 11 Tf
<ca20> Tj
ET
@@ -19978,7 +20435,7 @@ ET
0.000 0.400 0.600 SCN
BT
-70.24000000000001 724.105 Td
+70.24000000000001 740.545 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -19989,9 +20446,9 @@ ET
0.000 0.400 0.600 SCN
BT
-75.74000000000001 724.105 Td
+75.74000000000001 740.545 Td
/F5.0 11 Tf
-<6d6574686f64> Tj
+<72656c> Tj
ET
0.000 0.000 0.000 SCN
@@ -20000,7 +20457,7 @@ ET
0.000 0.400 0.600 SCN
BT
-108.74000000000001 724.105 Td
+92.24000000000001 740.545 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20011,7 +20468,7 @@ ET
0.200 0.200 0.200 SCN
BT
-114.24000000000001 724.105 Td
+97.74000000000001 740.545 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20022,7 +20479,7 @@ ET
0.200 0.200 0.200 SCN
BT
-119.74000000000001 724.105 Td
+103.24000000000001 740.545 Td
/F5.0 11 Tf
<3a> Tj
ET
@@ -20033,7 +20490,7 @@ ET
0.200 0.200 0.200 SCN
BT
-125.24000000000001 724.105 Td
+108.74000000000001 740.545 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20044,7 +20501,7 @@ ET
0.800 0.200 0.000 SCN
BT
-130.74 724.105 Td
+114.24000000000001 740.545 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20055,9 +20512,9 @@ ET
0.800 0.200 0.000 SCN
BT
-136.24 724.105 Td
+119.74000000000001 740.545 Td
/F5.0 11 Tf
-<474554> Tj
+<75726e3a6f72672e7265737466756c6f626a656374733a72656c732f696e766f6b65> Tj
ET
0.000 0.000 0.000 SCN
@@ -20066,7 +20523,7 @@ ET
0.800 0.200 0.000 SCN
BT
-152.74 724.105 Td
+306.74 740.545 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20077,7 +20534,7 @@ ET
0.200 0.200 0.200 SCN
BT
-158.24 724.105 Td
+312.24 740.545 Td
/F5.0 11 Tf
<2c> Tj
ET
@@ -20088,7 +20545,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 709.365 Td
+59.24 725.8050000000001 Td
/F5.0 11 Tf
<ca20> Tj
ET
@@ -20099,7 +20556,7 @@ ET
0.000 0.400 0.600 SCN
BT
-70.24000000000001 709.365 Td
+70.24000000000001 725.8050000000001 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20110,9 +20567,9 @@ ET
0.000 0.400 0.600 SCN
BT
-75.74000000000001 709.365 Td
+75.74000000000001 725.8050000000001 Td
/F5.0 11 Tf
-<74797065> Tj
+<68726566> Tj
ET
0.000 0.000 0.000 SCN
@@ -20121,7 +20578,7 @@ ET
0.000 0.400 0.600 SCN
BT
-97.74000000000001 709.365 Td
+97.74000000000001 725.8050000000001 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20132,7 +20589,7 @@ ET
0.200 0.200 0.200 SCN
BT
-103.24000000000001 709.365 Td
+103.24000000000001 725.8050000000001 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20143,7 +20600,7 @@ ET
0.200 0.200 0.200 SCN
BT
-108.74000000000001 709.365 Td
+108.74000000000001 725.8050000000001 Td
/F5.0 11 Tf
<3a> Tj
ET
@@ -20154,9 +20611,7 @@ ET
0.200 0.200 0.200 SCN
BT
-114.24000000000001 709.365 Td
-/F5.0 11 Tf
-<20> Tj
+114.24000000000001 725.8050000000001 Td
ET
0.000 0.000 0.000 SCN
@@ -20165,7 +20620,7 @@ ET
0.800 0.200 0.000 SCN
BT
-119.74000000000001 709.365 Td
+59.24 711.065 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20176,9 +20631,251 @@ ET
0.800 0.200 0.000 SCN
BT
-125.24000000000001 709.365 Td
+64.74000000000001 711.065 Td
/F5.0 11 Tf
-<6170706c69636174696f6e2f6a736f6e3b70726f66696c653d> Tj
+<687474703a2f2f6c6f63616c686f73743a383038302f7265737466756c2f73657276696365732f637573746f6d6572732f616374696f6e732f66696e64437573746f6d65722f696e766f6b65> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+482.74 711.065 Td
+/F5.0 11 Tf
+<22> 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
+488.24 711.065 Td
+/F5.0 11 Tf
+<2c> 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 696.325 Td
+/F5.0 11 Tf
+<ca20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+70.24000000000001 696.325 Td
+/F5.0 11 Tf
+<22> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+75.74000000000001 696.325 Td
+/F5.0 11 Tf
+<6d6574686f64> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+108.74000000000001 696.325 Td
+/F5.0 11 Tf
+<22> 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
+114.24000000000001 696.325 Td
+/F5.0 11 Tf
+<20> 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
+119.74000000000001 696.325 Td
+/F5.0 11 Tf
+<3a> 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
+125.24000000000001 696.325 Td
+/F5.0 11 Tf
+<20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+130.74 696.325 Td
+/F5.0 11 Tf
+<22> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+136.24 696.325 Td
+/F5.0 11 Tf
+<474554> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+152.74 696.325 Td
+/F5.0 11 Tf
+<22> 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
+158.24 696.325 Td
+/F5.0 11 Tf
+<2c> 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 681.585 Td
+/F5.0 11 Tf
+<ca20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+70.24000000000001 681.585 Td
+/F5.0 11 Tf
+<22> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+75.74000000000001 681.585 Td
+/F5.0 11 Tf
+<74797065> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
+
+BT
+97.74000000000001 681.585 Td
+/F5.0 11 Tf
+<22> 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
+103.24000000000001 681.585 Td
+/F5.0 11 Tf
+<20> 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
+108.74000000000001 681.585 Td
+/F5.0 11 Tf
+<3a> 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
+114.24000000000001 681.585 Td
+/F5.0 11 Tf
+<20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+119.74000000000001 681.585 Td
+/F5.0 11 Tf
+<22> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+125.24000000000001 681.585 Td
+/F5.0 11 Tf
+<6170706c69636174696f6e2f6a736f6e3b70726f66696c653d> Tj
ET
0.000 0.000 0.000 SCN
@@ -20187,7 +20884,7 @@ ET
0.800 0.200 0.000 SCN
BT
-262.74 709.365 Td
+262.74 681.585 Td
/F5.0 11 Tf
<5c22> Tj
ET
@@ -20198,7 +20895,7 @@ ET
0.800 0.200 0.000 SCN
BT
-273.74 709.365 Td
+273.74 681.585 Td
/F5.0 11 Tf
<75726e3a6f72672e7265737466756c6f626a656374733a726570722d74797065732f616374696f6e2d> Tj
ET
@@ -20209,7 +20906,7 @@ ET
0.800 0.200 0.000 SCN
BT
-59.24 694.625 Td
+59.24 666.845 Td
/F5.0 11 Tf
<726573756c74> Tj
ET
@@ -20220,7 +20917,7 @@ ET
0.800 0.200 0.000 SCN
BT
-92.24000000000001 694.625 Td
+92.24000000000001 666.845 Td
/F5.0 11 Tf
<5c22> Tj
ET
@@ -20231,7 +20928,7 @@ ET
0.800 0.200 0.000 SCN
BT
-103.24000000000001 694.625 Td
+103.24000000000001 666.845 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20242,7 +20939,7 @@ ET
0.200 0.200 0.200 SCN
BT
-108.74000000000001 694.625 Td
+108.74000000000001 666.845 Td
/F5.0 11 Tf
<2c> Tj
ET
@@ -20253,7 +20950,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 679.885 Td
+59.24 652.105 Td
/F5.0 11 Tf
<ca20> Tj
ET
@@ -20264,7 +20961,7 @@ ET
0.000 0.400 0.600 SCN
BT
-70.24000000000001 679.885 Td
+70.24000000000001 652.105 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20275,7 +20972,7 @@ ET
0.000 0.400 0.600 SCN
BT
-75.74000000000001 679.885 Td
+75.74000000000001 652.105 Td
/F5.0 11 Tf
<617267756d656e7473> Tj
ET
@@ -20286,7 +20983,7 @@ ET
0.000 0.400 0.600 SCN
BT
-125.24000000000001 679.885 Td
+125.24000000000001 652.105 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20297,7 +20994,7 @@ ET
0.200 0.200 0.200 SCN
BT
-130.74 679.885 Td
+130.74 652.105 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20308,7 +21005,7 @@ ET
0.200 0.200 0.200 SCN
BT
-136.24 679.885 Td
+136.24 652.105 Td
/F5.0 11 Tf
<3a> Tj
ET
@@ -20319,7 +21016,7 @@ ET
0.200 0.200 0.200 SCN
BT
-141.74 679.885 Td
+141.74 652.105 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20330,7 +21027,7 @@ ET
0.200 0.200 0.200 SCN
BT
-147.24 679.885 Td
+147.24 652.105 Td
/F5.0 11 Tf
<7b> Tj
ET
@@ -20341,7 +21038,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 665.145 Td
+59.24 637.365 Td
/F5.0 11 Tf
<ca202020> Tj
ET
@@ -20352,7 +21049,7 @@ ET
0.000 0.400 0.600 SCN
BT
-81.24000000000001 665.145 Td
+81.24000000000001 637.365 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20363,7 +21060,7 @@ ET
0.000 0.400 0.600 SCN
BT
-86.74000000000001 665.145 Td
+86.74000000000001 637.365 Td
/F5.0 11 Tf
<637573746f6d65724e616d65> Tj
ET
@@ -20374,7 +21071,7 @@ ET
0.000 0.400 0.600 SCN
BT
-152.74 665.145 Td
+152.74 637.365 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20385,7 +21082,7 @@ ET
0.200 0.200 0.200 SCN
BT
-158.24 665.145 Td
+158.24 637.365 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20396,7 +21093,7 @@ ET
0.200 0.200 0.200 SCN
BT
-163.74 665.145 Td
+163.74 637.365 Td
/F5.0 11 Tf
<3a> Tj
ET
@@ -20407,7 +21104,7 @@ ET
0.200 0.200 0.200 SCN
BT
-169.24 665.145 Td
+169.24 637.365 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20418,7 +21115,7 @@ ET
0.200 0.200 0.200 SCN
BT
-174.74 665.145 Td
+174.74 637.365 Td
/F5.0 11 Tf
<7b> Tj
ET
@@ -20429,7 +21126,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 650.405 Td
+59.24 622.625 Td
/F5.0 11 Tf
<ca2020202020> Tj
ET
@@ -20440,7 +21137,7 @@ ET
0.000 0.400 0.600 SCN
BT
-92.24000000000001 650.405 Td
+92.24000000000001 622.625 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20451,7 +21148,7 @@ ET
0.000 0.400 0.600 SCN
BT
-97.74000000000001 650.405 Td
+97.74000000000001 622.625 Td
/F5.0 11 Tf
<76616c7565> Tj
ET
@@ -20462,7 +21159,7 @@ ET
0.000 0.400 0.600 SCN
BT
-125.24000000000001 650.405 Td
+125.24000000000001 622.625 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20473,7 +21170,7 @@ ET
0.200 0.200 0.200 SCN
BT
-130.74 650.405 Td
+130.74 622.625 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20484,7 +21181,7 @@ ET
0.200 0.200 0.200 SCN
BT
-136.24 650.405 Td
+136.24 622.625 Td
/F5.0 11 Tf
<3a> Tj
ET
@@ -20495,7 +21192,7 @@ ET
0.200 0.200 0.200 SCN
BT
-141.74 650.405 Td
+141.74 622.625 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20506,7 +21203,7 @@ ET
0.200 0.200 0.200 SCN
BT
-147.24 650.405 Td
+147.24 622.625 Td
/F5.0 11 Tf
<6e756c6c> Tj
ET
@@ -20517,7 +21214,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 635.665 Td
+59.24 607.885 Td
/F5.0 11 Tf
<ca202020> Tj
ET
@@ -20528,7 +21225,7 @@ ET
0.200 0.200 0.200 SCN
BT
-81.24000000000001 635.665 Td
+81.24000000000001 607.885 Td
/F5.0 11 Tf
<7d> Tj
ET
@@ -20539,7 +21236,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 620.925 Td
+59.24 593.145 Td
/F5.0 11 Tf
<ca20> Tj
ET
@@ -20550,7 +21247,7 @@ ET
0.200 0.200 0.200 SCN
BT
-70.24000000000001 620.925 Td
+70.24000000000001 593.145 Td
/F5.0 11 Tf
<7d> Tj
ET
@@ -20561,7 +21258,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24 606.185 Td
+59.24 578.405 Td
/F5.0 11 Tf
<7d> Tj
ET
@@ -20572,7 +21269,7 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 568.3059999999999 Td
+48.24 540.5260000000001 Td
/F1.0 10.5 Tf
[<59> 69.82421875 <6f752063616e207468656e20696e766f6b> 20.01953125 <652074686973207573696e6720416e67756c61722720>] TJ
ET
@@ -20583,7 +21280,7 @@ ET
0.694 0.129 0.275 SCN
BT
-248.69714062500003 568.3059999999999 Td
+248.69714062500003 540.5260000000001 Td
/F5.0 10.5 Tf
<247265736f75726365> Tj
ET
@@ -20594,7 +21291,7 @@ ET
0.200 0.200 0.200 SCN
BT
-295.94714062500003 568.3059999999999 Td
+295.94714062500003 540.5260000000001 Td
/F1.0 10.5 Tf
<207365727669636520617320666f6c6c6f77732e> Tj
ET
@@ -20603,28 +21300,28 @@ ET
0.000 0.000 0.000 scn
q
0.961 0.961 0.961 scn
-52.240 552.490 m
-543.040 552.490 l
-545.249 552.490 547.040 550.699 547.040 548.490 c
-547.040 387.090 l
-547.040 384.881 545.249 383.090 543.040 383.090 c
-52.240 383.090 l
-50.031 383.090 48.240 384.881 48.240 387.090 c
-48.240 548.490 l
-48.240 550.699 50.031 552.490 52.240 552.490 c
+52.240 524.710 m
+543.040 524.710 l
+545.249 524.710 547.040 522.919 547.040 520.710 c
+547.040 359.310 l
+547.040 357.101 545.249 355.310 543.040 355.310 c
+52.240 355.310 l
+50.031 355.310 48.240 357.101 48.240 359.310 c
+48.240 520.710 l
+48.240 522.919 50.031 524.710 52.240 524.710 c
h
f
0.800 0.800 0.800 SCN
0.75 w
-52.240 552.490 m
-543.040 552.490 l
-545.249 552.490 547.040 550.699 547.040 548.490 c
-547.040 387.090 l
-547.040 384.881 545.249 383.090 543.040 383.090 c
-52.240 383.090 l
-50.031 383.090 48.240 384.881 48.240 387.090 c
-48.240 548.490 l
-48.240 550.699 50.031 552.490 52.240 552.490 c
+52.240 524.710 m
+543.040 524.710 l
+545.249 524.710 547.040 522.919 547.040 520.710 c
+547.040 359.310 l
+547.040 357.101 545.249 355.310 543.040 355.310 c
+52.240 355.310 l
+50.031 355.310 48.240 357.101 48.240 359.310 c
+48.240 520.710 l
+48.240 522.919 50.031 524.710 52.240 524.710 c
h
S
Q
@@ -20632,7 +21329,7 @@ Q
0.000 0.400 0.600 SCN
BT
-59.24 529.665 Td
+59.24 501.88500000000005 Td
/F5.0 11 Tf
<766172> Tj
ET
@@ -20643,7 +21340,7 @@ ET
0.200 0.200 0.200 SCN
BT
-75.74000000000001 529.665 Td
+75.74000000000001 501.88500000000005 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20654,7 +21351,7 @@ ET
0.200 0.200 0.200 SCN
BT
-81.24000000000001 529.665 Td
+81.24000000000001 501.88500000000005 Td
/F5.0 11 Tf
<66696e64437573746f6d6572> Tj
ET
@@ -20665,7 +21362,7 @@ ET
0.200 0.200 0.200 SCN
BT
-147.24 529.665 Td
+147.24 501.88500000000005 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20676,7 +21373,7 @@ ET
0.200 0.200 0.200 SCN
BT
-152.74 529.665 Td
+152.74 501.88500000000005 Td
/F5.0 11 Tf
<3d> Tj
ET
@@ -20687,7 +21384,7 @@ ET
0.200 0.200 0.200 SCN
BT
-158.24 529.665 Td
+158.24 501.88500000000005 Td
/F5.0 11 Tf
<20> Tj
ET
@@ -20698,7 +21395,7 @@ ET
0.200 0.200 0.200 SCN
BT
-163.74 529.665 Td
+163.74 501.88500000000005 Td
/F5.0 11 Tf
<247265736f75726365> Tj
ET
@@ -20709,7 +21406,7 @@ ET
0.200 0.200 0.200 SCN
BT
-213.24 529.665 Td
+213.24 501.88500000000005 Td
/F5.0 11 Tf
<28> Tj
ET
@@ -20720,7 +21417,7 @@ ET
0.800 0.200 0.000 SCN
BT
-59.24 514.925 Td
+59.24 487.14500000000004 Td
/F5.0 11 Tf
<22> Tj
ET
@@ -20731,7 +21428,7 @@ ET
0.800 0.200 0.000 SCN
BT
-64.74000000000001 514.925 Td
+64.74000000000001 487.14500000000004 Td
/F5.0 11 Tf
<687474703a2f2f6c6f63616c686f73743a383038302f7265737466756c2f73657276696365732f637573746f6d6572732f616374696f6e732f66696e64437573746f6d65722f696e766f6b653f3a71756572795374> Tj
ET
@@ -20742,7 +21439,7 @@ ET
0.800 0.
<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/about-page/about-page.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/about-page/about-page.png b/content/guides/ugvw/images/about-page/about-page.png
new file mode 100644
index 0000000..ae5dfc8
Binary files /dev/null and b/content/guides/ugvw/images/about-page/about-page.png differ
[11/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugodn/ugodn.pdf
----------------------------------------------------------------------
diff --git a/content/guides/ugodn/ugodn.pdf b/content/guides/ugodn/ugodn.pdf
index fca603b..447edac 100644
--- a/content/guides/ugodn/ugodn.pdf
+++ b/content/guides/ugodn/ugodn.pdf
@@ -4,16 +4,16 @@
<< /Title (DataNucleus Object Store)
/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:20170411195546+01'00')
-/ModDate (D:20170411195546+01'00')
+/CreationDate (D:20170420093407+01'00')
+/ModDate (D:20170420093407+01'00')
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
/Names 14 0 R
-/Outlines 139 0 R
-/PageLabels 154 0 R
+/Outlines 189 0 R
+/PageLabels 211 0 R
/PageMode /UseOutlines
/OpenAction [7 0 R /FitH 842.89]
/ViewerPreferences << /DisplayDocTitle true
@@ -22,8 +22,8 @@ endobj
endobj
3 0 obj
<< /Type /Pages
-/Count 19
-/Kids [7 0 R 10 0 R 12 0 R 36 0 R 49 0 R 59 0 R 67 0 R 71 0 R 75 0 R 77 0 R 84 0 R 86 0 R 89 0 R 91 0 R 97 0 R 99 0 R 101 0 R 107 0 R 110 0 R]
+/Count 24
+/Kids [7 0 R 10 0 R 12 0 R 36 0 R 49 0 R 57 0 R 66 0 R 72 0 R 78 0 R 80 0 R 87 0 R 89 0 R 92 0 R 94 0 R 100 0 R 102 0 R 105 0 R 112 0 R 120 0 R 123 0 R 126 0 R 138 0 R 144 0 R 147 0 R]
>>
endobj
4 0 obj
@@ -78,17 +78,17 @@ endobj
endobj
8 0 obj
<< /Type /Font
-/BaseFont /AAAADA+NotoSerif
+/BaseFont /AAAACZ+NotoSerif
/Subtype /TrueType
-/FontDescriptor 156 0 R
+/FontDescriptor 213 0 R
/FirstChar 32
/LastChar 255
-/Widths 158 0 R
-/ToUnicode 157 0 R
+/Widths 215 0 R
+/ToUnicode 214 0 R
>>
endobj
9 0 obj
-<< /Length 10255
+<< /Length 16012
>>
stream
q
@@ -391,7 +391,7 @@ ET
BT
541.1705 640.9759999999999 Td
/F1.0 10.5 Tf
-<33> Tj
+<34> Tj
ET
0.000 0.000 0.000 SCN
@@ -431,7 +431,7 @@ ET
BT
541.1705 622.4959999999999 Td
/F1.0 10.5 Tf
-<35> Tj
+<36> Tj
ET
0.000 0.000 0.000 SCN
@@ -520,9 +520,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 567.0559999999998 Td
+60.24 567.0559999999998 Td
/F1.0 10.5 Tf
-<342e204f766572726964696e67204a444f20416e6e6f746174696f6e73> Tj
+<332e322e204d616e6461746f72792050726f7065727469657320696e205375627479706573> Tj
ET
0.000 0.000 0.000 SCN
@@ -531,9 +531,9 @@ ET
0.200 0.200 0.200 SCN
BT
-202.58224999999993 567.0559999999998 Td
+256.0272499999999 567.0559999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -551,7 +551,7 @@ ET
BT
535.3009999999999 567.0559999999998 Td
/F1.0 10.5 Tf
-<3135> Tj
+<3134> Tj
ET
0.000 0.000 0.000 SCN
@@ -560,9 +560,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 548.5759999999998 Td
+60.24 548.5759999999998 Td
/F1.0 10.5 Tf
-<352e204a61766138> Tj
+<332e332e204d617070696e6720746f20612056696577> Tj
ET
0.000 0.000 0.000 SCN
@@ -571,9 +571,9 @@ ET
0.200 0.200 0.200 SCN
BT
-90.34774999999996 548.5759999999998 Td
+175.85974999999996 548.5759999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -591,11 +591,291 @@ ET
BT
535.3009999999999 548.5759999999998 Td
/F1.0 10.5 Tf
+<3135> 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
+48.24 530.0959999999998 Td
+/F1.0 10.5 Tf
+<342e20446174616261736520536368656d6173> 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
+154.48174999999992 530.0959999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 530.0959999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 530.0959999999998 Td
+/F1.0 10.5 Tf
+<3136> 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
+60.24 511.6159999999998 Td
+/F1.0 10.5 Tf
+<342e312e204c697374656e657220746f2063726561746520736368656d61> 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
+213.27124999999995 511.6159999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 511.6159999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 511.6159999999998 Td
+/F1.0 10.5 Tf
+<3136> 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
+60.24 493.1359999999998 Td
+/F1.0 10.5 Tf
+<342e322e20416c7465726e617469766520696d706c656d656e746174696f6e> 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
+223.96024999999997 493.1359999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 493.1359999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 493.1359999999998 Td
+/F1.0 10.5 Tf
<3137> 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
+48.24 474.6559999999998 Td
+/F1.0 10.5 Tf
+<352e2048696e747320616e642054697073> 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
+133.10374999999993 474.6559999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 474.6559999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 474.6559999999998 Td
+/F1.0 10.5 Tf
+<3139> 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
+60.24 456.17599999999976 Td
+/F1.0 10.5 Tf
+<352e312e204f766572726964696e67204a444f20416e6e6f746174696f6e73> 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
+223.96024999999997 456.17599999999976 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 456.17599999999976 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 456.17599999999976 Td
+/F1.0 10.5 Tf
+<3139> 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
+60.24 437.69599999999974 Td
+/F1.0 10.5 Tf
+<352e322e2053756274797065206e6f742066756c6c7920706f70756c61746564> 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
+223.96024999999997 437.69599999999974 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 437.69599999999974 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 437.69599999999974 Td
+/F1.0 10.5 Tf
+<3230> 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
+60.24 419.2159999999997 Td
+/F1.0 10.5 Tf
+<352e332e204a61766138> 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
+111.72574999999995 419.2159999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+533.94125 419.2159999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+535.3009999999999 419.2159999999997 Td
+/F1.0 10.5 Tf
+<3231> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
Q
endstream
@@ -611,7 +891,7 @@ endobj
/F4.0 38 0 R
>>
>>
-/Annots [113 0 R 114 0 R 115 0 R 116 0 R 117 0 R 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R]
+/Annots [149 0 R 150 0 R 151 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 168 0 R 169 0 R 170 0 R 171 0 R 172 0 R 173 0 R 174 0 R 175 0 R 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R]
>>
endobj
11 0 obj
@@ -1285,7 +1565,7 @@ endobj
/F1.0 8 0 R
/F3.1 18 0 R
>>
-/XObject << /Stamp1 138 0 R
+/XObject << /Stamp1 188 0 R
>>
>>
/Annots [17 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R]
@@ -1300,18 +1580,18 @@ endobj
>>
endobj
15 0 obj
-<< /Names [(_ugodn) 13 0 R (_ugodn_configuring) 37 0 R (_ugodn_configuring_disabling-persistence-by-reachability) 56 0 R (_ugodn_configuring_eagerly-registering-entities) 52 0 R (_ugodn_configuring_persistence-xml) 51 0 R (_ugodn_configuring_properties) 41 0 R (_ugodn_configuring_using-jndi-data-source) 68 0 R (_ugodn_java8) 111 0 R (_ugodn_jdo-mappings) 78 0 R (_ugodn_jdo-mappings_1-to-m-bidirectional-relationships) 79 0 R (_ugodn_overriding-jdo-annotations) 102 0 R (application-managed) 69 0 R (configuration-properties-for-apache-isis-itself) 42 0 R (configuration-properties-passed-through-directly-to-datanucleus) 47 0 R (container-managed-jndi) 73 0 R (mandatory-no-code-join-code) 81 0 R (optional-no-code-join-code) 87 0 R (other-guides) 19 0 R (the-issue-in-more-detail) 62 0 R (with-code-join-code) 95 0 R]
+<< /Kids [114 0 R 115 0 R]
>>
endobj
16 0 obj
<< /Type /Font
-/BaseFont /AAAADB+NotoSerif-Bold
+/BaseFont /AAAADA+NotoSerif-Bold
/Subtype /TrueType
-/FontDescriptor 160 0 R
+/FontDescriptor 217 0 R
/FirstChar 32
/LastChar 255
-/Widths 162 0 R
-/ToUnicode 161 0 R
+/Widths 219 0 R
+/ToUnicode 218 0 R
>>
endobj
17 0 obj
@@ -1327,13 +1607,13 @@ endobj
endobj
18 0 obj
<< /Type /Font
-/BaseFont /AAAADC+FontAwesome
+/BaseFont /AAAADB+FontAwesome
/Subtype /TrueType
-/FontDescriptor 164 0 R
+/FontDescriptor 221 0 R
/FirstChar 32
/LastChar 255
-/Widths 166 0 R
-/ToUnicode 165 0 R
+/Widths 223 0 R
+/ToUnicode 222 0 R
>>
endobj
19 0 obj
@@ -1626,12 +1906,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.497 Tw
+0.459 Tw
BT
48.24 678.086 Td
/F1.0 10.5 Tf
-<746865206e616d65206f6620746865202270657273697374656e636520756e6974222e20206e207468656f727920697420636f756c6420616c736f20686f6c64206d617070696e67732c2074686f75676820696e204170616368652049736973207765> Tj
+<746865206e616d65206f6620746865202270657273697374656e636520756e6974222e20496e207468656f727920697420636f756c6420616c736f20686f6c64206d617070696e67732c2074686f75676820696e204170616368652049736973207765> Tj
ET
@@ -2949,7 +3229,7 @@ endobj
/F4.0 38 0 R
/F5.0 43 0 R
>>
-/XObject << /Stamp1 138 0 R
+/XObject << /Stamp1 188 0 R
>>
>>
/Annots [39 0 R 40 0 R 44 0 R 45 0 R 46 0 R]
@@ -2960,13 +3240,13 @@ endobj
endobj
38 0 obj
<< /Type /Font
-/BaseFont /AAAADD+mplus1mn-regular
+/BaseFont /AAAADC+mplus1mn-regular
/Subtype /TrueType
-/FontDescriptor 168 0 R
+/FontDescriptor 225 0 R
/FirstChar 32
/LastChar 255
-/Widths 170 0 R
-/ToUnicode 169 0 R
+/Widths 227 0 R
+/ToUnicode 226 0 R
>>
endobj
39 0 obj
@@ -2984,7 +3264,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_other-techniques_overriding-jdo-annotations)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_other-techniques_overriding-jdo-annotations)
>>
/Subtype /Link
/Rect [163.0575 599.9 300.4605 614.1800000000001]
@@ -2999,18 +3279,21 @@ endobj
endobj
43 0 obj
<< /Type /Font
-/BaseFont /AAAADE+NotoSerif-Italic
+/BaseFont /AAAADD+NotoSerif-Italic
/Subtype /TrueType
-/FontDescriptor 172 0 R
+/FontDescriptor 229 0 R
/FirstChar 32
/LastChar 255
-/Widths 174 0 R
-/ToUnicode 173 0 R
+/Widths 231 0 R
+/ToUnicode 230 0 R
>>
endobj
44 0 obj
<< /Border [0 0 0]
-/Dest (_ugodn_configuring_eagerly-registering-entities)
+/A << /Type /Action
+/S /URI
+/URI (../ugodn/ugodn.pdf#_ugodn_configuring_eagerly-registering-entities)
+>>
/Subtype /Link
/Rect [300.6395012 297.89699999999993 385.76300119999996 312.17699999999996]
/Type /Annot
@@ -3020,7 +3303,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcfg.pdf#_rgcfg_configuring-components)
+/URI (../rgcfg/rgcfg.pdf#_rgcfg_configuring-components)
>>
/Subtype /Link
/Rect [319.3295012 285.21299999999997 403.3295012 295.71299999999997]
@@ -3031,7 +3314,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_super_AppManifest)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_super_AppManifest)
>>
/Subtype /Link
/Rect [389.6270012 270.93299999999994 447.3770012 281.433]
@@ -3042,7 +3325,7 @@ endobj
[36 0 R /XYZ 0 190.23599999999993 null]
endobj
48 0 obj
-<< /Length 18434
+<< /Length 20845
>>
stream
q
@@ -3396,59 +3679,60 @@ ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-q
-0.5 w
-0.933 0.933 0.933 SCN
-113.807 632.020 m
-113.807 655.800 l
-S
-Q
-0.098 0.251 0.486 scn
-0.098 0.251 0.486 SCN
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.098 0.251 0.486 scn
-0.098 0.251 0.486 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+3.426 Tw
BT
-77.16783333333333 635.6875000000001 Td
-/F3.1 23 Tf
-<21> Tj
+48.24 643.836 Td
+/F1.0 10.5 Tf
+<446174614e75636c6575732077696c6c20666f7220697473656c6620616c736f20616e6420726561642074686520> Tj
ET
+
+0.000 Tw
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
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+3.426 Tw
BT
-125.80666666666667 639.836 Td
-/F1.0 10.5 Tf
-[<54> 20.01953125 <4f444f>] TJ
+296.8728076923076 643.836 Td
+/F4.0 10.5 Tf
+<4d4554412d494e462f70657273697374656e63652e786d6c> Tj
ET
+
+0.000 Tw
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
+3.426 Tw
+
BT
-48.24000000000001 595.9960000000001 Td
-/F2.0 18 Tf
-<322e332e2045616765726c79205265676973746572696e6720456e746974696573> Tj
+422.8728076923077 643.836 Td
+/F1.0 10.5 Tf
+<2e20496e207468656f72792069742063616e20686f6c64> Tj
ET
+
+0.000 Tw
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
-0.863 Tw
+2.351 Tw
BT
-48.24000000000001 567.9760000000001 Td
+48.24 628.056 Td
/F1.0 10.5 Tf
-<426f746820417061636865204973697320616e6420446174614e75636c6575732068617665207468656972206f776e206d6574616d6f64656c73206f662074686520646f6d61696e20656e7469746965732e204170616368652049736973> Tj
+<6d617070696e677320616e64206576656e20636f6e6e656374696f6e20737472696e67732e20486f77657665722c20776974682041706163686520497369732077652074656e6420746f2075736520616e6e6f746174696f6e73> Tj
ET
@@ -3458,12 +3742,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.913 Tw
+0.672 Tw
BT
-48.24000000000001 552.1960000000001 Td
+48.24 612.2760000000001 Td
/F1.0 10.5 Tf
-[<6275696c647320697473206d6574616d6f64656c2062> 20.01953125 <792077616c6b696e6720746865206772> 20.01953125 <617068206f66207479706573206f662074686520646f6d61696e2073657276696365732e2020546865204a444f2f446174614e75636c657573>] TJ
+[<696e737465616420616e642065787465726e616c697a6520636f6e6e656374696f6e20737472696e67732e20736f2069747320646566696e6974696f6e2069732065787472656d656c792073696d706c79> 89.84375 <2c2073706563696679696e67206a75737420746865>] TJ
ET
@@ -3474,9 +3758,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24000000000001 536.4160000000002 Td
+48.24 596.4960000000001 Td
/F1.0 10.5 Tf
-[<6f626a65637473746f7265207468656e2074616b> 20.01953125 <657320746865736520747970657320616e6420726567697374657273207468656d207769746820446174614e75636c6575732e>] TJ
+<6e616d65206f6620746865202270657273697374656e636520756e6974222e> Tj
ET
0.000 0.000 0.000 SCN
@@ -3484,253 +3768,235 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.158 Tw
-
BT
-48.24000000000001 508.63600000000014 Td
+48.24 568.716 Td
/F1.0 10.5 Tf
-[<496e20736f6d652063617365732c2074686f7567682c206e6f7420657665727920656e74697479207479706520697320646973636f766572> 20.01953125 <61626c652066726f6d2074686520415049206f6620746865207365727669636520616374696f6e732e2054686973>] TJ
+[<48657265d57320746865206f6e652070726f76696465642062> 20.01953125 <792074686520>] TJ
ET
-
-0.000 Tw
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
-
-2.304 Tw
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-48.24000000000001 492.8560000000001 Td
+204.31179492187502 568.716 Td
/F1.0 10.5 Tf
-<697320657370656369616c6c7920746865206361736520696620796f752068617665206c6f7473206f66207375627479706573202877686572652074686520616374696f6e206d6574686f6420737065636966696573206f6e6c7920746865> Tj
+<53696d706c6541707020617263686574797065> Tj
ET
-
-0.000 Tw
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
-2.128 Tw
-
BT
-48.24000000000001 477.07600000000014 Td
+311.53779492187505 568.716 Td
/F1.0 10.5 Tf
-[<737570657274797065292e20496e207375636820636173657320746865204973697320616e64204a444f206d6574616d6f64656c73206973206275696c74206c617a696c79> 89.84375 <2c207768656e20616e20696e7374616e6365206f662074686174>] TJ
+<3a> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+q
+0.961 0.961 0.961 scn
+52.240 552.900 m
+543.040 552.900 l
+545.249 552.900 547.040 551.109 547.040 548.900 c
+547.040 402.240 l
+547.040 400.031 545.249 398.240 543.040 398.240 c
+52.240 398.240 l
+50.031 398.240 48.240 400.031 48.240 402.240 c
+48.240 548.900 l
+48.240 551.109 50.031 552.900 52.240 552.900 c
+h
+f
+0.800 0.800 0.800 SCN
+0.75 w
+52.240 552.900 m
+543.040 552.900 l
+545.249 552.900 547.040 551.109 547.040 548.900 c
+547.040 402.240 l
+547.040 400.031 545.249 398.240 543.040 398.240 c
+52.240 398.240 l
+50.031 398.240 48.240 400.031 48.240 402.240 c
+48.240 548.900 l
+48.240 551.109 50.031 552.900 52.240 552.900 c
+h
+S
+Q
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-48.24000000000001 461.29600000000016 Td
-/F1.0 10.5 Tf
-<28737562297479706520697320666972737420656e636f756e74657265642e> Tj
+59.24 530.075 Td
+/F4.0 11 Tf
+<3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822203f3e> 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
-
-0.184 Tw
+0.184 0.435 0.624 scn
+0.184 0.435 0.624 SCN
BT
-48.24000000000001 433.51600000000013 Td
-/F1.0 10.5 Tf
-[<41706163686520497369732069732071756974652068617070> 20.01953125 <7920666f7220746865206d6574616d6f64656c20746f206265206c617a696c7920637265617465642c20616e64202d20746f2062652066616972202d20446174614e75636c65757320616c736f>] TJ
+59.24 515.335 Td
+/F4.0 11 Tf
+<3c70657273697374656e6365> Tj
ET
-
-0.000 Tw
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
-0.671 Tw
-
BT
-48.24000000000001 417.7360000000001 Td
-/F1.0 10.5 Tf
-<776f726b732077656c6c20696e206d6f73742063617365732e20496e20736f6d652063617365732c2074686f7567682c207765206861766520666f756e64207468617420746865204a4442432064726976657220286567204853514c444229> Tj
+125.24000000000001 515.335 Td
+/F4.0 11 Tf
+<20> Tj
ET
-
-0.000 Tw
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
-
-1.055 Tw
+0.310 0.624 0.812 scn
+0.310 0.624 0.812 SCN
BT
-48.24000000000001 401.95600000000013 Td
-/F1.0 10.5 Tf
-<77696c6c20646561646c6f636b20696620446174614e75636c65757320747269657320746f207375626d697420736f6d652044444c2028666f722061206c617a696c7920646973636f766572656420747970652920696e7465726d696e676c6564> Tj
+130.74 515.335 Td
+/F4.0 11 Tf
+<786d6c6e73> Tj
ET
-
-0.000 Tw
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
-0.038 Tw
-
BT
-48.24000000000001 386.17600000000016 Td
-/F1.0 10.5 Tf
-[<7769746820444d4c2028666f72207570646174696e67292e2020496e20616e> 20.01953125 <7920636173652c206974d5732070726f6261626c79206e6f7420676f6f64207072> 20.01953125 <61637469636520746f206861766520446174614e75636c65757320776f726b2074686973>] TJ
+158.24 515.335 Td
+/F4.0 11 Tf
+<3d> Tj
ET
-
-0.000 Tw
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
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-48.24000000000001 370.39600000000013 Td
-/F1.0 10.5 Tf
-[<7761> 20.01953125 <79> 89.84375 <2e>] TJ
+163.74 515.335 Td
+/F4.0 11 Tf
+<22> 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
-
-3.042 Tw
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-48.24000000000001 342.61600000000016 Td
-/F1.0 10.5 Tf
-[<546865206672> 20.01953125 <616d65776f726b20746875732070726f76696465206d656368616e69736d7320746f2073656172636820666f7220616c6c20>] TJ
+169.24 515.335 Td
+/F4.0 11 Tf
+<687474703a2f2f6a6176612e73756e2e636f6d2f786d6c2f6e732f70657273697374656e6365> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-3.042 Tw
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-368.50414453125 342.61600000000016 Td
-/F4.0 10.5 Tf
-<4050657273697374656e636543617061626c65> Tj
+378.24 515.335 Td
+/F4.0 11 Tf
+<22> Tj
ET
-
-0.000 Tw
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
-3.042 Tw
-
BT
-468.25414453125 342.61600000000016 Td
-/F1.0 10.5 Tf
-<20656e74697469657320756e646572> Tj
+59.24 500.5950000000001 Td
+/F4.0 11 Tf
+<ca202020> Tj
ET
-
-0.000 Tw
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
+0.310 0.624 0.812 scn
+0.310 0.624 0.812 SCN
BT
-48.24000000000001 326.8360000000001 Td
-/F1.0 10.5 Tf
-[<737065636966696564207061636b6167652873292c20616e6420726567697374657273207468656d20616c6c2065616765726c79> 89.84375 <2e2020496e2066616374207468657265206172652074776f3a>] TJ
+81.24000000000001 500.5950000000001 Td
+/F4.0 11 Tf
+<786d6c6e733a787369> 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 299.05600000000015 Td
-/F1.0 10.5 Tf
-<a5> Tj
+130.74 500.5950000000001 Td
+/F4.0 11 Tf
+<3d> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
-0.000 Tc
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
+BT
+136.24 500.5950000000001 Td
+/F4.0 11 Tf
+<22> Tj
+ET
-1.572 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-66.24000000000001 299.05600000000015 Td
-/F1.0 10.5 Tf
-<6173206f6620312e392e3020746865207265636f6d6d656e6465642028616e642073696d706c65722920617070726f61636820697320746f207370656369667920616e20> Tj
+141.74 500.5950000000001 Td
+/F4.0 11 Tf
+<687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e6365> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-1.572 Tw
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-427.3705 299.05600000000015 Td
-/F4.0 10.5 Tf
-<4170704d616e6966657374> Tj
+367.24 500.5950000000001 Td
+/F4.0 11 Tf
+<22> Tj
ET
-
-0.000 Tw
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
-1.572 Tw
-
BT
-485.1205 299.05600000000015 Td
-/F1.0 10.5 Tf
-<2c206569746865722061732061> Tj
+59.24 485.8550000000001 Td
+/F4.0 11 Tf
+<ca202020> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.310 0.624 0.812 scn
+0.310 0.624 0.812 SCN
BT
-66.24000000000001 283.2760000000002 Td
-/F4.0 10.5 Tf
-<697369732e6170704d616e6966657374> Tj
+81.24000000000001 485.8550000000001 Td
+/F4.0 11 Tf
+<7873693a736368656d614c6f636174696f6e> Tj
ET
0.000 0.000 0.000 SCN
@@ -3739,153 +4005,174 @@ ET
0.200 0.200 0.200 SCN
BT
-150.24 283.2760000000002 Td
-/F1.0 10.5 Tf
-[<20636f6e6669677572> 20.01953125 <6174696f6e2070726f7065727479206f722070726f6772> 20.01953125 <616d6d61746963616c6c79> 89.84375 <2e>] TJ
+180.24 485.8550000000001 Td
+/F4.0 11 Tf
+<3d> 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
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-56.88050000000001 261.49600000000015 Td
-/F1.0 10.5 Tf
-<a5> Tj
+185.74 485.8550000000001 Td
+/F4.0 11 Tf
+<22> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-
-0.000 Tc
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-15.974 Tw
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-66.24000000000001 261.49600000000015 Td
-/F1.0 10.5 Tf
-<666f72206561726c6965722076657273696f6e732074686520> Tj
+191.24 485.8550000000001 Td
+/F4.0 11 Tf
+<687474703a2f2f6a6176612e73756e2e636f6d2f786d6c2f6e732f70657273697374656e6365> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-15.974 Tw
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-247.78999999999994 261.49600000000015 Td
-/F4.0 10.5 Tf
-<697369732e706572736973746f722e646174616e75636c6575732e5265676973746572456e7469746965732e7061636b616765507265666978> Tj
+59.24 471.11500000000007 Td
+/F4.0 11 Tf
+<687474703a2f2f6a6176612e73756e2e636f6d2f786d6c2f6e732f70657273697374656e63652f70657273697374656e63655f315f302e787364> Tj
ET
-
-0.000 Tw
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
-
-15.974 Tw
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-547.04 261.49600000000015 Td
+378.24 471.11500000000007 Td
+/F4.0 11 Tf
+<22> Tj
ET
-
-0.000 Tw
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
-1.124 Tw
-
BT
-66.24000000000001 245.71600000000015 Td
-/F1.0 10.5 Tf
-[<636f6e6669677572> 20.01953125 <6174696f6e2070726f70657274792063616e206265207370656369666965642e202054> 29.78515625 <6f20626f6f74737472> 20.01953125 <6170206173206120776562617070207468697320697320757375616c6c792073706563696669656420696e>] TJ
+383.74 471.11500000000007 Td
+/F4.0 11 Tf
+<20> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-0.634 Tw
+0.310 0.624 0.812 scn
+0.310 0.624 0.812 SCN
BT
-66.24000000000001 229.93600000000015 Td
-/F4.0 10.5 Tf
-<706572736973746f725f646174616e75636c6575732e70726f70657274696573> Tj
+389.24 471.11500000000007 Td
+/F4.0 11 Tf
+<76657273696f6e> Tj
ET
-
-0.000 Tw
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
-0.634 Tw
-
BT
-234.24 229.93600000000015 Td
-/F1.0 10.5 Tf
-<2e2020285468697320697320616c736f20737570706f7274656420696e20312e392e30206966206e6f20> Tj
+427.74 471.11500000000007 Td
+/F4.0 11 Tf
+<3d> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+433.24 471.11500000000007 Td
+/F4.0 11 Tf
+<22> Tj
+ET
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
-0.634 Tw
+BT
+438.74 471.11500000000007 Td
+/F4.0 11 Tf
+<312e30> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-427.2901666666666 229.93600000000015 Td
-/F4.0 10.5 Tf
-<4170704d616e6966657374> Tj
+455.24 471.11500000000007 Td
+/F4.0 11 Tf
+<22> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.184 0.435 0.624 scn
+0.184 0.435 0.624 SCN
+
+BT
+460.74 471.11500000000007 Td
+/F4.0 11 Tf
+<3e> Tj
+ET
-0.000 Tw
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
-0.634 Tw
-
BT
-485.0401666666666 229.93600000000015 Td
-/F1.0 10.5 Tf
-<206973207370656369666965642e> Tj
+59.24 441.6350000000001 Td
+/F4.0 11 Tf
+<ca202020> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.184 0.435 0.624 scn
+0.184 0.435 0.624 SCN
+
+BT
+81.24000000000001 441.6350000000001 Td
+/F4.0 11 Tf
+<3c70657273697374656e63652d756e6974> Tj
+ET
-0.000 Tw
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
-66.24000000000001 214.15600000000015 Td
-/F1.0 10.5 Tf
-[<46> 40.0390625 <6f7220696e74656772> 20.01953125 <6174696f6e2074657374696e6720746869732063616e206265207370656369666965642070726f6772> 20.01953125 <616d61746963616c6c79> 89.84375 <2e>] TJ
+174.74 441.6350000000001 Td
+/F4.0 11 Tf
+<20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.310 0.624 0.812 scn
+0.310 0.624 0.812 SCN
+
+BT
+180.24 441.6350000000001 Td
+/F4.0 11 Tf
+<6e616d65> Tj
ET
0.000 0.000 0.000 SCN
@@ -3893,36 +4180,87 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.893 Tw
+BT
+202.24 441.6350000000001 Td
+/F4.0 11 Tf
+<3d> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-48.24000000000001 186.37600000000015 Td
-/F1.0 10.5 Tf
-[<467572746865722064697363757373696f6e206f6e2073706563696679696e6720746865207061636b61676528732920696e20696e74656772> 20.01953125 <6174696f6e2074657374696e672028666f722065697468657220617070726f616368292063616e206265>] TJ
+207.74 441.6350000000001 Td
+/F4.0 11 Tf
+<22> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+213.24 441.6350000000001 Td
+/F4.0 11 Tf
+<73696d706c65> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
+
+BT
+246.24 441.6350000000001 Td
+/F4.0 11 Tf
+<22> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.184 0.435 0.624 scn
+0.184 0.435 0.624 SCN
+
+BT
+251.74 441.6350000000001 Td
+/F4.0 11 Tf
+<3e> Tj
+ET
-0.000 Tw
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
-48.24000000000001 170.59600000000015 Td
-/F1.0 10.5 Tf
-<666f756e6420696e2074686520> Tj
+59.24 426.8950000000001 Td
+/F4.0 11 Tf
+<ca202020> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.259 0.545 0.792 scn
-0.259 0.545 0.792 SCN
+0.184 0.435 0.624 scn
+0.184 0.435 0.624 SCN
BT
-112.29 170.59600000000015 Td
-/F1.0 10.5 Tf
-<75736572206775696465> Tj
+81.24000000000001 426.8950000000001 Td
+/F4.0 11 Tf
+<3c2f70657273697374656e63652d756e69743e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.184 0.435 0.624 scn
+0.184 0.435 0.624 SCN
+
+BT
+59.24 412.1550000000001 Td
+/F4.0 11 Tf
+<3c2f70657273697374656e63653e> Tj
ET
0.000 0.000 0.000 SCN
@@ -3931,9 +4269,20 @@ ET
0.200 0.200 0.200 SCN
BT
-164.67450000000002 170.59600000000015 Td
+48.24 374.2760000000001 Td
/F1.0 10.5 Tf
-<2e> Tj
+<4e6f726d616c6c7920616c6c206f6e65206e6565647320746f20646f20697320746f206368616e67652074686520> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+274.557 374.2760000000001 Td
+/F4.0 10.5 Tf
+<70657273697374656e63652d756e6974> Tj
ET
0.000 0.000 0.000 SCN
@@ -3942,9 +4291,31 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24000000000001 130.75600000000014 Td
-/F2.0 18 Tf
-[<322e342e2050657273697374656e63652062> 20.01953125 <792052656163686162696c697479>] TJ
+358.557 374.2760000000001 Td
+/F1.0 10.5 Tf
+<206e616d652e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+q
+0.5 w
+0.933 0.933 0.933 SCN
+113.807 318.900 m
+113.807 358.460 l
+S
+Q
+0.067 0.067 0.067 scn
+0.067 0.067 0.067 SCN
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.067 0.067 0.067 scn
+0.067 0.067 0.067 SCN
+
+BT
+80.17133333333334 330.1000000000002 Td
+/F3.1 24 Tf
+<22> Tj
ET
0.000 0.000 0.000 SCN
@@ -3952,12 +4323,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-1.171 Tw
+6.273 Tw
BT
-48.24000000000001 102.73600000000013 Td
+125.80666666666667 342.49600000000015 Td
/F1.0 10.5 Tf
-[<42> 20.01953125 <792064656661756c742c204a444f2f446174614e75636c65757320737570706f7274732074686520636f6e63657074206f6620>] TJ
+<496620796f75207573652045636c6970736520494445206f6e2057696e646f7773207468656e20> Tj
ET
@@ -3967,12 +4338,12 @@ ET
0.259 0.545 0.792 scn
0.259 0.545 0.792 SCN
-1.171 Tw
+6.273 Tw
BT
-320.04245084635414 102.73600000000013 Td
+377.19838888888887 342.49600000000015 Td
/F1.0 10.5 Tf
-[<70657273697374656e63652d62> 20.01953125 <792d72656163686162696c697479>] TJ
+<6e6f74652074686520696d706f7274616e6365> Tj
ET
@@ -3982,102 +4353,115 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-1.171 Tw
+6.273 Tw
BT
-455.58674576822915 102.73600000000013 Td
+491.1524444444445 342.49600000000015 Td
/F1.0 10.5 Tf
-<2e20546861742069732c2069662061206e6f6e2d> Tj
+<206f6620746865> Tj
ET
0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+125.80666666666667 326.7160000000001 Td
+/F4.0 10.5 Tf
+<70657273697374656e63652e786d6c> 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
-1.442 Tw
-
BT
-48.24000000000001 86.95600000000013 Td
+204.55666666666667 326.7160000000001 Td
/F1.0 10.5 Tf
-[<70657273697374656e7420656e74697479206973206173736f636961746564207769746820616e20616c72656164792d70657273697374656e7420656e74697479> 89.84375 <2c207468656e20446174614e75636c6575732077696c6c206465746563742074686973>] TJ
+[<2066696c6520746f206d616b> 20.01953125 <6520446174614e75636c65757320656e68616e63657220776f726b20636f72726563746c79> 89.84375 <2e>] TJ
ET
-
-0.000 Tw
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
-2.552 Tw
-
BT
-48.24000000000001 71.17600000000013 Td
+48.24000000000001 294.93600000000015 Td
/F1.0 10.5 Tf
-[<616e642077696c6c206175746f6d61746963616c6c79207065727369737420746865206173736f636961746564206f626a6563742e2050757420616e6f74686572207761> 20.01953125 <793a207468657265206973206e6f206e65656420746f2063616c6c>] TJ
+<53656520> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
+BT
+67.89600000000002 294.93600000000015 Td
+/F1.0 10.5 Tf
+<446174614e75636c6575732720646f63756d656e746174696f6e> Tj
+ET
-0.000 Tw
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
-5.438 Tw
-
BT
-48.24000000000001 55.39600000000013 Td
+212.25000000000003 294.93600000000015 Td
/F1.0 10.5 Tf
-<41706163686520497369732720> Tj
+<206f6e20> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-5.438 Tw
-
BT
-120.72024999999996 55.39600000000013 Td
+230.52000000000004 294.93600000000015 Td
/F4.0 10.5 Tf
-<446f6d61696e4f626a656374436f6e7461696e65722370657273697374282e29> Tj
+<70657273697374656e63652e786d6c> Tj
ET
-
-0.000 Tw
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
-5.438 Tw
-
BT
-288.72024999999996 55.39600000000013 Td
+309.27000000000004 294.93600000000015 Td
/F1.0 10.5 Tf
-<206f7220> Tj
+<20746f206c6561726e206d6f72652e> 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
+48.24000000000001 255.09600000000012 Td
+/F2.0 18 Tf
+<322e332e2045616765726c79205265676973746572696e6720456e746974696573> Tj
+ET
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
-5.438 Tw
+0.863 Tw
BT
-316.0399999999999 55.39600000000013 Td
-/F4.0 10.5 Tf
-<446f6d61696e4f626a656374436f6e7461696e6572237065727369737449664e6f74416c7265616479282e29> Tj
+48.24000000000001 227.0760000000001 Td
+/F1.0 10.5 Tf
+<426f746820417061636865204973697320616e6420446174614e75636c6575732068617665207468656972206f776e206d6574616d6f64656c73206f662074686520646f6d61696e20656e7469746965732e204170616368652049736973> Tj
ET
@@ -4087,10 +4471,124 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-5.438 Tw
+0.913 Tw
BT
-547.04 55.39600000000013 Td
+48.24000000000001 211.2960000000001 Td
+/F1.0 10.5 Tf
+[<6275696c647320697473206d6574616d6f64656c2062> 20.01953125 <792077616c6b696e6720746865206772> 20.01953125 <617068206f66207479706573206f662074686520646f6d61696e2073657276696365732e2020546865204a444f2f446174614e75636c657573>] TJ
+ET
+
+
+0.000 Tw
+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
+48.24000000000001 195.5160000000001 Td
+/F1.0 10.5 Tf
+[<6f626a65637473746f7265207468656e2074616b> 20.01953125 <657320746865736520747970657320616e6420726567697374657273207468656d207769746820446174614e75636c6575732e>] 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
+
+0.158 Tw
+
+BT
+48.24000000000001 167.7360000000001 Td
+/F1.0 10.5 Tf
+[<496e20736f6d652063617365732c2074686f7567682c206e6f7420657665727920656e74697479207479706520697320646973636f766572> 20.01953125 <61626c652066726f6d2074686520415049206f6620746865207365727669636520616374696f6e732e2054686973>] TJ
+ET
+
+
+0.000 Tw
+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
+
+2.304 Tw
+
+BT
+48.24000000000001 151.9560000000001 Td
+/F1.0 10.5 Tf
+<697320657370656369616c6c7920746865206361736520696620796f752068617665206c6f7473206f66207375627479706573202877686572652074686520616374696f6e206d6574686f6420737065636966696573206f6e6c7920746865> Tj
+ET
+
+
+0.000 Tw
+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
+
+2.128 Tw
+
+BT
+48.24000000000001 136.1760000000001 Td
+/F1.0 10.5 Tf
+[<737570657274797065292e20496e207375636820636173657320746865204973697320616e64204a444f206d6574616d6f64656c73206973206275696c74206c617a696c79> 89.84375 <2c207768656e20616e20696e7374616e6365206f662074686174>] TJ
+ET
+
+
+0.000 Tw
+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
+48.24000000000001 120.3960000000001 Td
+/F1.0 10.5 Tf
+<28737562297479706520697320666972737420656e636f756e74657265642e> 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
+
+0.184 Tw
+
+BT
+48.24000000000001 92.6160000000001 Td
+/F1.0 10.5 Tf
+[<41706163686520497369732069732071756974652068617070> 20.01953125 <7920666f7220746865206d6574616d6f64656c20746f206265206c617a696c7920637265617465642c20616e64202d20746f2062652066616972202d20446174614e75636c65757320616c736f>] TJ
+ET
+
+
+0.000 Tw
+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
+
+0.671 Tw
+
+BT
+48.24000000000001 76.8360000000001 Td
+/F1.0 10.5 Tf
+<776f726b732077656c6c20696e206d6f73742063617365732e20496e20736f6d652063617365732c2074686f7567682c207765206861766520666f756e64207468617420746865204a4442432064726976657220286567204853514c444229> Tj
+ET
+
+
+0.000 Tw
+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
+
+1.055 Tw
+
+BT
+48.24000000000001 61.0560000000001 Td
+/F1.0 10.5 Tf
+<77696c6c20646561646c6f636b20696620446174614e75636c65757320747269657320746f207375626d697420736f6d652044444c2028666f722061206c617a696c7920646973636f766572656420747970652920696e7465726d696e676c6564> Tj
ET
@@ -4133,15 +4631,18 @@ endobj
/F1.0 8 0 R
/F3.1 18 0 R
>>
-/XObject << /Stamp1 138 0 R
+/XObject << /Stamp1 188 0 R
>>
>>
-/Annots [50 0 R 53 0 R 54 0 R 55 0 R 57 0 R]
+/Annots [50 0 R 52 0 R 53 0 R 54 0 R]
>>
endobj
50 0 obj
<< /Border [0 0 0]
-/Dest (_ugodn_configuring_disabling-persistence-by-reachability)
+/A << /Type /Action
+/S /URI
+/URI (../ugodn/ugodn.pdf#_ugodn_configuring_disabling-persistence-by-reachability)
+>>
/Subtype /Link
/Rect [342.0620012 735.2370000000001 427.1855012 749.517]
/Type /Annot
@@ -4151,57 +4652,43 @@ endobj
[49 0 R /XYZ 0 695.88 null]
endobj
52 0 obj
-[49 0 R /XYZ 0 620.0200000000001 null]
-endobj
-53 0 obj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_super_AppManifest)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
-/Rect [427.3705 297.5860000000001 485.1205 308.0860000000001]
+/Rect [204.31179492187502 565.65 311.53779492187505 579.9300000000001]
/Type /Annot
>>
endobj
-54 0 obj
+53 0 obj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcfg.pdf#_rgcfg_configuring-components)
+/URI (../dg/dg.pdf#__dg_ide_eclipse_workaround-for-path-limits)
>>
/Subtype /Link
-/Rect [66.24000000000001 281.80600000000015 150.24 292.30600000000015]
+/Rect [377.19838888888887 339.4300000000002 491.1524444444445 353.71000000000015]
/Type /Annot
>>
endobj
-55 0 obj
+54 0 obj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugtst.pdf#_ugtst_integ-test-support_bootstrapping)
+/URI (http://www.datanucleus.org/products/datanucleus/jdo/persistence.html#persistenceunit)
>>
/Subtype /Link
-/Rect [112.29 167.53000000000014 164.67450000000002 181.81000000000014]
+/Rect [67.89600000000002 291.8700000000001 212.25000000000003 306.15000000000015]
/Type /Annot
>>
endobj
-56 0 obj
-[49 0 R /XYZ 0 154.78000000000014 null]
-endobj
-57 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://www.datanucleus.org/products/datanucleus/jdo/orm/cascading.html)
->>
-/Subtype /Link
-/Rect [320.04245084635414 99.67000000000013 455.58674576822915 113.95000000000013]
-/Type /Annot
->>
+55 0 obj
+[49 0 R /XYZ 0 279.1200000000001 null]
endobj
-58 0 obj
-<< /Length 20356
+56 0 obj
+<< /Length 16682
>>
stream
q
@@ -4210,56 +4697,68 @@ q
/DeviceRGB CS
0.200 0.200 0.200 SCN
+0.038 Tw
+
BT
48.24 794.6759999999999 Td
/F1.0 10.5 Tf
-<6d6574686f64732e> Tj
+[<7769746820444d4c2028666f72207570646174696e67292e2020496e20616e> 20.01953125 <7920636173652c206974d5732070726f6261626c79206e6f7420676f6f64207072> 20.01953125 <61637469636520746f206861766520446174614e75636c65757320776f726b2074686973>] TJ
ET
+
+0.000 Tw
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
-48.24 766.896 Td
+48.24 778.896 Td
/F1.0 10.5 Tf
-[<486f77657665722c20636f6e76656e69656e742074686f756768207468697320666561747572652069732c20796f75206d61> 20.01953125 <792066696e6420746861742069742063617573657320706572666f726d616e6365206973737565732e>] TJ
+[<7761> 20.01953125 <79> 89.84375 <2e>] TJ
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-q
-0.5 w
-0.933 0.933 0.933 SCN
-113.807 711.520 m
-113.807 751.080 l
-S
-Q
-0.749 0.412 0.000 scn
-0.749 0.412 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+3.042 Tw
+
+BT
+48.24 751.116 Td
+/F1.0 10.5 Tf
+[<546865206672> 20.01953125 <616d65776f726b20746875732070726f76696465206d656368616e69736d7320746f2073656172636820666f7220616c6c20>] TJ
+ET
+
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.749 0.412 0.000 scn
-0.749 0.412 0.000 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+3.042 Tw
BT
-75.02333333333334 722.72 Td
-/F3.1 24 Tf
-<22> Tj
+368.50414453125 751.116 Td
+/F4.0 10.5 Tf
+<4050657273697374656e636543617061626c65> Tj
ET
+
+0.000 Tw
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
-3.691 Tw
+3.042 Tw
BT
-125.80666666666667 735.116 Td
+468.25414453125 751.116 Td
/F1.0 10.5 Tf
-[<446174614e75636c657573272070657273697374656e63652d62> 20.01953125 <792d72656163686162696c697479206d61> 20.01953125 <7920636175736520706572666f726d616e6365206973737565732e202057> 60.05859375 <65>] TJ
+<20656e74697469657320756e646572> Tj
ET
@@ -4270,35 +4769,37 @@ ET
0.200 0.200 0.200 SCN
BT
-125.80666666666667 719.336 Td
+48.24 735.336 Td
/F1.0 10.5 Tf
-<7374726f6e676c79207265636f6d6d656e64207468617420796f752064697361626c652069742e> Tj
+[<737065636966696564207061636b6167652873292c20616e6420726567697374657273207468656d20616c6c2065616765726c79> 89.84375 <2e2020496e2066616374207468657265206172652074776f3a>] 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
-0.057 Tw
-
BT
-48.24000000000001 687.556 Td
+56.88050000000001 707.556 Td
/F1.0 10.5 Tf
-<4f6e65207363656e6172696f20696e20706172746963756c6172207768657265207468697320706572666f726d616e6365206973737565732063616e20617269736520697320696620796f757220656e74697469657320696d706c656d656e7420746865> Tj
+<a5> Tj
ET
-
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+
+0.000 Tc
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-1.901 Tw
+1.572 Tw
BT
-48.24000000000001 671.7760000000001 Td
+66.24000000000001 707.556 Td
+/F1.0 10.5 Tf
+<6173206f6620312e392e3020746865207265636f6d6d656e6465642028616e642073696d706c65722920617070726f61636820697320746f207370656369667920616e20> Tj
ET
@@ -4308,12 +4809,12 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-1.901 Tw
+1.572 Tw
BT
-48.24000000000001 671.7760000000001 Td
+427.3705 707.556 Td
/F4.0 10.5 Tf
-<6a6176612e6c616e672e436f6d70617261626c65> Tj
+<4170704d616e6966657374> Tj
ET
@@ -4323,12 +4824,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-1.901 Tw
+1.572 Tw
BT
-153.24 671.7760000000001 Td
+485.1205 707.556 Td
/F1.0 10.5 Tf
-<20696e746572666163652c20616e6420796f75206861766520757365642041706163686520497369732720> Tj
+<2c206569746865722061732061> Tj
ET
@@ -4338,42 +4839,49 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-1.901 Tw
-
BT
-379.3843181818182 671.7760000000001 Td
+66.24000000000001 691.7760000000001 Td
/F4.0 10.5 Tf
-<4f626a656374436f6e747261637473> Tj
+<697369732e6170704d616e6966657374> Tj
ET
-
-0.000 Tw
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
-1.901 Tw
-
BT
-458.1343181818182 671.7760000000001 Td
+150.24 691.7760000000001 Td
/F1.0 10.5 Tf
-<207574696c69747920636c6173732e20546865> Tj
+[<20636f6e6669677572> 20.01953125 <6174696f6e2070726f7065727479206f722070726f6772> 20.01953125 <616d6d61746963616c6c79> 89.84375 <2e>] 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 669.9960000000001 Td
+/F1.0 10.5 Tf
+<a5> Tj
+ET
-0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+
+0.000 Tc
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.058 Tw
+15.974 Tw
BT
-48.24000000000001 655.9960000000001 Td
+66.24000000000001 669.9960000000001 Td
/F1.0 10.5 Tf
-<69737375652068657265206973207468617420> Tj
+<666f72206561726c6965722076657273696f6e732074686520> Tj
ET
@@ -4383,12 +4891,12 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-0.058 Tw
+15.974 Tw
BT
-135.31580338541664 655.9960000000001 Td
+247.78999999999994 669.9960000000001 Td
/F4.0 10.5 Tf
-<4f626a656374436f6e747261637473> Tj
+<697369732e706572736973746f722e646174616e75636c6575732e5265676973746572456e7469746965732e7061636b616765507265666978> Tj
ET
@@ -4398,12 +4906,10 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.058 Tw
+15.974 Tw
BT
-214.06580338541664 655.9960000000001 Td
-/F1.0 10.5 Tf
-[<20696d706c656d656e746174696f6e2063616e20636175736520446174614e75636c65757320746f207265637572736976656c7920726568> 20.01953125 <796472> 20.01953125 <6174652061>] TJ
+547.04 669.9960000000001 Td
ET
@@ -4413,23 +4919,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-BT
-48.24000000000001 640.2160000000001 Td
-/F1.0 10.5 Tf
-<6c6172676572206e756d626572206f66206173736f63696174656420656e7469746965732e20284d6f72652064657461696c2062656c6f77292e> 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
-
-1.441 Tw
+1.124 Tw
BT
-48.24000000000001 612.436 Td
+66.24000000000001 654.2160000000001 Td
/F1.0 10.5 Tf
-[<57> 60.05859375 <65207468657265666f7265207265636f6d6d656e64207468617420796f752064697361626c652070657273697374656e63652d62> 20.01953125 <792d72656163686162696c6974792062> 20.01953125 <7920616464696e672074686520666f6c6c6f77696e6720746f>] TJ
+[<636f6e6669677572> 20.01953125 <6174696f6e2070726f70657274792063616e206265207370656369666965642e202054> 29.78515625 <6f20626f6f74737472> 20.01953125 <6170206173206120776562617070207468697320697320757375616c6c792073706563696669656420696e>] TJ
ET
@@ -4439,94 +4934,57 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
+0.634 Tw
+
BT
-48.24000000000001 596.6560000000001 Td
+66.24000000000001 638.4360000000001 Td
/F4.0 10.5 Tf
<706572736973746f725f646174616e75636c6575732e70726f70657274696573> Tj
ET
+
+0.000 Tw
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
+0.634 Tw
+
BT
-216.24 596.6560000000001 Td
+234.24 638.4360000000001 Td
/F1.0 10.5 Tf
-<3a> Tj
+<2e2020285468697320697320616c736f20737570706f7274656420696e20312e392e30206966206e6f20> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-q
-0.961 0.961 0.961 scn
-52.240 580.840 m
-543.040 580.840 l
-545.249 580.840 547.040 579.049 547.040 576.840 c
-547.040 548.100 l
-547.040 545.891 545.249 544.100 543.040 544.100 c
-52.240 544.100 l
-50.031 544.100 48.240 545.891 48.240 548.100 c
-48.240 576.840 l
-48.240 579.049 50.031 580.840 52.240 580.840 c
-h
-f
-0.800 0.800 0.800 SCN
-0.75 w
-52.240 580.840 m
-543.040 580.840 l
-545.249 580.840 547.040 579.049 547.040 576.840 c
-547.040 548.100 l
-547.040 545.891 545.249 544.100 543.040 544.100 c
-52.240 544.100 l
-50.031 544.100 48.240 545.891 48.240 548.100 c
-48.240 576.840 l
-48.240 579.049 50.031 580.840 52.240 580.840 c
-h
-S
-Q
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-59.24000000000001 558.0150000000001 Td
-/F4.0 11 Tf
-<697369732e706572736973746f722e646174616e75636c6575732e696d706c2e646174616e75636c6575732e70657273697374656e6365427952656163686162696c6974794174436f6d6d69743d66616c7365> Tj
-ET
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
-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
+0.634 Tw
BT
-48.24000000000001 520.1360000000002 Td
-/F1.0 10.5 Tf
-<54686973206368616e676520686173206265656e206d61646520746f2074686520> Tj
+427.2901666666666 638.4360000000001 Td
+/F4.0 10.5 Tf
+<4170704d616e6966657374> Tj
ET
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.259 0.545 0.792 scn
-0.259 0.545 0.792 SCN
-
-BT
-219.537 520.1360000000002 Td
-/F1.0 10.5 Tf
-<53696d706c6541707020617263686574797065> Tj
-ET
+0.000 Tw
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
-0.447 Tw
+0.634 Tw
BT
-48.24000000000001 492.35600000000017 Td
+485.0401666666666 638.4360000000001 Td
/F1.0 10.5 Tf
-<496620796f7520646f2064697361626c65207468697320666561747572652c207468656e20796f752077696c6c20286f6620636f7572736529206e65656420746f20656e73757265207468617420796f75206578706c696369746c79207065727369737420616c6c> Tj
+<206973207370656369666965642e> Tj
ET
@@ -4536,77 +4994,47 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-57.237 Tw
-
BT
-48.24000000000001 476.57600000000014 Td
+66.24000000000001 622.6560000000002 Td
/F1.0 10.5 Tf
-<656e746974696573207573696e672074686520> Tj
-ET
-
-
-0.000 Tw
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-57.237 Tw
-
-BT
-308.07899999999995 476.57600000000014 Td
-/F4.0 10.5 Tf
-<446f6d61696e4f626a656374436f6e7461696e65722370657273697374282e29> Tj
+[<46> 40.0390625 <6f7220696e74656772> 20.01953125 <6174696f6e2074657374696e6720746869732063616e206265207370656369666965642070726f6772> 20.01953125 <616d61746963616c6c79> 89.84375 <2e>] TJ
ET
-
-0.000 Tw
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
-57.237 Tw
+0.893 Tw
BT
-476.07899999999995 476.57600000000014 Td
+48.24000000000001 594.8760000000001 Td
/F1.0 10.5 Tf
-<206f72> Tj
+[<467572746865722064697363757373696f6e206f6e2073706563696679696e6720746865207061636b61676528732920696e20696e74656772> 20.01953125 <6174696f6e2074657374696e672028666f722065697468657220617070726f616368292063616e206265>] TJ
ET
0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-48.24000000000001 460.79600000000016 Td
-/F4.0 10.5 Tf
-<446f6d61696e4f626a656374436f6e7461696e6572237065727369737449664e6f74416c7265616479282e29> 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
-279.24 460.79600000000016 Td
+48.24000000000001 579.0960000000001 Td
/F1.0 10.5 Tf
-<206d6574686f64732e> Tj
+<666f756e6420696e2074686520> 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
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-48.24000000000001 426.2960000000001 Td
-/F2.0 13 Tf
-<322e342e312e2054686520697373756520696e206d6f72652064657461696c> Tj
+112.29 579.0960000000001 Td
+/F1.0 10.5 Tf
+<75736572206775696465> Tj
ET
0.000 0.000 0.000 SCN
@@ -4615,20 +5043,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24000000000001 399.7360000000001 Td
-/F1.0 10.5 Tf
-<436f6e736964657220746865736520656e7469746965732028> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.259 0.545 0.792 scn
-0.259 0.545 0.792 SCN
-
-BT
-167.541 399.7360000000001 Td
+164.67450000000002 579.0960000000001 Td
/F1.0 10.5 Tf
-<79756d6c2e6d652f6238363831323638> Tj
+<2e> Tj
ET
0.000 0.000 0.000 SCN
@@ -4637,42 +5054,37 @@ ET
0.200 0.200 0.200 SCN
BT
-261.98850000000004 399.7360000000001 Td
-/F1.0 10.5 Tf
-<293a> Tj
+48.24000000000001 539.2560000000003 Td
+/F2.0 18 Tf
+[<322e342e2050657273697374656e63652062> 20.01953125 <792052656163686162696c697479>] TJ
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-
-q
-498.800 0 0 46.263 48.240 337.657 cm
-/I1 Do
-Q
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-3.802 Tw
+1.171 Tw
BT
-48.24000000000001 313.6929308600338 Td
+48.24000000000001 511.2360000000003 Td
/F1.0 10.5 Tf
-[<496e2074686520636f75727365206f662061207472> 20.01953125 <616e73616374696f6e2c2074686520>] TJ
+[<42> 20.01953125 <792064656661756c742c204a444f2f446174614e75636c65757320737570706f7274732074686520636f6e63657074206f6620>] TJ
ET
0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
-3.802 Tw
+1.171 Tw
BT
-244.8773974609375 313.6929308600338 Td
-/F4.0 10.5 Tf
-<41677265656d656e74> Tj
+320.04245084635414 511.2360000000003 Td
+/F1.0 10.5 Tf
+[<70657273697374656e63652d62> 20.01953125 <792d72656163686162696c697479>] TJ
ET
@@ -4682,12 +5094,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-3.802 Tw
+1.171 Tw
BT
-292.12739746093746 313.6929308600338 Td
+455.58674576822915 511.2360000000003 Td
/F1.0 10.5 Tf
-<20656e74697479206973206c6f6164656420696e746f206d656d6f727920286e6f74206e65636573736172696c79> Tj
+<2e20546861742069732c2069662061206e6f6e2d> Tj
ET
@@ -4697,45 +5109,42 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+1.442 Tw
+
BT
-48.24000000000001 297.91293086003384 Td
+48.24000000000001 495.45600000000024 Td
/F1.0 10.5 Tf
-<6d6f646966696564292c20616e64207468656e206e657720> Tj
+[<70657273697374656e7420656e74697479206973206173736f636961746564207769746820616e20616c72656164792d70657273697374656e7420656e74697479> 89.84375 <2c207468656e20446174614e75636c6575732077696c6c206465746563742074686973>] TJ
ET
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-173.69400000000002 297.91293086003384 Td
-/F4.0 10.5 Tf
-<41677265656d656e74526f6c65> Tj
-ET
+0.000 Tw
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
+2.552 Tw
+
BT
-241.94400000000002 297.91293086003384 Td
+48.24000000000001 479.6760000000003 Td
/F1.0 10.5 Tf
-<7320617265206173736f63696174656420746f2069742e> Tj
+[<616e642077696c6c206175746f6d61746963616c6c79207065727369737420746865206173736f636961746564206f626a6563742e2050757420616e6f74686572207761> 20.01953125 <793a207468657265206973206e6f206e65656420746f2063616c6c>] TJ
ET
+
+0.000 Tw
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
-5.357 Tw
+5.438 Tw
BT
-48.24000000000001 270.1329308600338 Td
+48.24000000000001 463.8960000000003 Td
/F1.0 10.5 Tf
-<416c6c20746865736520656e74697469657320696d706c656d656e7420> Tj
+<41706163686520497369732720> Tj
ET
@@ -4745,12 +5154,12 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-5.357 Tw
+5.438 Tw
BT
-212.1839 270.1329308600338 Td
+120.72024999999996 463.8960000000003 Td
/F4.0 10.5 Tf
-<436f6d70617261626c65> Tj
+<446f6d61696e4f626a656374436f6e7461696e65722370657273697374282e29> Tj
ET
@@ -4760,12 +5169,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-5.357 Tw
+5.438 Tw
BT
-264.6839 270.1329308600338 Td
+288.72024999999996 463.8960000000003 Td
/F1.0 10.5 Tf
-<207573696e6720> Tj
+<206f7220> Tj
ET
@@ -4775,12 +5184,12 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-5.357 Tw
+5.438 Tw
BT
-308.0001 270.1329308600338 Td
+316.0399999999999 463.8960000000003 Td
/F4.0 10.5 Tf
-<4f626a656374436f6e747261637473> Tj
+<446f6d61696e4f626a656374436f6e7461696e6572237065727369737449664e6f74416c7265616479282e29> Tj
ET
@@ -4790,25 +5199,23 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-5.357 Tw
+5.438 Tw
BT
-386.7501 270.1329308600338 Td
-/F1.0 10.5 Tf
-<2c20616e642074686520696d706c656d656e746174696f6e206f66> Tj
+547.04 463.8960000000003 Td
ET
0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-48.24000000000001 254.3529308600338 Td
-/F4.0 10.5 Tf
-<41677265656d656e74526f6c65> Tj
+48.24000000000001 448.11600000000027 Td
+/F1.0 10.5 Tf
+<6d6574686f64732e> Tj
ET
0.000 0.000 0.000 SCN
@@ -4817,47 +5224,31 @@ ET
0.200 0.200 0.200 SCN
BT
-116.49000000000001 254.3529308600338 Td
+48.24000000000001 420.3360000000003 Td
/F1.0 10.5 Tf
-<2773202873696d706c6966696564292069733a> Tj
+[<486f77657665722c20636f6e76656e69656e742074686f756768207468697320666561747572652069732c20796f75206d61> 20.01953125 <792066696e6420746861742069742063617573657320706572666f726d616e6365206973737565732e>] TJ
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
q
-0.961 0.961 0.961 scn
-52.240 238.537 m
-543.040 238.537 l
-545.249 238.537 547.040 236.746 547.040 234.537 c
-547.040 117.357 l
-547.040 115.148 545.249 113.357 543.040 113.357 c
-52.240 113.357 l
-50.031 113.357 48.240 115.148 48.240 117.357 c
-48.240 234.537 l
-48.240 236.746 50.031 238.537 52.240 238.537 c
-h
-f
-0.800 0.800 0.800 SCN
-0.75 w
-52.240 238.537 m
-543.040 238.537 l
-545.249 238.537 547.040 236.746 547.040 234.537 c
-547.040 117.357 l
-547.040 115.148 545.249 113.357 543.040 113.357 c
-52.240 113.357 l
-50.031 113.357 48.240 115.148 48.240 117.357 c
-48.240 234.537 l
-48.240 236.746 50.031 238.537 52.240 238.537 c
-h
+0.5 w
+0.933 0.933 0.933 SCN
+113.807 364.960 m
+113.807 404.520 l
S
Q
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.749 0.412 0.000 scn
+0.749 0.412 0.000 SCN
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.749 0.412 0.000 scn
+0.749 0.412 0.000 SCN
BT
-59.24000000000001 215.7119308600338 Td
-/F4.0 11 Tf
-<7075626c6963> Tj
+75.02333333333334 376.16000000000037 Td
+/F3.1 24 Tf
+<23> Tj
ET
0.000 0.000 0.000 SCN
@@ -4865,153 +5256,169 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-BT
-92.24000000000001 215.7119308600338 Td
-/F4.0 11 Tf
-<20> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.000 0.467 0.533 scn
-0.000 0.467 0.533 SCN
+3.691 Tw
BT
-97.74000000000001 215.7119308600338 Td
-/F4.0 11 Tf
-<636c617373> Tj
+125.80666666666667 388.5560000000003 Td
+/F1.0 10.5 Tf
+[<446174614e75636c657573272070657273697374656e63652d62> 20.01953125 <792d72656163686162696c697479206d61> 20.01953125 <7920636175736520706572666f726d616e6365206973737565732e202057> 60.05859375 <65>] TJ
ET
+
+0.000 Tw
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
-125.24000000000001 215.7119308600338 Td
-/F4.0 11 Tf
-<20> Tj
+125.80666666666667 372.7760000000003 Td
+/F1.0 10.5 Tf
+<7374726f6e676c79207265636f6d6d656e64207468617420796f752064697361626c652069742e> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.667 0.533 scn
-0.000 0.667 0.533 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.057 Tw
BT
-130.74 215.7119308600338 Td
-/F4.0 11 Tf
-<41677265656d656e74526f6c65> Tj
+48.24000000000001 340.9960000000003 Td
+/F1.0 10.5 Tf
+<4f6e65207363656e6172696f20696e20706172746963756c6172207768657265207468697320706572666f726d616e6365206973737565732063616e20617269736520697320696620796f757220656e74697469657320696d706c656d656e7420746865> Tj
ET
+
+0.000 Tw
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
+1.901 Tw
+
BT
-202.24 215.7119308600338 Td
-/F4.0 11 Tf
-<20> Tj
+48.24000000000001 325.21600000000035 Td
ET
+
+0.000 Tw
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
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+1.901 Tw
BT
-207.74 215.7119308600338 Td
-/F4.0 11 Tf
-<7b> Tj
+48.24000000000001 325.21600000000035 Td
+/F4.0 10.5 Tf
+<6a6176612e6c616e672e436f6d70617261626c65> Tj
ET
+
+0.000 Tw
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
+1.901 Tw
+
BT
-59.24000000000001 200.9719308600338 Td
-/F4.0 11 Tf
-<ca202020> Tj
+153.24 325.21600000000035 Td
+/F1.0 10.5 Tf
+<20696e746572666163652c20616e6420796f75206861766520757365642041706163686520497369732720> Tj
ET
+
+0.000 Tw
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
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
-BT
-81.24000000000001 200.9719308600338 Td
-/F4.0 11 Tf
-<2e> 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
+1.901 Tw
BT
-86.74000000000001 200.9719308600338 Td
-/F4.0 11 Tf
-<2e> Tj
+379.3843181818182 325.21600000000035 Td
+/F4.0 10.5 Tf
+<4f626a656374436f6e747261637473> Tj
ET
+
+0.000 Tw
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
+1.901 Tw
+
BT
-92.24000000000001 200.9719308600338 Td
-/F4.0 11 Tf
-<2e> Tj
+458.1343181818182 325.21600000000035 Td
+/F1.0 10.5 Tf
+<207574696c69747920636c6173732e20546865> Tj
ET
+
+0.000 Tw
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
+0.058 Tw
+
BT
-59.24000000000001 186.2319308600338 Td
-/F4.0 11 Tf
-<ca202020> Tj
+48.24000000000001 309.4360000000003 Td
+/F1.0 10.5 Tf
+<69737375652068657265206973207468617420> Tj
ET
+
+0.000 Tw
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
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+0.058 Tw
BT
-81.24000000000001 186.2319308600338 Td
-/F4.0 11 Tf
-<7075626c6963> Tj
+135.31580338541664 309.4360000000003 Td
+/F4.0 10.5 Tf
+<4f626a656374436f6e747261637473> Tj
ET
+
+0.000 Tw
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
+0.058 Tw
+
BT
-114.24000000000001 186.2319308600338 Td
-/F4.0 11 Tf
-<20> Tj
+214.06580338541664 309.4360000000003 Td
+/F1.0 10.5 Tf
+[<20696d706c656d656e746174696f6e2063616e20636175736520446174614e75636c65757320746f207265637572736976656c7920726568> 20.01953125 <796472> 20.01953125 <6174652061>] TJ
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.467 0.533 scn
-0.000 0.467 0.533 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-119.74000000000001 186.2319308600338 Td
-/F4.0 11 Tf
-<696e74> Tj
+48.24000000000001 293.6560000000003 Td
+/F1.0 10.5 Tf
+<6c6172676572206e756d626572206f66206173736f63696174656420656e7469746965732e20284d6f72652064657461696c2062656c6f77292e> Tj
ET
0.000 0.000 0.000 SCN
@@ -5019,21 +5426,25 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+1.441 Tw
+
BT
-136.24 186.2319308600338 Td
-/F4.0 11 Tf
-<20> Tj
+48.24000000000001 265.8760000000003 Td
+/F1.0 10.5 Tf
+[<57> 60.05859375 <65207468657265666f7265207265636f6d6d656e64207468617420796f752064697361626c652070657273697374656e63652d62> 20.01953125 <792d72656163686162696c6974792062> 20.01953125 <7920616464696e672074686520666f6c6c6f77696e6720746f>] TJ
ET
+
+0.000 Tw
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
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
BT
-141.74 186.2319308600338 Td
-/F4.0 11 Tf
-<636f6d70617265546f> Tj
+48.24000000000001 250.09600000000032 Td
+/F4.0 10.5 Tf
+<706572736973746f725f646174616e75636c6575732e70726f70657274696573> Tj
ET
0.000 0.000 0.000 SCN
@@ -5042,20 +5453,47 @@ ET
0.200 0.200 0.200 SCN
BT
-191.24 186.2319308600338 Td
-/F4.0 11 Tf
-<28> Tj
+216.24 250.09600000000032 Td
+/F1.0 10.5 Tf
+<3a> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+q
+0.961 0.961 0.961 scn
+52.240 234.280 m
+543.040 234.280 l
+545.249 234.280 547.040 232.489 547.040 230.280 c
+547.040 201.540 l
+547.040 199.331 545.249 197.540 543.040 197.540 c
+52.240 197.540 l
+50.031 197.540 48.240 199.331 48.240 201.540 c
+48.240 230.280 l
+48.240 232.489 50.031 234.280 52.240 234.280 c
+h
+f
+0.800 0.800 0.800 SCN
+0.75 w
+52.240 234.280 m
+543.040 234.280 l
+545.249 234.280 547.040 232.489 547.040 230.280 c
+547.040 201.540 l
+547.040 199.331 545.249 197.540 543.040 197.540 c
+52.240 197.540 l
+50.031 197.540 48.240 199.331 48.240 201.540 c
+48.240 230.280 l
+48.240 232.489 50.031 234.280 52.240 234.280 c
+h
+S
+Q
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-196.74 186.2319308600338 Td
+59.24000000000001 211.4550000000003 Td
/F4.0 11 Tf
-<41677265656d656e74526f6c65> Tj
+<697369732e706572736973746f722e646174616e75636c6575732e696d706c2e646174616e75636c6575732e70657273697374656e6365427952656163686162696c6974794174436f6d6d69743d66616c7365> Tj
ET
0.000 0.000 0.000 SCN
@@ -5064,20 +5502,20 @@ ET
0.200 0.200 0.200 SCN
BT
-268.24 186.2319308600338 Td
-/F4.0 11 Tf
-<20> Tj
+48.24000000000001 173.5760000000003 Td
+/F1.0 10.5 Tf
+<54686973206368616e676520686173206265656e206d61646520746f2074686520> 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
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
BT
-273.74 186.2319308600338 Td
-/F4.0 11 Tf
-<6f74686572> Tj
+219.537 173.5760000000003 Td
+/F1.0 10.5 Tf
+<53696d706c6541707020617263686574797065> Tj
ET
0.000 0.000 0.000 SCN
@@ -5085,54 +5523,70 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+0.447 Tw
+
BT
-301.24 186.2319308600338 Td
-/F4.0 11 Tf
-<29> Tj
+48.24000000000001 145.7960000000003 Td
+/F1.0 10.5 Tf
+<496620796f7520646f2064697361626c65207468697320666561747572652c207468656e20796f752077696c6c20286f6620636f7572736529206e65656420746f20656e73757265207468617420796f75206578706c696369746c79207065727369737420616c6c> Tj
ET
+
+0.000 Tw
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
+57.237 Tw
+
BT
-306.74 186.2319308600338 Td
-/F4.0 11 Tf
-<20> Tj
+48.24000000000001 130.0160000000003 Td
+/F1.0 10.5 Tf
+<656e746974696573207573696e672074686520> Tj
ET
+
+0.000 Tw
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
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+57.237 Tw
BT
-312.24 186.2319308600338 Td
-/F4.0 11 Tf
-<7b> Tj
+308.07899999999995 130.0160000000003 Td
+/F4.0 10.5 Tf
+<446f6d61696e4f626a656374436f6e7461696e65722370657273697374282e29> Tj
ET
+
+0.000 Tw
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
+57.237 Tw
+
BT
-59.24000000000001 171.4919308600338 Td
-/F4.0 11 Tf
-<ca20202020202020> Tj
+476.07899999999995 130.0160000000003 Td
+/F1.0 10.5 Tf
+<206f72> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.000 0.400 0.600 scn
-0.000 0.400 0.600 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
BT
-103.24000000000001 171.4919308600338 Td
-/F4.0 11 Tf
-<72657475726e> Tj
+48.24000000000001 114.2360000000003 Td
+/F4.0 10.5 Tf
+<446f6d61696e4f626a656374436f6e7461696e6572237065727369737449664e6f74416c7265616479282e29> Tj
ET
0.000 0.000 0.000 SCN
@@ -5141,31 +5595,137 @@ ET
0.200 0.200 0.200 SCN
BT
-136.24 171.4919308600338 Td
-/F4.0 11 Tf
-<20> Tj
+279.24 114.2360000000003 Td
+/F1.0 10.5 Tf
+<206d6574686f64732e> 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
-141.74 171.4919308600338 Td
-/F4.0 11 Tf
-<4f626a656374436f6e747261637473> Tj
+49.24 14.388 Td
+/F1.0 9 Tf
+<34> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+57 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 595.28 841.89]
+/Contents 56 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F1.0 8 0 R
+/F4.0 38 0 R
+/F2.0 16 0 R
+/F3.1 18 0 R
+>>
+/XObject << /Stamp1 188 0 R
+>>
+>>
+/Annots [58 0 R 59 0 R 60 0 R 62 0 R 63 0 R 64 0 R]
+>>
+endobj
+58 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_super_AppManifest)
+>>
+/Subtype /Link
+/Rect [427.3705 706.086 485.1205 716.586]
+/Type /Annot
+>>
+endobj
+59 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgcfg/rgcfg.pdf#_rgcfg_configuring-components)
+>>
+/Subtype /Link
+/Rect [66.24000000000001 690.306 150.24 700.806]
+/Type /Annot
+>>
+endobj
+60 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugtst/ugtst.pdf#_ugtst_integ-test-support_bootstrapping)
+>>
+/Subtype /Link
+/Rect [112.29 576.0300000000001 164.67450000000002 590.3100000000002]
+/Type /Annot
+>>
+endobj
+61 0 obj
+[57 0 R /XYZ 0 563.2800000000002 null]
+endobj
+62 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (http://www.datanucleus.org/products/datanucleus/jdo/orm/cascading.html)
+>>
+/Subtype /Link
+/Rect [320.04245084635414 508.1700000000003 455.58674576822915 522.4500000000003]
+/Type /Annot
+>>
+endobj
+63 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_utility_ObjectContracts)
+>>
+/Subtype /Link
+/Rect [379.3843181818182 323.7460000000003 458.1343181818182 334.2460000000003]
+/Type /Annot
+>>
+endobj
+64 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+>>
+/Subtype /Link
+/Rect [219.537 170.5100000000003 326.76300000000003 184.7900000000003]
+/Type /Annot
+>>
+endobj
+65 0 obj
+<< /Length 32959
+>>
+stream
+q
+/DeviceRGB cs
0.200 0.200 0.200 scn
+/DeviceRGB CS
0.200 0.200 0.200 SCN
BT
-224.24 171.4919308600338 Td
-/F4.0 11 Tf
-<2e> Tj
+48.24 792.006 Td
+/F2.0 13 Tf
+<322e342e312e2054686520697373756520696e206d6f72652064657461696c> Tj
ET
0.000 0.000 0.000 SCN
@@ -5174,20 +5734,20 @@ ET
0.200 0.200 0.200 SCN
BT
-229.74 171.4919308600338 Td
-/F4.0 11 Tf
-<636f6d70617265546f> Tj
+48.24 765.446 Td
+/F1.0 10.5 Tf
+<436f6e736964657220746865736520656e7469746965732028> 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
-
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
BT
-279.24 171.4919308600338 Td
-/F4.0 11 Tf
-<28> Tj
+167.541 765.446 Td
+/F1.0 10.5 Tf
+<79756d6c2e6d652f6238363831323638> Tj
ET
0.000 0.000 0.000 SCN
@@ -5196,42 +5756,81 @@ ET
0.200 0.200 0.200 SCN
BT
-284.74 171.4919308600338 Td
-/F4.0 11 Tf
-<74686973> Tj
+261.9885 765.446 Td
+/F1.0 10.5 Tf
+<293a> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+
+q
+498.800 0 0 46.263 48.240 703.367 cm
+/I1 Do
+Q
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+3.802 Tw
+
BT
-306.74 171.4919308600338 Td
-/F4.0 11 Tf
-<2c> Tj
+48.24 679.4029308600337 Td
+/F1.0 10.5 Tf
+[<496e2074686520636f75727365206f662061207472> 20.01953125 <616e73616374696f6e2c2074686520>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+3.802 Tw
+
+BT
+244.8773974609375 679.4029308600337 Td
+/F4.0 10.5 Tf
+<41677265656d656e74> Tj
ET
+
+0.000 Tw
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
+3.802 Tw
+
BT
-312.24 171.4919308600338 Td
-/F4.0 11 Tf
-<20> Tj
+292.12739746093746 679.4029308600337 Td
+/F1.0 10.5 Tf
+<20656e74697479206973206c6f6164656420696e746f206d656d6f727920286e6f74206e65636573736172696c79> Tj
ET
+
+0.000 Tw
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
-317.74 171.4919308600338 Td
-/F4.0 11 Tf
-<6f74686572> Tj
+48.24 663.6229308600338 Td
+/F1.0 10.5 Tf
+<6d6f646966696564292c20616e64207468656e206e657720> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+173.69400000000002 663.6229308600338 Td
+/F4.0 10.5 Tf
+<41677265656d656e74526f6c65> Tj
ET
0.000 0.000 0.000 SCN
@@ -5240,53 +5839,144 @@ ET
0.200 0.200 0.200 SCN
BT
-345.24 171.4919308600338 Td
-/F4.0 11 Tf
-<2c> Tj
+241.94400000000002 663.6229308600338 Td
+/F1.0 10.5 Tf
+<7320617265206173736f63696174656420746f2069742e> 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
+
+5.357 Tw
+
+BT
+48.24 635.8429308600338 Td
+/F1.0 10.5 Tf
+<416c6c20746865736520656e74697469657320696d706c656d656e7420> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+5.357 Tw
+
+BT
+212.1839 635.8429308600338 Td
+/F4.0 10.5 Tf
+<436f6d70617261626c65> Tj
ET
+
+0.000 Tw
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
+5.357 Tw
+
BT
-350.74 171.4919308600338 Td
-/F4.0 11 Tf
-<20> Tj
+264.6839 635.8429308600338 Td
+/F1.0 10.5 Tf
+<207573696e6720> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+5.357 Tw
BT
-356.24 171.4919308600338 Td
-/F4.0 11 Tf
-<22> Tj
+308.0001 635.8429308600338 Td
+/F4.0 10.5 Tf
+<4f626a656374436f6e747261637473> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+5.357 Tw
BT
-361.74 171.4919308600338 Td
-/F4.0 11 Tf
-<61677265656d656e74> Tj
+386.7501 635.8429308600338 Td
+/F1.0 10.5 Tf
+<2c20616e642074686520696d706c656d656e746174696f6e206f66> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24 620.0629308600338 Td
+/F4.0 10.5 Tf
+<41677265656d656e74526f6c65> 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
+116.49000000000001 620.0629308600338 Td
+/F1.0 10.5 Tf
+<2773202873696d706c6966696564292069733a> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+q
+0.961 0.961 0.961 scn
+52.240 604.247 m
+543.040 604.247 l
+545.249 604.247 547.040 602.456 547.040 600.247 c
+547.040 483.067 l
+547.040 480.858 545.249 479.067 543.040 479.067 c
+52.240 479.067 l
+50.031 479.067 48.240 480.858 48.240 483.067 c
+48.240 600.247 l
+48.240 602.456 50.031 604.247 52.240 604.247 c
+h
+f
+0.800 0.800 0.800 SCN
+0.75 w
+52.240 604.247 m
+543.040 604.247 l
+545.249 604.247 547.040 602.456 547.040 600.247 c
+547.040 483.067 l
+547.040 480.858 545.249 479.067 543.040 479.067 c
+52.240 479.067 l
+50.031 479.067 48.240 480.858 48.240 483.067 c
+48.240 600.247 l
+48.240 602.456 50.031 604.247 52.240 604.247 c
+h
+S
+Q
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
BT
-411.24 171.4919308600338 Td
+59.24 581.4219308600339 Td
/F4.0 11 Tf
-<22> Tj
+<7075626c6963> Tj
ET
0.000 0.000 0.000 SCN
@@ -5295,42 +5985,42 @@ ET
0.200 0.200 0.200 SCN
BT
-416.74 171.4919308600338 Td
+92.24000000000001 581.4219308600339 Td
/F4.0 11 Tf
-<2c> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.000 0.467 0.533 scn
+0.000 0.467 0.533 SCN
BT
-422.24 171.4919308600338 Td
+97.74000000000001 581.4219308600339 Td
/F4.0 11 Tf
-<22> Tj
+<636c617373> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-427.74 171.4919308600338 Td
+125.24000000000001 581.4219308600339 Td
/F4.0 11 Tf
-<737461727444617465> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.000 0.667 0.533 scn
+0.000 0.667 0.533 SCN
BT
-477.24 171.4919308600338 Td
+130.74 581.4219308600339 Td
/F4.0 11 Tf
-<22> Tj
+<41677265656d656e74526f6c65> Tj
ET
0.000 0.000 0.000 SCN
@@ -5339,42 +6029,42 @@ ET
0.200 0.200 0.200 SCN
BT
-482.74 171.4919308600338 Td
+202.24 581.4219308600339 Td
/F4.0 11 Tf
-<2c> Tj
+<20> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-488.24 171.4919308600338 Td
+207.74 581.4219308600339 Td
/F4.0 11 Tf
-<22> Tj
+<7b> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-493.74 171.4919308600338 Td
+59.24 566.6819308600338 Td
/F4.0 11 Tf
-<7061727479> Tj
+<ca202020> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.800 0.200 0.000 scn
-0.800 0.200 0.000 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-521.24 171.4919308600338 Td
+81.24000000000001 566.6819308600338 Td
/F4.0 11 Tf
-<22> Tj
+<2e> Tj
ET
0.000 0.000 0.000 SCN
@@ -5383,9 +6073,9 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24000000000001 156.75193086003378 Td
+86.74000000000001 566.6819308600338 Td
/F4.0 11 Tf
-<29> Tj
+<2e> Tj
ET
0.000 0.000 0.000 SCN
@@ -5394,9 +6084,9 @@ ET
0.200 0.200 0.200 SCN
BT
-64.74000000000001 156.75193086003378 Td
+92.24000000000001 566.6819308600338 Td
/F4.0 11 Tf
-<3b> Tj
+<2e> Tj
ET
0.000 0.000 0.000 SCN
@@ -5405,7 +6095,7 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24000000000001 142.0119308600338 Td
+59.24 551.9419308600338 Td
/F4.0 11 Tf
<ca202020> Tj
ET
@@ -5416,9 +6106,9 @@ ET
0.200 0.200 0.200 SCN
BT
-81.24000000000001 142.0119308600338 Td
+81.24000000000001 551.9419308600338 Td
/F4.0 11 Tf
-<7d> Tj
+<7075626c6963> Tj
ET
0.000 0.000 0.000 SCN
@@ -5427,9 +6117,20 @@ ET
0.200 0.200 0.200 SCN
BT
-59.24000000000001 127.2719308600338 Td
+114.24000000000001 551.9419308600338 Td
/F4.0 11 Tf
-<7d> Tj
+<20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.467 0.533 scn
+0.000 0.467 0.533 SCN
+
+BT
+119.74000000000001 551.9419308600338 Td
+/F4.0 11 Tf
+<696e74> Tj
ET
0.000 0.000 0.000 SCN
@@ -5438,20 +6139,20 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24000000000001 89.3929308600338 Td
-/F1.0 10.5 Tf
-<7768696c6520> Tj
+136.24 551.9419308600338 Td
+/F4.0 11 Tf
+<20> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-78.87900000000002 89.3929308600338 Td
-/F4.0 10.5 Tf
-<41677265656d656e74> Tj
+141.74 551.9419308600338 Td
+/F4.0 11 Tf
+<636f6d70617265546f> Tj
ET
0.000 0.000 0.000 SCN
@@ -5460,203 +6161,31 @@ ET
0.200 0.200 0.200 SCN
BT
-126.12900000000002 89.3929308600338 Td
-/F1.0 10.5 Tf
-<277320697320696d706c656d656e7465642061733a> Tj
+191.24 551.9419308600338 Td
+/F4.0 11 Tf
+<28> 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
-49.24 14.388 Td
-/F1.0 9 Tf
-<34> Tj
+196.74 551.9419308600338 Td
+/F4.0 11 Tf
+<41677265656d656e74526f6c65> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-59 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 595.28 841.89]
-/Contents 58 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F1.0 8 0 R
-/F3.1 18 0 R
-/F4.0 38 0 R
-/F2.0 16 0 R
->>
-/XObject << /I1 64 0 R
-/Stamp1 138 0 R
->>
->>
-/Annots [60 0 R 61 0 R 63 0 R]
->>
-endobj
-60 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (rgcms.pdf#_rgcms_classes_utility_ObjectContracts)
->>
-/Subtype /Link
-/Rect [379.3843181818182 670.306 458.1343181818182 680.806]
-/Type /Annot
->>
-endobj
-61 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
->>
-/Subtype /Link
-/Rect [219.537 517.0700000000002 326.76300000000003 531.3500000000001]
-/Type /Annot
->>
-endobj
-62 0 obj
-[59 0 R /XYZ 0 444.98000000000013 null]
-endobj
-63 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://yuml.me/edit/b8681268)
->>
-/Subtype /Link
-/Rect [167.541 396.67000000000013 261.98850000000004 410.9500000000001]
-/Type /Annot
->>
-endobj
-64 0 obj
-<< /Type /XObject
-/Subtype /Image
-/Height 55
-/Width 593
-/BitsPerComponent 8
-/ColorSpace /DeviceRGB
-/SMask 65 0 R
-/Length 7072
-/Filter [/FlateDecode]
-/DecodeParms [<< /Predictor 15
-/Colors 3
-/BitsPerComponent 8
-/Columns 593
->>]
->>
-stream
-x\ufffd\ufffd]wx\ufffd\ufffd!\ufffd$H\ufffd\ufffd I\ufffd\ufffd!i&B\ufffd\ufffd\ufffd\ufffd"HP\ufffd\ufffd@\ufffd" )RM\ufffdJ\ufffd$\ufffd\ufffd@\ufffd%\ufffd\ufffd\ufffd\u07de\ufffd\ufffd\ufffdo\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdG\ufffd\ufffd3\ufffd{\ufffd\ufffd{\ufffds\ufffddfW888888888888888888888888888\ufffd\ufffd\ufffdz N\ufffd\ufffd\ufffd\u0528Q\ufffdB\ufffd
-\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u0124\ufffd\ufffd6\ufffdHII\ufffd\ufffd\ufffd\ufffd\u0450C\ufffd\ufffd\ufffdk\u05ac\ufffd\u052e\ufffdc\ufffd\ufffds\ufffd\u71a1\ufffd:::\ufffd\u018dF\ufffd\ufffd`\ufffdR`\ufffd\ufffd\ufffdNcC\ufffd\ufffd\ufffdn\ufffd`|Y\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdge\ufffd\ufffd`R\ufffd\ufffd\ufffds\ufffdN\ufffd\ufffd\ufffd@``\ufffdE\ufffd\ufffd[\ufffd+2\ufffd\ue7a1\ufffdj\ufffd\ufffd7\ufffd9\ufffd0\ufffdj\ufffd\ufffdnf\ufffd7o\ufffd\ufffd\ufffdyZ\ufffd\u02c8\ufffd\ufffd\ufffd \ufffd!C(\ufffd;ta`(\ufffd\ufffdpn\ufffd\ufffd2n\ufffdc\ufffd\ufffdyb?\ufffd\ufffd1n\ufffd \ufffdj7\ufffd\ufffd~\ufffd
\ufffd\ufffd\ufffd\ufffd\ufffds\ufffdFAK\ufffd\ufffd\ufffd)c\ufffd?\ufffdLJ\ufffd\ufffdn\u04e2\ufffd\ufffd\ufffd\ufffd\ufffd \ufffd\ufffd\ufffd~\ufffdVv\ufffdC\ufffd
\ufffd\ufffd\ufffdV\ufffd\y\ufffd\u05adf\ufffd\ufffd\ufffd<H'\\ufffd)\ufffd~.Z:\ufffdfv|\ufffd\ufffda\ufffd\ufffd\ufffdZi\ufffd\ufffd_XXX\ufffd9<==,\u063au\ufffd\ufffd\u01cf\ufffdl\ufffd\ufffd\ufffdR\ufffd\u0296-[\ufffd\ufffd\ufffdc\ufffdMs\ufffd\ufffdZ6\ufffd7\ufffd\ufffd\ufffd\u0316-[ll\ufffd\ufffd.\ufffd\ufffdn\ufffdh\ufffd\ufffd\ufffd7\ufffd\ufffd<"""\ufffd\ufffd
-j\u06b4\ufffd\u07bd{m\ufffdVw\ufffd\ufffdH\ufffd9\ufffd\ufffdt\u03b5[\ufffd\ufffd\ufffd\ufffd\ufffdcbb\ufffd\ufffd4F\ufffd=n\u056bW\ufffd\ufffd?\ufffd \ufffd}\ufffdl }KG\ufffd\ufffdFEE\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd#\ufffd5i\ufffd$--\ufffd9\ufffd\ufffdD\ufffd \ufffd\ufffd\ufffde\ufffd\u062er\ufffd\ufffd\\ufffd\ufffdk\u05ee>\ufffd`\u0672eZ\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdbo\u01ce{\ufffd\u04a5\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd-Z\u073f\u07edF\ufffdad'\\ufffd\ufffd\ufffd\ufffd\ufffd`~\ufffdN\ufffd\ufffd|\ufffd
5\ufffd\ufffd13\ufffd\ufffd\ufffd\ufffd\ufffd<\ufffdf:z\ufffd\ufffd5kVoo\ufffdb\u014a}\ufffd\ufffd\ufffdW,\ufffd\u06f7\ufffd\ufffd\ufffd\ufffd<y\u0296-;i\ufffd$\u05a4|\ufffd\ufffdS\ufffdLA\u0642\ufffdX\ufffd@\ufffdS\ufffdNA\ufffdP\ufffd\ufffd\ufffd\ufffdc\u039c9!!!,\ufffd\u0295+k\u0528\ufffdo\ufffd\ufffd\ufffd/\ufffdy\ufffd%\ufffd\ufffd]\ufffd\ufffd \u0680W\ufffd\ufffd\ufffdK\ufffd\ufffd\ufffd{\ufffd\ufffd\ufffd\ufffd*U*44\ufffd@\ufffd\u04a5K\ufffdu\ufffdE\ufffd\ufffd\ufffdP
-\ufffdu\ufffd\u04a5\ufffdC\ufffdy\ufffd\ufffd \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd`\ufffd\u04210R\ufffd`,z\ufffdn\ufffdS\ufffd\u03a6M\ufffd\ufffd\ufffd\ufffd7n\ufffd\ufffdW\ufffd^\ufffd\u05ad[\ufffdh\ufffd\ufffd\ufffdc-\ufffd\u077f\ufffd
`<\ufffd\ufffd\ufffd;s\ufffdB\ufffd\ufffd;w.\\ufffdp\u03de=\ufffdy\ufffd,Y<==\u0252\ufffd\ufffdJ7\ufffd!�s\ufffd\u06b6m\ufffd\ufffd\ufffd4m\u06b4\ufffd\u03df\ufffd\ufffd\ufffd�\ufffd�
\ufffd\ufffd0dn9L\ufffd\ufffd\ufffdO\ufffd\ufffd\u05ef\u07ef\ufffd\ufffd
-\ufffd07"?Tl\ufffdU\ufffd\ufffd\ufffd2e\ufffd\ufffd\ufffd\ufffd\u02f7|\ufffdrp\ufffd'\ufffd\ufffd\ufffd *E\ufffd\ufffdk\u05ee%-`\ufffd{\ufffd\ufffd\ufffdy\ufffd\ufffdv\ufffd\ufffdU\ufffdR\ufffd\\ufffdr\ufffd\ufffd\u0536{\ufffd\ufffd-\ufffd\uaaef\ufffdm\u014a\ufffd\ufffd\ufffd
b \ufffd\ufffd\u0673gaD: \ufffd)R\u48cf>rp6\ufffd\ufffd\ufffdyNKd\ufffd!oA)\ufffd-\ufffd\ufffd\ufffd\ufffdo\u07fe\ufffd\ufffd
.\\ufffds\ufffdN\ufffdt\ufffd\ufffd\ufffd\ufffd\ufffd\u056bW'&&b\ufffd\ufffd\ufffd\ufffd?\ufffd\ufffd\ufffd~\ufffd\ufffd\ufffdP\ufffd%K\ufffd@\ufffd\ufffd\ufffd\ufffd\ufffd8L\ufffd\ufffdr\ufffd.\ufffd\ufffd!,`\ufffd^,K(>?\ufffd\u06f7o\ufffd#Gpf\ufffd\u05adX\ufffd\ufffd\ufffd\ufffd\ufffd\u035b\ufffd\ufffd\ufffd\ufffdX�\u02af#G\ufffd\ufffd\u0673g\ufffd\ufffd\ufffd`)|\ufffdy\ufffd\ufffd=|\ufffd0\ufffd\u039d\u02fa\ufffd{\ufffd.&''\ufffd\u039d{\ufffd\ufffdX\ufffd\ufffd\ufffd\ufffd3f\u0147\ufffdPRR\ufffd\ufffd\ufffd\u035b7\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u01cf#\ufffd7\ufffd$\ufffd`\ufffd\ufffd] iii\ufffd\ufffd\u03c7\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd3\ufffd\ufffd\ufffd`Hk\u05ac\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u0631#\ufffd'\ufffdc\u01ce\ufffd\ufffdx\ufffd5jn\ufffd?F\ufffd\ufffd]\ufffdT\ufffdV\ufffdX\ufffd'H'\ufffd|B\ufffdP9\ufffd\ufffd\ufffd\ufffd\u044c\ufffd\ufffdE`\ufffd\ufffdu\ufffd\ufffd\ufffd\ufffd\ufffdC\ufffd\ufffd0 *d\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd0\ufffd�S\ufffd`\ufffd\u06b5k\ufffd\ufffd\ufffd\ufffdH\ufffd\ufffd\ufffd\ufffd\ufffd(8\ufffd0\ufffdK<\ufffd\ufffdaA~\ufffd;w0\ufffdc\u01ce\ufffd\ufffd\ufffd\u01cf\ufffd\ufffd\ufffd\ufffd\u014b_\ufffdxq\ufffd\ufffd\u064e\u0306\ufffd\ufffd]\ufffd4/a\ufffde\u0108\ufffd\ufffd>>>\ufffd\ufffdu\ufffd\u05bd\ufffd\ufffdk
&L\ufffd]\ufffdv\ufffd\u018d\ufffd\ufffd;z\ufffd(k5q\ufffdD\ufffd\ufffdaaa\ufffd&\ufffd\ufffdyD9\ufffdL:>KH\ufffdz\ufffd^e\ufffd8\ufffd\ufffdM9Vo\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd^\ufffdl\ufffd\u02db\ufffd,\ufffd9s&\ufffd\ufffd2\ufffd \ufffd\ufffd4y\ufffd\ufffd^\ufffdza\ufffd\ufffd!EEEe\u02d6
I\ufffd&
-X\ufffd+F\ufffd0\ufffd\ufffd)\ufffd\ufffd\ufffd5j\u0528Z\ufffd*\ufffd�\ufffd
-\ufffd\ufffd\ufffd'N\ufffd@\ufffd\ufffd\u0673# \ufffdn\u0672\ufffd
i\ufffdK\ufffd\ufffd>\ufffdO\ufffd\ufffd\u01276z\ufffdh\ufffd\ufffd\ufffd&\ufffdK\ufffdL\ufffd\ufffdxA\ufffd.`!\ufffd\ufffdO?\ufffdT|-\ufffd\ufffd\ufffd>Y\ufffdfE\ufffd(\ufffd\ufffd\ufffdM\ufffd}n9\ufffd %)\ufffd\ufffd\ufffd\ufffd|l\ufffd\ufffd{ TB\ufffdw\ufffd^\ufffd\u018cR\ufffdc\ufffdNB`\ufffdQAr\ufffd ]I L\u0741\ufffdXV\ufffdG\ufffd\ufffd|\ufffd\ufffdv\ufffd\u0631h\ufffd=z0\ufffd-\ufffd\ufffd[\ufffdc\ufffd\ufffdg\ufffdijwC\ufffd\ufffdy\ufffd\ufffd^\ufffd\ufffd\ufffd\ufffdN\ufffd:\ufffd\u0295\ufffd\ufffd\ufffdo\ufffd\ufffd\ufffd?lr\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdM\ufffd6O\ufffd>\ufffd2l\u03f1A\u0104\ufffd\ufffd\ufffd-Z\ufffd@@\ufffdD\ufffd\ufffdP\ufffd:w&\ufffdf\ufffd^;\ufffd\ufffd \ufffd!\ufffd\ufffd~\ufffd\u07bd{\ufffd\ufffdG\ufffdM\ufffd\ufffd\ufffd\ufffd\ufffd\u0179s\ufffd\ufffd*U";\ufffd\ufffd8d
-
-\ufffdq\ufffdQ\u0612\ufffd?~Lm\ufffd\ufffd\ufffd\ufffd\ufffd\u0265\ufffdC\u0625$\ufffd\ufffdz\ufffd\ufffd
U0\ufffd]\ufffd\ufffd
-d\u0252\ufffd<\ufffdq\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdi\ufffdj\ufffd\u0600\u0469\u0489\ufffd\ufffd!g\ufffdK\ufffdQ\ufffd\ufffd\u0720\ufffd`>\ufffd \ufffd`>h\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdj\ufffdg\ufffd$'\ufffdZ\ufffd\ufffdfm\ufffd\ufffdda\ufffdgm\ufffdT\ufffd\ufffdb\u04aa\ufffd1\u07ee\ufffd\ufffdb\ufffd�\ufffd\ufffd(\ufffdY\ufffd\ufffd{\ufffd\ufffd\ufffd\u704aU\ufffd\ufffd\ufffd\u029c93\ufffd\ufffdRJ\ufffdF\ufffd\ufffdz\ufffd\u0295\ufffd;g\ufffd&A\ufffd\ufffd\ufffd|8\ufffdu\ufffdj\ufffd*\ufffd\ufffd~~~d\ufffd\u06f7\ufffd+BCCo\u07bc\ufffd\ufffd\ufffd\ufffd^\ufffd\u0319\ufffd\ufffd\ufffd�^\ufffd523\ufffd\ufffdJ\ufffd9\ufffd<xPP\ufffd\ufffd\ufffdH\ufffd\ufffd7\ufffd|\ufffd*\ufffdk\u05eek\u05ac\ufffdV+(%%b\ufffd\ufffd3\ufffdE\ufffd\ufffd\ufffdS\ufffdU&\ufffd.\ufffd\ufffd!C\ufffd\ufffdgF0\ufffd\ufffd\ufffd`~\ufffdb\ufffd\ufffd\ufffdC\ufffd\u0738q*\ufffd'\ufffd:t\u020a\ufffdR\ufffd\u0565\ufffdK\ufffd\ufffd\ufffd\u0656\ufffd\ufffdi.kQ2\ufffd?\ufffd\ufffd\ufffd\u069b(\ufffd\ufffd\u014b\ufffdz\ufffd*\ufffdVX\ufffdm\ufffd\ufffd\ufffd4\ufffd(&&\ufffd\ufffd�\ufffd;\ufffd\ufffd<$K$\u0477\ufffdz\ufffdi\ufffd\ufffd0\ufffd\ufffdH\ufffd\ufffdEGGc\ufffd\ufffd\ufffd\ufffdcA\u02d6-\ufffd\ufffd+W\ufffd\ufffd\ufffd\ufffd\ufffdX\ufffd\ufffd/\ufffd\ufffdv\ufffdz\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd?!SSS\ufffd\ufffd\ufffdP;c\ufffdFF\ufffd\ufffd1>>\ufffd]HL\ufffd\ufffd)\ufffd# \ufffd\ufffdX@v+\ufffd\ufffd 0l+\ufffd\ufffd3\ufffd`\u0462E\u023b\ufffdG\ufffd\ufffdC\ufffd\ufffd\ufffd5b\ufffd<yr\u05acY\ufffd\ufffd8\u0627\ufffd\ufffdA\ufffd._\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd-\ufffd ;\ufffdJ\ufffd\ufffd\ufffd%\ufffd}\ufffdV\ufffdZ\ufffds\ufffd\u0602\ufffd3a\ufffd866\ufffdF#
\ufffd\ufffd\ufffd\ufffd_\ufffd|+c\ufffdHV\ufffd\ufffd\ufffd\ufffdI\ufffd\ufffdb\ufffd\ufffd\ufffdV\ufffd\ufffd\ufffd*\ufffd\ufffd\u0650B\ufffd\ufffdyZ\ufffdV\ufffd\ufffdI\ufffd
-0\ufffd\u0634a\ufffdt\ufffd\ufffd�+5<x0f\ufffd8q\ufffdD\ufffd`\ufffdc*;w\ueb23_}\ufffd8\u0301\ufffd\ufffd\u02ceE\u056cY3\ufffd&M\ufffd\ufffd8q\ufffd\u0211#8\ufffd\ufffd\ufffd\ufffd7\ufffdT\ufffdR\ufffd� \ufffd\ufffdZ\ufffd\ufffdz\ufffd\ufffdQxxx@@ *e\u0631\ufffdB\ufffd\ufffdX\ufffdn]\ufffdh0\ufffdVL\u02e8\ufffdN\ufffd\ufffd\ufffd\ufffd(Q\ufffd\ufffd\ufffdr2dT \ufffd3i\ufffd$\ufffdP\\ufffdx\ufffd\ufffd\u0673q\ufffd\ufffd\u0529S8\ufffd\ufffdm\ufffdv\ufffd\ufffd\ufffd>`\ufffd\ufffd(\u0382n\ufffd\ufffd\ufffd2dn\ufffdU\ufffda \u0539!6J-\ufffd|\ufffd\ufffdq\ufffd\u01a8\ufffd\ufffdg\ufffdN\ufffdX\ufffd\ufffd\u0631c\ufffd
-\ufffd\ufffd\ufffd\ufffd\ufffd_\ufffd~\ufffd\ufffd\\ufffddIf\ufffd2Z\ufffdE\ufffd \u05af_+ \ufffd\ufffd\ufffdm\ufffd*
\ufffd\ufffd2\ufffd2e\ufffd\ufffdij\ufffd
\ufffd\ufffd\ufffd\fA\ufffd&\ufffd>\ufffds\ufffd$''\ufffd\ufffd\ufffd\ufffd\ufffd\u0353'\ufffd\ufffd\u0775kW\ufffd\u05ad\ufffdQ\ufffdf\u037f\ufffd\ufffd[lQV\ufffd\ufffd\ufffd V\ufffd\ufffd\ufffd\ufffd\u0211#\ufffd\ufffd\ufffd9\ufffd\ufffd?Z\ufffd}\ufffd\ufffd<9t\ufffd)\ufffd\ufffd\ufffd\ufffd<-nJ\ufffd\u05e7\ufffd.qSo(KQ\ufffd\ufffd1-\ufffd\ufffd6A\u039f??22\ufffd\ufffd\ufffd\ufffdaLU\ufffdm\u06f6\ufffd\u035b[\ufffd\ufffd\ufffd$\ufffd\ufffd\ufffd\u05ef\ufffd\ufffd \ufffduy(\ufffd|\ufffd\ufffd\ufffd\ufffdC\ufffdHLL\ufffd~n\u077au\ufffdDs\ufffd\ufffd\ufffdn\ufffdj\ufffd-\ufffd]\ufffd \ufffd\ufffd^\ufffdb\ufffdw\ufffd9\ufffdr\ufffd\ufffd2e?+\ufffd\ufffd\ufffdW\ufffd\ufffd7\u067bw\ufffdY\ufffdRSS\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdv\ufffd\ufffd>?9!\ufffd!\ufffd*\ufffd\ufffd\ufffd\ufffdF\ufffd\ufffd\ufffd\ufffd+\ufffd\ufffd%\ufffd\ufffd\ufffd<\ufffdf\ufffd\ufffd\u0269Xr\ufffd\u0211\ufffd\ufffd\ufffd\ufffd~U\ufffd9s\ufffdg\u03de\ufffd\ufffd\ufffd\ufffdj\ufffd\ufffd\ufffd\ufffd\ufffd\u04e7\ufffd\ufffdM\ufffd\ufffd/,`v\ufffd\ufffd\ufffd\ufffd\ufffdzi\ufffd\ufffd\ufffd\ufffd\ufffd^\ufffd\ufffd!W\ufffd\ufffdg\ufffd\ufffdbjs\ufffd\ufffdg\ufffd\ufffda\ufffd\ufffd\u067aC\ufffdb`\ufffd\ufffdW \ufffd0^\ufffd\ufffd \ufffdc \ufffd\ufffdH\ufffdQ\ufffd\ufffd\ufffdP\ufffd"\ufffd\u046a\ufffd5\u02c7\ufffd\ufffdr\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd~\ufffd-.qs\ufffd0da\ufffdwLK-\u04beu\u0308\ufffd \ufffd\ufffdW\ufffdB\ufffdl\ufffd\ufffd\ufffd\ufffdk\ufffd/u+\ufffdSA@\ufffd\ufffd\u0173f\u036a\ufffd\ufffds+\ufffdo-vC\u024e\ufffd\ufffd.2\ufffdh\ufffd,\ufffd
[\ufffd8\ufffd@\u0570\ufffd\ufffd\ufffd\ufffd\ufffd?^\ufffd\ufffd\ufffdc\ufffd\ufffd\ufffdl\ufffd~\ufffd-.qs\ufffd0}>OGC\ufffd\ufffd\ufffd_\ufffd<RU\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdZ+M\ufffd+\ufffd\ufffd\ufffd={\ufffdv\ufffd\ufffd5j\ufffd\ufffd\ufffd\ufffd^\\ufffd!\ufffdgXi\ufffd\ufffd*]\ufffd\ufffd\ufffdp\ufffd%@\ufffd\ufffd9)R$""\ufffd[\ufffd\ufffd<9\ufffd\ufffd=zt\ufffd\ufffd\ufffdf\u035ae\u02d6M\ufffdk
-\u04b5\u0254F7\ufffd\ufffd\ufffd0\ufffd \ufffd\ufffd\ufffd+W\ufffd\ufffd\ufffd[\ufffd(V\ufffde}\ufffdq\ufffd\ufffd\ufffda\ufffd\ufffd\u056bW\ufffd\u07d4\ufffd+W\ufffd2e\u02a0\ufffd\ufffds\ufffd\u03bf\ufffd\ufffd\ufffd\ufffd:(\ufffd\ufffd\ufffd\ufffdV\ufffdV
i\ufffd\ufffd\u035b\ufffd\ufffd\u0258:\ufffdhZZ\ufffd\ufffd\ufffdJ\ufffd\ufffdc\ufffd\ufffd
\ufffd\u0485Q\ufffd\ufffdp\ufffd\ufffd\ufffd\ufffd\ufffd_x\ufffd\ufffd;m\\ufffd\ufffd\ufffd._\ufffd\ufffd>r\ufffd\u01bd{\ufffd\ufffdn\u074a%\ufffd;s\ufffd\u64ee]\ufffdtI\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd3\ufffd\ufffd\ufffdX7\ufffd\ufffd\u02fa\u046f7XA\ufffd\ufffd\ufffd\u040er\ufffd\u02a1R{\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdp\ufffd\ufffdP\ufffdB\ufffd\u02d7/\ufffdY \ufffds{'\ufffd\ufffdA\ufffdhyyy\u056d[\ufffd\ufffd\ufffd\ufffd\ufffd\u077b\ufffd\ufffd\ufffdT\ufffdph*fh\ufffd\u0463G\ufffd\ufffd\ufffd8\ufffdB\u05acY\ufffd\ufffd^+\ufffd\ufffd,Y�\ufffd\ufffd\ufffdU;*3\ufffdv\ufffd\ufffd\ufffd\ufffd\ufffd\u043bwoZ\ufffd\ufffd\ufffd\u0781\ufffd\ufffdy\ufffd\ufffd}\ufffdvbb\ufffd\ufffdw$rHAW\ufffd+U\ufffd\ufffd3g\ufffd\ufffd\u05ef\ufffd?\ufffd\ufffd\ufffd\ufffd4\ufffd( \ufffd-[F[\u0676\ufffd\u03ad6=\u0186rBF\ufffd\ufffd\u05ad\ufffd\ufffd�\ufffd\ufffd\ufffdE\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdk\u05ee\ufffd%`\ufffd7(r\ufffd\u0295\ufffd\ufffd\ufffd.\ufffdM\u0242\ufffd;\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd;\ufffd\ufffd\u0473g\u03e4\ufffd$+\ufffd\u0335\u0342\ufffd\ufffd\ufffd2$Q\ufffd*A\ufffde\ufffdRSS8\ufffd\u054e]J\ufffd\ufffd'O\ufffd\ufffdr
-r\ufffdDa\ufffd#\ufffd!\ufffd:t\ufffd]
-\ufffd\ufffdP\ufffd\ufffd\ufffd\ufffd\ufffdn\ufffd\ufffd+\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd/^\ufffd\ufffd\ufffd:\ufffd___\ufffd,\ufffd.]R\ufffdC\ufffd$<\ufffdU\u0672eQ\ufffd!\ufffd[\ufffd\ufffd\ufffd\u03df_E\ufffd\ufffd\ufffdf\ufffde\ufffda\ufffd\ufffdRg\ufffd\ufffd\ufffd\\ufffdc \ufffd~\ufffd\ufffd\ufffd\u04e7\ufffd\ufffd\ufffd\ufffd:\ufffdL\ufffd"\ufffd'=\ufffd\ufffd7o\ufffd\ufffd\ufffd\ufffdk\ufffd\ufffd\ufffd\ufffd*c\ufffd\ufffd@\ufffd4Q\ufffd;v,G\ufffd\ufffd\ufffd\ufffd<P\ufffd\ufffd\ufffdU\ufffd\ufffdC\\\ufffd 7\ufffd\ufffd\ufffd:\ufffd\ufffd\u02c7a\ufffd\ufffd\ufffd\ucca4\ufffd\ufffd\ufffd&W\ufffd^m\u056a6F-Z\ufffd\ufffdD_\ufffd\ufffdH\ufffd\ufffd\u077bw\ufffd\ufffdMY\ufffd\ufffd\ufffdk\u05ee)\ufffd\ufffdC\ufffd]\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd+8Z\ufffdq
-\ufffd\ufffdE\ufffdG9�\ufffd\ufffd\ufffd\ufffd
-\ufffd\ufffd4\ufffdu\ufffdtm:f\ufffd4\ufffde\u02d6\ufffdd\ufffd\ufffd\u037caH\ufffd\ufffd/c\ufffd\u03f3\ufffd\u0277\ufffd~\ufffd9s\ufffdM\ufffd6M\ufffd:Uw}Mb-\ufffd\ufffd
-\ufffd\ufffd\ufffd\ufffdQe%H\ufffd\ufffdS\ufffds\ufffdvM\ufffdW\ufffd\ufffd~\ufffdY\ufffd_|\ufffdf\u035a\ufffd\ufffd'\ufffd7j\ufffd(_\ufffd|\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd_\ufffd\ufffd\ufffd\ufffdO\ufffd=\ufffdw"b\ufffd\ufffd\ufffdM\ufffd\ufffdf\ufffdv\u069b\ufffdk\ufffd)G\u0720\ufffd\ufffd\ufffdvE3v\ufffd\ufffdg\ufffdzmS\ufffd\ufffd\ufffdZ\ufffd\ufffd\ufffd\ufffd\ufffd>}\ufffdT\ufffd\Yv\ufffd\ufffd\ufffdkl\ufffd\u06739\ufffd\ufffd+<T<\ufffd\ufffdk70\ufffd\ufffd.F\ufffd\u0769S\ufffd{\ufffd\ufffd\ufffd\u0739s\u018c6lX\ufffd~=\ufffd1w\ufffd\ufffd&\ufffd\ufffd\ufffddR\ufffd'\ufffdO\ufffd\ufffd\ufffd&\u0351\ufffd\ufffd\u0197\ufffd\ufffd\ufffdM{r\u014aQ)\ufffdh\u0462p\ufffd\ufffd?\ufffd\ufffd\ufffd\ufffd=z\ufffd(c\ufffd\ufffda�<y\ufffd\ufffd ={\ufffd,R\ufffd\u021a5k\ufffd\ufffd\ufffd\u056bW9\ufffdN7/!N\ufffd6\ufffdu\ufffd\ufffd\u014a[\ufffdj|>\ufffd\ufffd
-\ufffd9\ufffd\ufffd\ufffdT\ufffdJ\ufffd/\ufffd\ufffd"22\ufffdR\ufffdJM\ufffd6={\ufffd,\ufffd\ufffd{\ufffd\ufffd]\ufffd|\ufffd\ufffde\ufffd~\ufffd\ufffd\ufffd\ufffd_\ufffd\ufffdO\ufffd-5j\ufffd\ufffd|m\ufffd,\ufffdn(\ufffdY\ufffdv\ufffdm\ufffd=\ufffdl\u0672\ufffdU\ufffd\ufffd\ufffd\ufffd\ufffd/\ufffdbd\ufffd\u07ff\ufffd\ufffd\u04e7\ufffd\ufffd\ufffdE\ufffd~\ufffd\ufffd\u01f08\ufffdt\ufffd\ufffd`xPP]\ufffd,\ufffd\ufffd>}:H7pM\ufffdt\ufffd\ufffd\ufffd\ufffd6\ufffdC\ufffd,Y\ufffd\ufffd\ufffd
-*\u0526M\ufffd\u035b7\ufffd\ufffd\ufffd\ufffd\u0363C\ufffd
\ufffd\ufffd/(\ufffd \u0308 \u077au u\ufffd-\ufffd,\ufffd\u01cf;>!\ufffd\ufffdP\ufffd\ufffd(I\ufffd]:,\ufffd@\ufffd!\ufffd-[\ufffd\ufffd\ufffd\ufffda\ufffd\\ufffd+Mu\ufffd4y\u0108L*\ufffd\ufffd2ir\ufffdf\ufffdH\ufffd\ufffd$\ufffde\ufffd&\ufffd7o\ufffd$#\ufffd\u4bff\ufffd\ufffd\ufffd\ufffd\ufffd45\ufffd\ufffd\ufffd\ufffd|S\ufffd\ufffdk\ufffd&%<<\ufffdc\u01cey\ufffd\ufffd9p\ufffd j\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd3S\ufffd\ufffdw\ufffd]\ufffdp\ufffdw\ufffdy\ufffd\ufffd\ufffds\ufffd\u038d\u07fe};,X@AV\ufffdX\ufffd)\ufffd\ufffd:u\ufffd:\ufffd\ufffd\u07bd{\ufffd\ufffd\ufffd\ufffd,\\ufffd\ufffd\ufffd{\ufffd\u039d\ufffdK\ufffd\ufffdH)Q\ufffd\ufffd\u0109\ufffd?\u07b9sg(\ufffd\ufffd\ufffd\ufffd\u0147\ufffd\ufffd\ufffd\u0295+\ufffd\ufffd\u077bcbbj\u0462E\ufffd\ufffd\ufffdn\U000e079f\ufffd\ufffd\ufffd8qb\ufffd\ufffd\ufffd`\u05d93g\ufffdC\ufffd\ufffd\ufffd>y\ufffdd\ufffd\ufffdcg\u03de
K\ufffd\ufffd\ufffdm\ufffd\ufffdu\ufffd\ufffd-Y\ufffd\ufffd\ufffdP\u02d7/'\u0482`h\ufffdPX\ufffd\u021d\u04ae===\ufffd{\ufffd\ufffd\ufffd\ufffd!`tt42\ufffd\u06b5k\ufffdgL\ufffd\n*^\ufffd8\ufffdLrr2\ufffd,,\ufffd\ufffd\ufffd8p],^\ufffd\ufffd\ufffd 1d9\ufffd\ufffd7\ufffd-\ufffd*4y r\ufffd\ufffd\ufffd(\ufffdd59\ufffde9,,LV\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdT\ufffddIp8\ufffdr\ufffd\ufffd\ufffd]\ufffdH\ufffd\ufffd\u07bd\ufffdn\ufffdd\ufffd3i\ufffdM>k\ufffd\ufffd\ufffdT\ufffd\ufffd\ufffd;L\ufffd0\ufffd^\ufffdz\ufffd \ufffd<yr\ufffd\u018dt\ufffdR\ufffd\ufffd\ufffd1Y(
X\ufffd\ufffd\ufffd\ufffd%\ufffd\u0295+Qb\ufffd\ufffd\ufffd\ufffd\ufffd#""\ufffd\ufffd\u0529S\ufffd\ufffd\ufffd| C\u40d2\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd~u\ufffd\u0585\ufffd:
t\ufffd\ufffd\u0463P"DC\ufffd\ufffd\ufffd\u03e8\ufffd\ufffd\ufffd#\ufffd)\ufffd)\u014e\ufffd\ufffd\ufffd0*\ufffd\ufffdt\ufffd^\ufffd\uc847>}\ufffdY
-\u9a92JM<<<&M\ufffd\ufffdg\u03de\u06f7o\ufffdb\ufffdj\u0528!\ufffd \ufffd\ufffd_v d\u0106\ufffd\ufffd\ufffdG\ufffd<�\u030a\ufffd\u040b7n;v\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u05ef\ufffd\ufffd\u04b5kWH\u0594yb\ufffd \ufffdIP\ufffd\ufffd7 **
-\ufffd,X\ufffda\ufffdE6l %\ufffdj2\u044c4\ufffd\ufffd-i\ufffd`a8\ufffd/Td\ufffdm\u06f6\ufffdd\ufffd�\ufffd.\ufffd\ufffde\ufffd\ufffd\ufffd_'Y\ufffd\ufffdd\ufffd?\ufffd\ufffd\ufffd\ufffd45\ufffd\ufffd\ufffd\ufffdi\ufffd\ufffdT\ufffd\ufffd\ufffd\ufffd\ufffd<xP\ufffdjU\ufffdCP\ufffd\ufffd7!\ufffd\ufffd\u056b[9\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdg\u03de.\X\ufffdo\ufffd\ufffd\u06715\ufffds\ufffd\ufffd\ufffd\ufffd!\ufffd\ufffdP\ufffd\ufffd\ufffdP\u0591l\ufffdE\ufffd\ufffdr\ufffd\ufffdel\ufffd\ufffd!\u024d5j\ufffd\ufffd\ufffdH'tU\ufffd[\ufffd\ufffd\u04a5K(\ufffd{\ufffd\ufffd%
-\ufffdk\ufffd\ufffd\ufffdaTzJIIA\u06a3\ufffd\u035b7\ufffd\ufffd\u33e1\ufffd\ufffd\ufffd[\ufffd\u02595!\ufffd\ufffd\ufffd\ufffd[\ufffdbq\ufffd\ufffd
\ufffds-\ufffd\ufffd\ufffd@\ufffd\u02feu\ufffdX$f\ufffd\ufffd&[\ud7d4dY\ufffd)ir\ufffd\ufffdf&\ufffd\ufffdI5Y\ufffd\ufffd\u06a5\ufffdF>\ufffd'u\ufffd\ufffd\ufffd\u03593\ufffd\ufffd\ufffd\ufffd\ufffdO\ufffd\ufffd\ufffd\ufffda\u07fe}Vb\u0338\ufffd\ufffd7v\ufffdJA\ufffd]\ufffdR\ufffd\ufffd\ufffd#\ufffd\ufffd\ufffdM\u067d{\ufffdR}\u065d\ufffd<\ufffdd\ufffd\ufffd\ufffdl\ufffdf\u039c\ufffd\ufffd\ufffd-\ufffd\ufffdw\ufffd\ufffd?\ufffd\ufffd4d\ufffd\ufffd8V\ufffd7\ufffd\ufffd\ufffd\ufffdY\ufffd\ufffds\ufffd\ufffd,\ufffd\ufffdO\ufffdQ+Dx\ufffd\ufffd\ufffd\ufffd_Il\u0784hi\ufffda\ufffdU|2\ufffd5Y\ufffd!h&\ufffd\ufffdR7\ufffd\ufffd\ufffd@\ufffd\ufffd\ufffd\ufffd&\ufffdc\ufffd\ufffdY\ufffd\ufffd{\ufffd*\ufffd\ufffd{.\ufffd\ufffdl\ufffd0dP8+V\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u074b\ufffd\ufffd\ufffd>Z\ufffdP\ufffdbE8<\ufffd\ufffd\ufffd\u0643R\ufffd*|\ufffd\ufffd\ufffd 1\ufffd\ufffd\ufffd\ufffdh\u02d7/\ufffd\ufffd\ufffd?|\ufffd\ufffd7o^\ufffd~}\ufffd\u0739tcu\ufffd\ufffd_R|T\ufffdV\ufffd\ufffdxv\ufffd\ufffd+;o\ufffdCZ\ufffd\ufffd<\ufffd\ufffdnuh\u01ces\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd3\ufffd\ufffd\ufffd\u0101R\ufffd\ufffd\u01a2\ufffd\ufffdr\ufffdJ@@\ufffd\ufffdk\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u021e\ufffd\ufffd\ufffd\ufffd_\u0504,\ufffd\ufffd\ufffd\ufffd\ufffd\u018d\ufffd\u0621\ufffd.]\ufffd\ufffdN\ufffd\ufffd8\ufffdKbb\ufffd8\ufffd\ufffd\ufffdMA*T\ufffd@\ufffd\ufffd\ufffd\ufffdT\ufffd\ufffd!\ufffdoe\u03da\ufffdh%-n\ufffd\ufffd\ufffd"M4hxAN\u015a\ufffd\ufffd\ufffdpP\ufffdd\ufffdr\ufffd"\ufffd2s\u02f2\ufffd0@]\ufffd\ufffda\ufffd\u0132L|:t(
34\u0651\ufffdT\ufffd\ufffd{>OW}=\ufffdJ\ufffd|a\u06e0A\ufffd2e\ufffd8\ufffd\ufffd\u02d7/\ufffdC\ufffdF\ufffd\u0295+G\ufffd K\ufffd.\ufffdO\ufffd&M0M\u0220J\ufffd X\ufffd\u0472d\u0252[\ufffdn\u056e];,,Y5Y\ufffdx1'22288\ufffd\ufffd\ufffd\ufffdx\ufffdFAEs\ufffdc\ufffd\ufffd\ufffdP\ufffd\ufffdm\ufffd^\ufffdD \ufffd\ufffd\ufffd\ufffd\ufffd&\ufffdd\ufffd\ufffd%KN\ufffd:uU\u07fe}#""j\u05ac \ufffd\ufffd\ufffdI\ufffdhAf\ufffd\ufffd\ufffd\ufffdi\u04e6\ufffdQ\ufffdb\ufffd\ufffd\ufffd\ufffdPi\u056a\ufffd\ufffd\u056b\ufffdd\ufffdO0\ufffdO\ufffd>
6\ufffd!\ufffd \ufffd\ufffd\ufffdG\ufffd\ufffd\ufffd\u04e7\ufffd\ufffd\ufffd68\u0734
<TRUNCATED>
[19/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgsvc/rgsvc.pdf
----------------------------------------------------------------------
diff --git a/content/guides/rgsvc/rgsvc.pdf b/content/guides/rgsvc/rgsvc.pdf
index fc31f0c..c92a1d5 100644
--- a/content/guides/rgsvc/rgsvc.pdf
+++ b/content/guides/rgsvc/rgsvc.pdf
@@ -4,8 +4,8 @@
<< /Title (Domain Services)
/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:20170411195422+01'00')
-/ModDate (D:20170411195422+01'00')
+/CreationDate (D:20170420093241+01'00')
+/ModDate (D:20170420093241+01'00')
>>
endobj
2 0 obj
@@ -5529,7 +5529,10 @@ endobj
endobj
44 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_EmailService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EmailService)
+>>
/Subtype /Link
/Rect [48.24 254.10483720930245 111.24000000000001 264.60483720930245]
/Type /Annot
@@ -5539,7 +5542,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf#_ugvw_features_user-registration)
+/URI (../ugvw/ugvw.pdf#_ugvw_features_user-registration)
>>
/Subtype /Link
/Rect [200.83223502604167 236.72883720930244 284.43641796875 251.00883720930244]
@@ -5550,7 +5553,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [443.75915299479163 236.72883720930244 516.2858359375 251.00883720930244]
@@ -5559,7 +5562,10 @@ endobj
endobj
47 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_EventBusService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EventBusService)
+>>
/Subtype /Link
/Rect [153.94630338541666 222.54483720930244 232.69630338541668 233.04483720930244]
/Type /Annot
@@ -5569,7 +5575,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Action_domainEvent)
+/URI (../rgant/rgant.pdf#_rgant-Action_domainEvent)
>>
/Subtype /Link
/Rect [436.78999999999996 206.76483720930244 547.04 217.26483720930244]
@@ -7529,7 +7535,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf)
+/URI (../rgfis/rgfis.pdf)
>>
/Subtype /Link
/Rect [48.24 617.3399999999999 194.231794921875 631.62]
@@ -7552,7 +7558,10 @@ endobj
endobj
55 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_FactoryService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_FactoryService)
+>>
/Subtype /Link
/Rect [350.12866992187503 158.25600000000009 423.62866992187503 168.75600000000009]
/Type /Annot
@@ -7560,7 +7569,10 @@ endobj
endobj
56 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_DomainObjectContainer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_DomainObjectContainer)
+>>
/Subtype /Link
/Rect [143.044875 142.47600000000008 253.294875 152.97600000000008]
/Type /Annot
@@ -7568,7 +7580,10 @@ endobj
endobj
57 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ServiceRegistry)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ServiceRegistry)
+>>
/Subtype /Link
/Rect [48.239999999999995 83.13600000000008 126.99 93.63600000000008]
/Type /Annot
@@ -7587,7 +7602,10 @@ endobj
endobj
59 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_DomainObjectContainer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_DomainObjectContainer)
+>>
/Subtype /Link
/Rect [429.7445 83.13600000000008 539.9945 93.63600000000008]
/Type /Annot
@@ -8715,7 +8733,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [182.4505909090909 697.8359999999999 350.4505909090909 708.3359999999999]
@@ -8735,7 +8753,10 @@ endobj
endobj
65 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ContentMappingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+>>
/Subtype /Link
/Rect [194.03566666666666 618.716 304.28566666666666 629.216]
/Type /Annot
@@ -8743,7 +8764,10 @@ endobj
endobj
66 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [309.6301666666667 618.716 398.88016666666664 629.216]
/Type /Annot
@@ -8751,7 +8775,10 @@ endobj
endobj
67 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_RoutingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_RoutingService)
+>>
/Subtype /Link
/Rect [426.0541666666666 618.716 499.5541666666666 629.216]
/Type /Annot
@@ -8759,7 +8786,10 @@ endobj
endobj
68 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_LocaleProvider)
+>>
/Subtype /Link
/Rect [431.76162920673073 586.9359999999999 505.26162920673073 597.4359999999999]
/Type /Annot
@@ -10547,7 +10577,10 @@ endobj
endobj
73 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_CommandContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_CommandContext)
+>>
/Subtype /Link
/Rect [172.67803245192306 117.61599999999999 246.17803245192306 128.11599999999999]
/Type /Annot
@@ -10555,7 +10588,10 @@ endobj
endobj
74 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_CommandService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_CommandService)
+>>
/Subtype /Link
/Rect [89.52126666666666 80.05599999999998 163.02126666666663 90.55599999999998]
/Type /Annot
@@ -12278,7 +12314,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Action_command)
+/URI (../rgant/rgant.pdf#_rgant-Action_command)
>>
/Subtype /Link
/Rect [468.28999999999996 793.2059999999999 547.04 803.7059999999999]
@@ -12289,7 +12325,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Action_command)
+/URI (../rgant/rgant.pdf#_rgant-Action_command)
>>
/Subtype /Link
/Rect [66.24000000000001 777.4259999999999 76.74000000000001 787.9259999999999]
@@ -12300,7 +12336,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Action_command)
+/URI (../rgant/rgant.pdf#_rgant-Action_command)
>>
/Subtype /Link
/Rect [76.74000000000001 777.4259999999999 87.24000000000001 787.9259999999999]
@@ -12311,7 +12347,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Property_command)
+/URI (../rgant/rgant.pdf#_rgant-Property_command)
>>
/Subtype /Link
/Rect [104.94086666666666 777.4259999999999 194.19086666666666 787.9259999999999]
@@ -12322,7 +12358,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Property_command)
+/URI (../rgant/rgant.pdf#_rgant-Property_command)
>>
/Subtype /Link
/Rect [194.19086666666666 777.4259999999999 204.69086666666666 787.9259999999999]
@@ -12333,7 +12369,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Property_command)
+/URI (../rgant/rgant.pdf#_rgant-Property_command)
>>
/Subtype /Link
/Rect [204.69086666666666 777.4259999999999 215.19086666666666 787.9259999999999]
@@ -12342,7 +12378,10 @@ endobj
endobj
83 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [174.61713636363635 733.8659999999999 269.11713636363635 744.3659999999999]
/Type /Annot
@@ -12350,7 +12389,10 @@ endobj
endobj
84 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_WrapperFactory)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_WrapperFactory)
+>>
/Subtype /Link
/Rect [331.3494142127404 686.526 404.8494142127404 697.026]
/Type /Annot
@@ -12360,7 +12402,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_domainevent)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_domainevent)
>>
/Subtype /Link
/Rect [347.3788760416667 647.3699999999999 416.49792304687503 661.65]
@@ -12371,7 +12413,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Action_domainEvent)
+/URI (../rgant/rgant.pdf#_rgant-Action_domainEvent)
>>
/Subtype /Link
/Rect [99.75600000000001 617.406 210.00600000000003 627.906]
@@ -12382,7 +12424,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Property_domainEvent)
+/URI (../rgant/rgant.pdf#_rgant-Property_domainEvent)
>>
/Subtype /Link
/Rect [226.44900000000004 617.406 347.19900000000007 627.906]
@@ -12393,7 +12435,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_ChangedObjectsServiceInternal)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_ChangedObjectsServiceInternal)
>>
/Subtype /Link
/Rect [66.24000000000001 530.286 218.49 540.786]
@@ -12402,7 +12444,10 @@ endobj
endobj
89 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_MetricsService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_MetricsService)
+>>
/Subtype /Link
/Rect [271.9245 514.506 345.4245 525.006]
/Type /Annot
@@ -12412,7 +12457,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_PublisherServiceInternal)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_PublisherServiceInternal)
>>
/Subtype /Link
/Rect [66.24000000000001 476.9459999999999 192.24 487.4459999999999]
@@ -12423,7 +12468,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Action_publishing)
+/URI (../rgant/rgant.pdf#_rgant-Action_publishing)
>>
/Subtype /Link
/Rect [157.779 461.16599999999994 262.779 471.66599999999994]
@@ -12434,7 +12479,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Property_publishing)
+/URI (../rgant/rgant.pdf#_rgant-Property_publishing)
>>
/Subtype /Link
/Rect [279.222 461.16599999999994 394.72200000000004 471.66599999999994]
@@ -12443,7 +12488,10 @@ endobj
endobj
93 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_PublishingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_PublishingService)
+>>
/Subtype /Link
/Rect [346.2524487304687 433.3859999999999 435.5024487304687 443.8859999999999]
/Type /Annot
@@ -12451,7 +12499,10 @@ endobj
endobj
94 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_PublisherService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_PublisherService)
+>>
/Subtype /Link
/Rect [153.14829492187502 417.6059999999999 237.14829492187502 428.1059999999999]
/Type /Annot
@@ -12461,7 +12512,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_PublisherServiceInternal)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_PublisherServiceInternal)
>>
/Subtype /Link
/Rect [120.13274358258928 374.04599999999994 246.13274358258928 384.54599999999994]
@@ -12472,7 +12523,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainObject_publishing)
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_publishing)
>>
/Subtype /Link
/Rect [66.24000000000001 342.4859999999999 202.74 352.9859999999999]
@@ -12481,7 +12532,10 @@ endobj
endobj
97 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_TransactionService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_TransactionService)
+>>
/Subtype /Link
/Rect [282.04025651041667 294.92599999999993 376.54025651041667 305.42599999999993]
/Type /Annot
@@ -12489,7 +12543,10 @@ endobj
endobj
98 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_AuditerService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_AuditerService)
+>>
/Subtype /Link
/Rect [66.24000000000001 247.36599999999993 139.74 257.86599999999993]
/Type /Annot
@@ -12497,7 +12554,10 @@ endobj
endobj
99 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_AuditingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_AuditingService)
+>>
/Subtype /Link
/Rect [171.75348203125 247.36599999999993 250.50348203125 257.86599999999993]
/Type /Annot
@@ -12507,7 +12567,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_AuditingServiceInternal)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_AuditingServiceInternal)
>>
/Subtype /Link
/Rect [66.24000000000001 231.58599999999993 186.99 242.08599999999993]
@@ -12516,7 +12576,10 @@ endobj
endobj
101 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_CommandService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_CommandService)
+>>
/Subtype /Link
/Rect [155.4684090909091 203.80599999999993 228.9684090909091 214.30599999999993]
/Type /Annot
@@ -12526,7 +12589,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_schema-cmd)
+/URI (../rgcms/rgcms.pdf#_rgcms_schema-cmd)
>>
/Subtype /Link
/Rect [280.6213333333333 188.02599999999993 317.3713333333333 198.52599999999993]
@@ -12535,7 +12598,10 @@ endobj
endobj
103 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_PublisherService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_PublisherService)
+>>
/Subtype /Link
/Rect [208.06824843750002 144.46599999999992 292.0682484375 154.96599999999992]
/Type /Annot
@@ -12761,7 +12827,10 @@ endobj
endobj
106 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_PublisherService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_PublisherService)
+>>
/Subtype /Link
/Rect [191.10888888888886 792.4559999999999 275.1088888888888 802.9559999999999]
/Type /Annot
@@ -14064,7 +14133,10 @@ endobj
endobj
113 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ContentMappingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+>>
/Subtype /Link
/Rect [51.24 603.493 114.24000000000001 613.993]
/Type /Annot
@@ -14072,7 +14144,10 @@ endobj
endobj
114 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ContentMappingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+>>
/Subtype /Link
/Rect [51.24 587.617 51.24 601.897]
/Type /Annot
@@ -14080,7 +14155,10 @@ endobj
endobj
115 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ContentMappingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+>>
/Subtype /Link
/Rect [51.24 589.213 129.99 599.713]
/Type /Annot
@@ -14088,7 +14166,10 @@ endobj
endobj
116 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ContentMappingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+>>
/Subtype /Link
/Rect [51.24 573.337 51.24 587.617]
/Type /Annot
@@ -14096,7 +14177,10 @@ endobj
endobj
117 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ContentMappingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ContentMappingService)
+>>
/Subtype /Link
/Rect [51.24 574.933 161.49 585.433]
/Type /Annot
@@ -14104,7 +14188,10 @@ endobj
endobj
118 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_EmailNotificationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
+>>
/Subtype /Link
/Rect [51.24 343.12300000000005 119.49000000000001 353.62300000000005]
/Type /Annot
@@ -14112,7 +14199,10 @@ endobj
endobj
119 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_EmailNotificationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
+>>
/Subtype /Link
/Rect [51.24 327.24700000000007 51.24 341.52700000000004]
/Type /Annot
@@ -14120,7 +14210,10 @@ endobj
endobj
120 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_EmailNotificationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
+>>
/Subtype /Link
/Rect [51.24 328.8430000000001 135.24 339.3430000000001]
/Type /Annot
@@ -14128,7 +14221,10 @@ endobj
endobj
121 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_EmailNotificationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
+>>
/Subtype /Link
/Rect [51.24 312.9670000000001 51.24 327.24700000000007]
/Type /Annot
@@ -14136,7 +14232,10 @@ endobj
endobj
122 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_EmailNotificationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
+>>
/Subtype /Link
/Rect [51.24 314.5630000000001 166.74 325.0630000000001]
/Type /Annot
@@ -14144,7 +14243,10 @@ endobj
endobj
123 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_EmailNotificationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
+>>
/Subtype /Link
/Rect [51.24 303.11800000000005 61.74 313.61800000000005]
/Type /Annot
@@ -14152,7 +14254,10 @@ endobj
endobj
124 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserRegistrationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserRegistrationService)
+>>
/Subtype /Link
/Rect [279.3965 341.52700000000004 358.639794921875 355.8070000000001]
/Type /Annot
@@ -14160,7 +14265,10 @@ endobj
endobj
125 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ErrorReportingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ErrorReportingService)
+>>
/Subtype /Link
/Rect [51.24 242.66800000000012 119.49000000000001 253.16800000000012]
/Type /Annot
@@ -14168,7 +14276,10 @@ endobj
endobj
126 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ErrorReportingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ErrorReportingService)
+>>
/Subtype /Link
/Rect [51.24 226.79200000000012 51.24 241.07200000000012]
/Type /Annot
@@ -14176,7 +14287,10 @@ endobj
endobj
127 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ErrorReportingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ErrorReportingService)
+>>
/Subtype /Link
/Rect [51.24 228.38800000000012 124.74000000000001 238.88800000000012]
/Type /Annot
@@ -14184,7 +14298,10 @@ endobj
endobj
128 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ErrorReportingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ErrorReportingService)
+>>
/Subtype /Link
/Rect [51.24 212.5120000000001 51.24 226.79200000000012]
/Type /Annot
@@ -14192,7 +14309,10 @@ endobj
endobj
129 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ErrorReportingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ErrorReportingService)
+>>
/Subtype /Link
/Rect [51.24 214.10800000000012 161.49 224.60800000000012]
/Type /Annot
@@ -16277,7 +16397,10 @@ endobj
endobj
132 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ExceptionRecognizer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ExceptionRecognizer)
+>>
/Subtype /Link
/Rect [51.24 751.113 119.49000000000001 761.613]
/Type /Annot
@@ -16285,7 +16408,10 @@ endobj
endobj
133 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ExceptionRecognizer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ExceptionRecognizer)
+>>
/Subtype /Link
/Rect [51.24 735.2370000000001 51.24 749.517]
/Type /Annot
@@ -16293,7 +16419,10 @@ endobj
endobj
134 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ExceptionRecognizer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ExceptionRecognizer)
+>>
/Subtype /Link
/Rect [51.24 736.8330000000001 150.99 747.3330000000001]
/Type /Annot
@@ -16301,7 +16430,10 @@ endobj
endobj
135 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ExceptionRecognizer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ExceptionRecognizer)
+>>
/Subtype /Link
/Rect [51.24 720.957 51.24 735.2370000000001]
/Type /Annot
@@ -16309,7 +16441,10 @@ endobj
endobj
136 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ExceptionRecognizer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ExceptionRecognizer)
+>>
/Subtype /Link
/Rect [51.24 722.553 156.24 733.053]
/Type /Annot
@@ -16317,7 +16452,10 @@ endobj
endobj
137 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [51.24 619.263 119.49000000000001 629.763]
/Type /Annot
@@ -16325,7 +16463,10 @@ endobj
endobj
138 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [51.24 603.387 51.24 617.667]
/Type /Annot
@@ -16333,7 +16474,10 @@ endobj
endobj
139 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [51.24 604.983 119.49000000000001 615.483]
/Type /Annot
@@ -16341,7 +16485,10 @@ endobj
endobj
140 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [51.24 589.107 51.24 603.387]
/Type /Annot
@@ -16349,7 +16496,10 @@ endobj
endobj
141 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [51.24 590.703 140.49 601.203]
/Type /Annot
@@ -16357,7 +16507,10 @@ endobj
endobj
142 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [51.24 538.863 119.49000000000001 549.363]
/Type /Annot
@@ -16365,7 +16518,10 @@ endobj
endobj
143 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [51.24 522.9870000000001 51.24 537.267]
/Type /Annot
@@ -16373,7 +16529,10 @@ endobj
endobj
144 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [51.24 524.5830000000001 119.49000000000001 535.0830000000001]
/Type /Annot
@@ -16381,7 +16540,10 @@ endobj
endobj
145 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [51.24 508.707 51.24 522.9870000000001]
/Type /Annot
@@ -16389,7 +16551,10 @@ endobj
endobj
146 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [51.24 510.303 140.49 520.803]
/Type /Annot
@@ -16397,7 +16562,10 @@ endobj
endobj
147 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [51.24 452.688 119.49000000000001 463.188]
/Type /Annot
@@ -16405,7 +16573,10 @@ endobj
endobj
148 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [51.24 436.81199999999995 51.24 451.092]
/Type /Annot
@@ -16413,7 +16584,10 @@ endobj
endobj
149 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [51.24 438.40799999999996 119.49000000000001 448.90799999999996]
/Type /Annot
@@ -16421,7 +16595,10 @@ endobj
endobj
150 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [51.24 422.532 51.24 436.81199999999995]
/Type /Annot
@@ -16429,7 +16606,10 @@ endobj
endobj
151 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [51.24 424.12799999999993 108.99000000000001 434.62799999999993]
/Type /Annot
@@ -16437,7 +16617,10 @@ endobj
endobj
152 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [294.35900000000004 452.688 383.60900000000004 463.188]
/Type /Annot
@@ -16445,7 +16628,10 @@ endobj
endobj
153 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [175.94 438.40799999999996 265.19 448.90799999999996]
/Type /Annot
@@ -16453,7 +16639,10 @@ endobj
endobj
154 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_HintStore)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_HintStore)
+>>
/Subtype /Link
/Rect [51.24 377.95799999999997 119.49000000000001 388.45799999999997]
/Type /Annot
@@ -16461,7 +16650,10 @@ endobj
endobj
155 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_HintStore)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_HintStore)
+>>
/Subtype /Link
/Rect [51.24 362.08199999999994 51.24 376.36199999999997]
/Type /Annot
@@ -16469,7 +16661,10 @@ endobj
endobj
156 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_HintStore)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_HintStore)
+>>
/Subtype /Link
/Rect [51.24 363.67799999999994 119.49000000000001 374.17799999999994]
/Type /Annot
@@ -16477,7 +16672,10 @@ endobj
endobj
157 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_HintStore)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_HintStore)
+>>
/Subtype /Link
/Rect [51.24 347.8019999999999 51.24 362.08199999999994]
/Type /Annot
@@ -16485,7 +16683,10 @@ endobj
endobj
158 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_HintStore)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_HintStore)
+>>
/Subtype /Link
/Rect [51.24 349.3979999999999 98.49000000000001 359.8979999999999]
/Type /Annot
@@ -16493,7 +16694,10 @@ endobj
endobj
159 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [51.24 254.61299999999991 119.49000000000001 265.11299999999994]
/Type /Annot
@@ -16501,7 +16705,10 @@ endobj
endobj
160 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [51.24 238.7369999999999 51.24 253.0169999999999]
/Type /Annot
@@ -16509,7 +16716,10 @@ endobj
endobj
161 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [51.24 240.3329999999999 119.49000000000001 250.8329999999999]
/Type /Annot
@@ -16517,7 +16727,10 @@ endobj
endobj
162 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [51.24 224.4569999999999 51.24 238.7369999999999]
/Type /Annot
@@ -16525,7 +16738,10 @@ endobj
endobj
163 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [51.24 226.0529999999999 124.74000000000001 236.5529999999999]
/Type /Annot
@@ -16533,7 +16749,10 @@ endobj
endobj
164 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [175.94 197.4929999999999 270.44 207.9929999999999]
/Type /Annot
@@ -18222,7 +18441,10 @@ endobj
endobj
167 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_RoutingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_RoutingService)
+>>
/Subtype /Link
/Rect [51.24 751.1129999999999 119.49000000000001 761.6129999999999]
/Type /Annot
@@ -18230,7 +18452,10 @@ endobj
endobj
168 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_RoutingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_RoutingService)
+>>
/Subtype /Link
/Rect [51.24 735.2369999999999 51.24 749.5169999999999]
/Type /Annot
@@ -18238,7 +18463,10 @@ endobj
endobj
169 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_RoutingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_RoutingService)
+>>
/Subtype /Link
/Rect [51.24 736.8329999999999 135.24 747.3329999999999]
/Type /Annot
@@ -18246,7 +18474,10 @@ endobj
endobj
170 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_RoutingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_RoutingService)
+>>
/Subtype /Link
/Rect [51.24 720.9569999999999 51.24 735.2369999999999]
/Type /Annot
@@ -18254,7 +18485,10 @@ endobj
endobj
171 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_RoutingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_RoutingService)
+>>
/Subtype /Link
/Rect [51.24 722.5529999999999 124.74000000000001 733.0529999999999]
/Type /Annot
@@ -18262,7 +18496,10 @@ endobj
endobj
172 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_HomePageProviderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_HomePageProviderService)
+>>
/Subtype /Link
/Rect [487.68999999999994 668.2679999999999 540.1899999999999 678.7679999999999]
/Type /Annot
@@ -18270,7 +18507,10 @@ endobj
endobj
173 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_HomePageProviderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_HomePageProviderService)
+>>
/Subtype /Link
/Rect [487.68999999999994 656.8229999999999 540.1899999999999 667.3229999999999]
/Type /Annot
@@ -18278,7 +18518,10 @@ endobj
endobj
174 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_HomePageProviderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_HomePageProviderService)
+>>
/Subtype /Link
/Rect [487.68999999999994 642.5429999999999 503.43999999999994 653.0429999999999]
/Type /Annot
@@ -18288,7 +18531,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [506.37999999999994 569.5469999999999 541.113794921875 583.8269999999999]
@@ -18299,7 +18542,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [487.68999999999994 555.2669999999999 522.3399999999999 569.5469999999999]
@@ -18308,7 +18551,10 @@ endobj
endobj
177 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TableColumnOrderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TableColumnOrderService)
+>>
/Subtype /Link
/Rect [51.24 519.303 119.49000000000001 529.803]
/Type /Annot
@@ -18316,7 +18562,10 @@ endobj
endobj
178 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TableColumnOrderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TableColumnOrderService)
+>>
/Subtype /Link
/Rect [51.24 503.42699999999996 51.24 517.707]
/Type /Annot
@@ -18324,7 +18573,10 @@ endobj
endobj
179 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TableColumnOrderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TableColumnOrderService)
+>>
/Subtype /Link
/Rect [51.24 505.02299999999997 140.49 515.5229999999999]
/Type /Annot
@@ -18332,7 +18584,10 @@ endobj
endobj
180 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TableColumnOrderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TableColumnOrderService)
+>>
/Subtype /Link
/Rect [51.24 489.14699999999993 51.24 503.42699999999996]
/Type /Annot
@@ -18340,7 +18595,10 @@ endobj
endobj
181 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TableColumnOrderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TableColumnOrderService)
+>>
/Subtype /Link
/Rect [51.24 490.74299999999994 114.24000000000001 501.24299999999994]
/Type /Annot
@@ -18348,7 +18606,10 @@ endobj
endobj
182 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TableColumnOrderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TableColumnOrderService)
+>>
/Subtype /Link
/Rect [51.24 474.86699999999996 51.24 489.14699999999993]
/Type /Annot
@@ -18356,7 +18617,10 @@ endobj
endobj
183 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TableColumnOrderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TableColumnOrderService)
+>>
/Subtype /Link
/Rect [51.24 476.46299999999997 114.24000000000001 486.96299999999997]
/Type /Annot
@@ -18364,7 +18628,10 @@ endobj
endobj
184 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [51.24 416.01300000000003 119.49000000000001 426.51300000000003]
/Type /Annot
@@ -18372,7 +18639,10 @@ endobj
endobj
185 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [51.24 400.137 51.24 414.41700000000003]
/Type /Annot
@@ -18380,7 +18650,10 @@ endobj
endobj
186 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [51.24 401.733 119.49000000000001 412.233]
/Type /Annot
@@ -18388,7 +18661,10 @@ endobj
endobj
187 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [51.24 385.85699999999997 51.24 400.137]
/Type /Annot
@@ -18396,7 +18672,10 @@ endobj
endobj
188 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [51.24 387.453 145.74 397.953]
/Type /Annot
@@ -18404,7 +18683,10 @@ endobj
endobj
189 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [190.807794921875 387.453 259.05779492187503 397.953]
/Type /Annot
@@ -18412,7 +18694,10 @@ endobj
endobj
190 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationsResolver)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationsResolver)
+>>
/Subtype /Link
/Rect [51.24 259.08900000000006 119.49000000000001 269.58900000000006]
/Type /Annot
@@ -18420,7 +18705,10 @@ endobj
endobj
191 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationsResolver)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationsResolver)
+>>
/Subtype /Link
/Rect [51.24 243.21300000000002 51.24 257.49300000000005]
/Type /Annot
@@ -18428,7 +18716,10 @@ endobj
endobj
192 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationsResolver)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationsResolver)
+>>
/Subtype /Link
/Rect [51.24 244.80900000000003 119.49000000000001 255.30900000000003]
/Type /Annot
@@ -18436,7 +18727,10 @@ endobj
endobj
193 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationsResolver)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationsResolver)
+>>
/Subtype /Link
/Rect [51.24 228.93300000000002 51.24 243.21300000000002]
/Type /Annot
@@ -18444,7 +18738,10 @@ endobj
endobj
194 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationsResolver)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationsResolver)
+>>
/Subtype /Link
/Rect [51.24 230.52900000000002 156.24 241.02900000000002]
/Type /Annot
@@ -18452,7 +18749,10 @@ endobj
endobj
195 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [306.885294921875 216.24900000000002 401.385294921875 226.74900000000002]
/Type /Annot
@@ -20173,7 +20473,10 @@ endobj
endobj
198 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UrlEncodingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UrlEncodingService)
+>>
/Subtype /Link
/Rect [51.24 751.1130000000002 119.49000000000001 761.6130000000002]
/Type /Annot
@@ -20181,7 +20484,10 @@ endobj
endobj
199 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UrlEncodingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UrlEncodingService)
+>>
/Subtype /Link
/Rect [51.24 735.2370000000001 51.24 749.5170000000002]
/Type /Annot
@@ -20189,7 +20495,10 @@ endobj
endobj
200 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UrlEncodingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UrlEncodingService)
+>>
/Subtype /Link
/Rect [51.24 736.8330000000001 156.24 747.3330000000001]
/Type /Annot
@@ -20197,7 +20506,10 @@ endobj
endobj
201 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UrlEncodingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UrlEncodingService)
+>>
/Subtype /Link
/Rect [51.24 720.9570000000001 51.24 735.2370000000001]
/Type /Annot
@@ -20205,7 +20517,10 @@ endobj
endobj
202 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UrlEncodingService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UrlEncodingService)
+>>
/Subtype /Link
/Rect [51.24 722.5530000000001 145.74 733.0530000000001]
/Type /Annot
@@ -20213,7 +20528,10 @@ endobj
endobj
203 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserProfileService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserProfileService)
+>>
/Subtype /Link
/Rect [51.24 633.5430000000002 119.49000000000001 644.0430000000002]
/Type /Annot
@@ -20221,7 +20539,10 @@ endobj
endobj
204 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserProfileService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserProfileService)
+>>
/Subtype /Link
/Rect [51.24 617.6670000000003 51.24 631.9470000000002]
/Type /Annot
@@ -20229,7 +20550,10 @@ endobj
endobj
205 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserProfileService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserProfileService)
+>>
/Subtype /Link
/Rect [51.24 619.2630000000001 140.49 629.7630000000001]
/Type /Annot
@@ -20237,7 +20561,10 @@ endobj
endobj
206 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserProfileService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserProfileService)
+>>
/Subtype /Link
/Rect [51.24 603.3870000000002 51.24 617.6670000000003]
/Type /Annot
@@ -20245,7 +20572,10 @@ endobj
endobj
207 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserProfileService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserProfileService)
+>>
/Subtype /Link
/Rect [51.24 604.9830000000002 145.74 615.4830000000002]
/Type /Annot
@@ -20258,7 +20588,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_ContentNegotiationService)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService)
>>
/Subtype /Link
/Rect [415.78999999999996 412.50600000000026 547.04 423.00600000000026]
@@ -20269,7 +20599,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [117.55176231971153 395.1300000000003 228.5268934795673 409.41000000000025]
@@ -20280,7 +20610,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_ContentNegotiationService)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService)
>>
/Subtype /Link
/Rect [67.89600000000002 353.1660000000002 199.14600000000002 363.6660000000002]
@@ -20291,7 +20621,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [125.80666666666667 242.48600000000027 293.8066666666667 252.98600000000027]
@@ -21093,7 +21423,10 @@ endobj
endobj
216 0 obj
<< /Border [0 0 0]
-/Dest (ugvro.adoc)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf)
+>>
/Subtype /Link
/Rect [512.3269999999999 725.52 547.04 739.8000000000001]
/Type /Annot
@@ -21101,7 +21434,10 @@ endobj
endobj
217 0 obj
<< /Border [0 0 0]
-/Dest (ugvro.adoc)
+/A << /Type /Action
+/S /URI
+/URI (../ugvro/ugvro.pdf)
+>>
/Subtype /Link
/Rect [48.239999999999995 709.74 84.822 724.0200000000001]
/Type /Annot
@@ -24018,7 +24354,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgfis.pdf#_rgfis_spi_ContentNegotiationService)
+/URI (../rgfis/rgfis.pdf#_rgfis_spi_ContentNegotiationService)
>>
/Subtype /Link
/Rect [372.6585 327.1959999999998 503.9085 337.6959999999998]
@@ -24032,7 +24368,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf#_ugvw_features_user-registration)
+/URI (../ugvw/ugvw.pdf#_ugvw_features_user-registration)
>>
/Subtype /Link
/Rect [271.0416036931818 257.7399999999998 356.11029953835225 272.01999999999975]
@@ -24043,7 +24379,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [512.3062050781249 257.7399999999998 547.04 272.01999999999975]
@@ -24054,7 +24390,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [48.24 241.95999999999975 82.89000000000001 256.2399999999998]
@@ -24063,7 +24399,10 @@ endobj
endobj
228 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserRegistrationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserRegistrationService)
+>>
/Subtype /Link
/Rect [48.24 199.99599999999975 168.99 210.49599999999975]
/Type /Annot
@@ -24071,7 +24410,10 @@ endobj
endobj
229 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_EmailService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EmailService)
+>>
/Subtype /Link
/Rect [324.02661538461535 65.53599999999975 387.02661538461535 76.03599999999975]
/Type /Annot
@@ -25393,7 +25735,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf#_ugvw_features_user-registration)
+/URI (../ugvw/ugvw.pdf#_ugvw_features_user-registration)
>>
/Subtype /Link
/Rect [332.9880877403846 184.9900000000002 417.14520612980766 199.2700000000002]
@@ -27274,7 +27616,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [165.6885559303977 714.7700000000001 270.83588813920454 729.0500000000002]
@@ -27285,7 +27627,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375 657.0260000000001 439.49670234375003 667.5260000000001]
@@ -27294,7 +27636,10 @@ endobj
endobj
241 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.24 639.6500000000001 111.19800000000001 653.9300000000002]
/Type /Annot
@@ -27305,7 +27650,10 @@ endobj
endobj
243 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_EmailService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EmailService)
+>>
/Subtype /Link
/Rect [393.90721428571425 580.1860000000003 456.90721428571425 590.6860000000003]
/Type /Annot
@@ -27313,7 +27661,10 @@ endobj
endobj
244 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_UserRegistrationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserRegistrationService)
+>>
/Subtype /Link
/Rect [383.09529492187505 536.6260000000004 503.84529492187505 547.1260000000004]
/Type /Annot
@@ -27337,7 +27688,10 @@ endobj
endobj
249 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [286.002 94.36600000000038 359.50199999999995 104.86600000000038]
/Type /Annot
@@ -27345,7 +27699,10 @@ endobj
endobj
250 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_ExceptionRecognizer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_ExceptionRecognizer)
+>>
/Subtype /Link
/Rect [352.23422753906243 72.58600000000038 451.98422753906243 83.08600000000038]
/Type /Annot
@@ -30190,7 +30547,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [304.2952760416666 113.22373056994809 399.00826497395826 127.50373056994809]
@@ -33190,7 +33547,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [242.11268038504465 400.9200000000002 315.8688113839286 415.20000000000016]
@@ -33201,7 +33558,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [471.372663922991 400.9200000000002 547.04 415.20000000000016]
@@ -33212,7 +33569,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [48.239999999999995 385.14000000000016 82.89 399.42000000000013]
@@ -34174,7 +34531,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [141.00706505408652 650.9000000000001 229.70007001201924 665.1800000000002]
@@ -34185,7 +34542,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcfg.pdf#_rgcfg_configuring-core)
+/URI (../rgcfg/rgcfg.pdf#_rgcfg_configuring-core)
>>
/Subtype /Link
/Rect [356.7755288085937 418.2200000000002 547.04 432.50000000000017]
@@ -34199,7 +34556,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [125.80666666666667 166.15600000000015 293.8066666666667 176.65600000000015]
@@ -34210,7 +34567,7 @@ endobj
[272 0 R /XYZ 0 104.25000000000014 null]
endobj
279 0 obj
-<< /Length 34092
+<< /Length 34089
>>
stream
q
@@ -36289,12 +36646,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.579 Tw
+0.854 Tw
BT
48.239999999999995 157.48599999999996 Td
/F1.0 10.5 Tf
-[<73797374656d2e202028546865206672> 20.01953125 <616d65776f726b20616c736f2070726f766964657320>] TJ
+[<73797374656d2e2028546865206672> 20.01953125 <616d65776f726b20616c736f2070726f766964657320>] TJ
ET
@@ -36304,10 +36661,10 @@ ET
0.259 0.545 0.792 scn
0.259 0.545 0.792 SCN
-0.579 Tw
+0.854 Tw
BT
-247.43352268629803 157.48599999999996 Td
+245.5094241536458 157.48599999999996 Td
/F1.0 10.5 Tf
[<5769636b> 20.01953125 <657420766965776572>] TJ
ET
@@ -36319,10 +36676,10 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.579 Tw
+0.854 Tw
BT
-320.11577223557686 157.48599999999996 Td
+318.46654492187497 157.48599999999996 Td
/F1.0 10.5 Tf
<20636f6d706f6e656e74732074686174206172652063617061626c65206f6620696e74657270726574696e67> Tj
ET
@@ -36518,7 +36875,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [64.809 584.456 232.809 594.956]
@@ -36551,7 +36908,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-MemberOrder)
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
>>
/Subtype /Link
/Rect [251.25439999999995 402.65599999999995 314.2543999999999 413.15599999999995]
@@ -36562,7 +36919,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-ActionLayout)
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout)
>>
/Subtype /Link
/Rect [476.16499999999996 317.756 544.415 328.256]
@@ -36573,7 +36930,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-PropertyLayout)
+/URI (../rgant/rgant.pdf#_rgant-PropertyLayout)
>>
/Subtype /Link
/Rect [64.809 301.976 143.559 312.476]
@@ -36584,7 +36941,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-CollectionLayout)
+/URI (../rgant/rgant.pdf#_rgant-CollectionLayout)
>>
/Subtype /Link
/Rect [168.108 301.976 257.358 312.476]
@@ -36595,7 +36952,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-MemberOrder)
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
>>
/Subtype /Link
/Rect [64.809 248.636 127.809 259.13599999999997]
@@ -36607,9 +36964,12 @@ endobj
endobj
290 0 obj
<< /Border [0 0 0]
-/Dest (ugvw.adoc)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf)
+>>
/Subtype /Link
-/Rect [247.43352268629803 154.41999999999996 320.11577223557686 168.69999999999996]
+/Rect [245.5094241536458 154.41999999999996 318.46654492187497 168.69999999999996]
/Type /Annot
>>
endobj
@@ -36625,7 +36985,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [158.73885253906252 61.79999999999997 259.25304915364586 76.07999999999997]
@@ -38267,7 +38627,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375 749.646 439.49670234375003 760.146]
@@ -38276,7 +38636,10 @@ endobj
endobj
297 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.24 732.27 111.19800000000001 746.5500000000001]
/Type /Annot
@@ -38287,7 +38650,10 @@ endobj
endobj
299 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [162.19629492187502 672.8060000000002 219.94629492187502 683.3060000000002]
/Type /Annot
@@ -38303,7 +38669,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#__rgcms_classes_mixins_Object_rebuildMetamodel)
+/URI (../rgcms/rgcms.pdf#__rgcms_classes_mixins_Object_rebuildMetamodel)
>>
/Subtype /Link
/Rect [420.42279492187504 360.51000000000056 484.44129492187506 374.79000000000053]
@@ -38314,7 +38680,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#__rgcms_classes_layout_component)
+/URI (../rgcms/rgcms.pdf#__rgcms_classes_layout_component)
>>
/Subtype /Link
/Rect [208.39191176470587 318.54600000000056 229.39191176470587 329.04600000000056]
@@ -38323,7 +38689,10 @@ endobj
endobj
304 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [337.43336666666653 302.7660000000006 395.18336666666653 313.2660000000006]
/Type /Annot
@@ -38331,7 +38700,10 @@ endobj
endobj
305 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [443.7999666666665 302.7660000000006 533.0499666666665 313.2660000000006]
/Type /Annot
@@ -38347,7 +38719,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [146.66970117187498 72.3700000000005 239.137796875 86.6500000000005]
@@ -40506,7 +40878,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375 792.4559999999999 439.49670234375003 802.9559999999999]
@@ -40515,7 +40887,10 @@ endobj
endobj
312 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.24 775.0799999999999 111.19800000000001 789.36]
/Type /Annot
@@ -40526,7 +40901,10 @@ endobj
endobj
314 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [162.19629492187502 715.6160000000001 219.94629492187502 726.1160000000001]
/Type /Annot
@@ -40537,7 +40915,10 @@ endobj
endobj
316 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [78.71400000000001 604.1960000000003 167.964 614.6960000000003]
/Type /Annot
@@ -40545,7 +40926,10 @@ endobj
endobj
317 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [79.85403846153847 582.4160000000003 169.10403846153847 592.9160000000003]
/Type /Annot
@@ -40558,7 +40942,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#__rgcms_classes_mixins_Object_rebuildMetamodel)
+/URI (../rgcms/rgcms.pdf#__rgcms_classes_mixins_Object_rebuildMetamodel)
>>
/Subtype /Link
/Rect [420.42279492187504 156.56000000000031 484.44129492187506 170.84000000000032]
@@ -40567,7 +40951,10 @@ endobj
endobj
320 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [256.1295 120.59600000000032 345.37950000000006 131.09600000000032]
/Type /Annot
@@ -40577,7 +40964,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#__rgcms_classes_layout_component)
+/URI (../rgcms/rgcms.pdf#__rgcms_classes_layout_component)
>>
/Subtype /Link
/Rect [208.39191176470587 98.81600000000032 229.39191176470587 109.31600000000032]
@@ -40586,7 +40973,10 @@ endobj
endobj
322 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridService)
+>>
/Subtype /Link
/Rect [337.4333666666666 83.03600000000031 395.1833666666666 93.53600000000031]
/Type /Annot
@@ -40594,7 +40984,10 @@ endobj
endobj
323 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [443.79996666666653 83.03600000000031 533.0499666666665 93.53600000000031]
/Type /Annot
@@ -41847,7 +42240,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-MemberOrder)
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
>>
/Subtype /Link
/Rect [251.25439999999995 723.336 314.2543999999999 733.836]
@@ -41858,7 +42251,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-ActionLayout)
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout)
>>
/Subtype /Link
/Rect [476.16499999999996 638.436 544.415 648.936]
@@ -41869,7 +42262,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-PropertyLayout)
+/URI (../rgant/rgant.pdf#_rgant-PropertyLayout)
>>
/Subtype /Link
/Rect [64.809 622.6560000000001 143.559 633.1560000000001]
@@ -41880,7 +42273,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-CollectionLayout)
+/URI (../rgant/rgant.pdf#_rgant-CollectionLayout)
>>
/Subtype /Link
/Rect [168.108 622.6560000000001 257.358 633.1560000000001]
@@ -41891,7 +42284,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-MemberOrder)
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
>>
/Subtype /Link
/Rect [64.809 569.316 127.809 579.816]
@@ -41900,7 +42293,10 @@ endobj
endobj
331 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [404.0190769230769 525.7560000000001 493.2690769230769 536.2560000000001]
/Type /Annot
@@ -41908,7 +42304,10 @@ endobj
endobj
332 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [320.13364285714283 509.976 409.38364285714283 520.476]
/Type /Annot
@@ -41924,7 +42323,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [146.66970117187498 354.7 239.137796875 368.97999999999996]
@@ -41935,7 +42334,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375 312.73599999999993 439.49670234375003 323.23599999999993]
@@ -41944,7 +42343,10 @@ endobj
endobj
337 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.239999999999995 295.35999999999996 111.19800000000001 309.64]
/Type /Annot
@@ -41955,7 +42357,10 @@ endobj
endobj
339 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridLoaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridLoaderService)
+>>
/Subtype /Link
/Rect [135.39 204.33599999999993 224.64 214.83599999999993]
/Type /Annot
@@ -41963,7 +42368,10 @@ endobj
endobj
340 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_GridSystemService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_GridSystemService)
+>>
/Subtype /Link
/Rect [249.18900000000002 204.33599999999993 338.439 214.83599999999993]
/Type /Annot
@@ -41971,7 +42379,10 @@ endobj
endobj
341 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_LayoutService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_LayoutService)
+>>
/Subtype /Link
/Rect [174.0256814903846 176.55599999999993 242.2756814903846 187.05599999999993]
/Type /Annot
@@ -41981,7 +42392,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_mixins_Object)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_mixins_Object)
>>
/Subtype /Link
/Rect [345.3741490478516 160.77599999999993 445.1241490478516 171.27599999999993]
@@ -41995,7 +42406,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [275.57565533088234 75.53999999999992 348.71584466911764 89.81999999999992]
@@ -43904,7 +44315,10 @@ endobj
endobj
348 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_BookmarkService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_BookmarkService)
+>>
/Subtype /Link
/Rect [164.63166666666666 450.7260000000002 243.38166666666663 461.2260000000002]
/Type /Annot
@@ -43920,7 +44334,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [141.86650823102678 192.5500000000003 231.13247530691962 206.8300000000003]
@@ -43931,7 +44345,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375 134.8060000000003 439.49670234375003 145.3060000000003]
@@ -43940,7 +44354,10 @@ endobj
endobj
353 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.239999999999995 117.43000000000029 111.19800000000001 131.7100000000003]
/Type /Annot
@@ -43956,7 +44373,10 @@ endobj
endobj
356 0 obj
<< /Border [0 0 0]
-/Dest (ugvw.adoc)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf)
+>>
/Subtype /Link
/Rect [72.54474438476562 56.3700000000003 147.53278369140625 70.6500000000003]
/Type /Annot
@@ -43966,7 +44386,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#__rgcms_classes_mixins_Object_clearHints)
+/URI (../rgcms/rgcms.pdf#__rgcms_classes_mixins_Object_clearHints)
>>
/Subtype /Link
/Rect [219.5860168457031 56.3700000000003 283.8537612304687 70.6500000000003]
@@ -45144,7 +45564,10 @@ endobj
endobj
361 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [361.885294921875 709.566 456.385294921875 720.066]
/Type /Annot
@@ -45154,7 +45577,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_i18n)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_i18n)
>>
/Subtype /Link
/Rect [490.6812565104167 648.4100000000001 513.5187565104167 662.6900000000002]
@@ -45168,7 +45591,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-RequestScoped)
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
>>
/Subtype /Link
/Rect [348.89700000000005 448.4260000000003 422.39700000000005 458.9260000000003]
@@ -45182,7 +45605,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [73.8975705078125 385.7700000000003 149.9549359375 400.0500000000003]
@@ -45193,7 +45616,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [407.8366666666667 338.2100000000003 516.5011666666667 352.4900000000003]
@@ -45207,7 +45630,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [152.79858203125002 257.37000000000023 249.35259830729166 271.6500000000002]
@@ -45218,7 +45641,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [338.09104101562497 257.37000000000023 414.50269661458333 271.6500000000002]
@@ -45229,7 +45652,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375003 199.62600000000023 439.49670234375003 210.12600000000023]
@@ -45238,7 +45661,10 @@ endobj
endobj
372 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.24000000000001 182.25000000000023 111.19800000000001 196.53000000000023]
/Type /Annot
@@ -45249,7 +45675,10 @@ endobj
endobj
374 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [256.80204545454546 122.7860000000002 351.30204545454546 133.2860000000002]
/Type /Annot
@@ -45257,7 +45686,10 @@ endobj
endobj
375 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationsResolver)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationsResolver)
+>>
/Subtype /Link
/Rect [379.9112272727273 122.7860000000002 484.9112272727273 133.2860000000002]
/Type /Annot
@@ -46683,7 +47115,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-HomePage)
+/URI (../rgant/rgant.pdf#_rgant-HomePage)
>>
/Subtype /Link
/Rect [350.568884765625 570.9360000000001 397.818884765625 581.4360000000001]
@@ -46694,7 +47126,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [295.6212676930147 535.5600000000003 368.21239292279415 549.8400000000003]
@@ -46705,7 +47137,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [472.5376696920956 535.5600000000003 547.04 549.8400000000003]
@@ -46716,7 +47148,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [360.782 442.2560000000003 528.7819999999999 452.7560000000003]
@@ -46731,7 +47163,10 @@ endobj
endobj
385 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_HomePageProviderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_HomePageProviderService)
+>>
/Subtype /Link
/Rect [48.24000000000001 71.23600000000029 168.99 81.73600000000029]
/Type /Annot
@@ -48445,7 +48880,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [356.78556249999997 777.4259999999999 524.7855625 787.9259999999999]
@@ -48454,7 +48889,10 @@ endobj
endobj
389 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [133.62684375 760.05 196.58484375 774.33]
/Type /Annot
@@ -48467,7 +48905,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [144.48242626953123 667.4300000000001 235.49233870442708 681.7100000000002]
@@ -48479,7 +48917,10 @@ endobj
endobj
393 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_HomePageProviderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_HomePageProviderService)
+>>
/Subtype /Link
/Rect [306.07800000000003 576.4060000000002 426.82800000000003 586.9060000000002]
/Type /Annot
@@ -48500,7 +48941,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant_DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant_DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [48.239999999999995 131.62600000000037 216.24 142.12600000000037]
@@ -50039,7 +50480,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [142.06217626953125 669.7600000000002 231.4585887044271 684.0400000000003]
@@ -50053,7 +50494,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_i18n)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_i18n)
>>
/Subtype /Link
/Rect [490.6812565104167 491.22000000000037 513.5187565104167 505.50000000000034]
@@ -51208,7 +51649,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_i18n)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_i18n)
>>
/Subtype /Link
/Rect [271.31208984375 643.6999999999999 334.85808984375 657.98]
@@ -51222,7 +51663,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [142.64492626953125 566.8600000000001 232.42983870442708 581.1400000000002]
@@ -51233,7 +51674,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_decoupling_vetoing-visibility)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_hints-and-tips_vetoing-visibility)
>>
/Subtype /Link
/Rect [129.9195 491.7400000000002 222.8865 506.02000000000015]
@@ -51244,7 +51685,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375 465.55600000000015 439.49670234375003 476.05600000000015]
@@ -51253,7 +51694,10 @@ endobj
endobj
414 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.24 448.18000000000023 111.19800000000001 462.4600000000002]
/Type /Annot
@@ -51267,7 +51711,10 @@ endobj
endobj
417 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [245.46550000000002 311.8760000000001 318.9655 322.3760000000001]
/Type /Annot
@@ -51275,7 +51722,10 @@ endobj
endobj
418 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationsResolver)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationsResolver)
+>>
/Subtype /Link
/Rect [343.79583333333335 311.8760000000001 448.79583333333335 322.3760000000001]
/Type /Annot
@@ -51286,7 +51736,10 @@ endobj
endobj
420 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [361.885294921875 212.4560000000001 456.385294921875 222.9560000000001]
/Type /Annot
@@ -51296,7 +51749,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_i18n)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_i18n)
>>
/Subtype /Link
/Rect [490.6812565104167 151.3000000000001 513.5187565104167 165.5800000000001]
@@ -51307,7 +51760,7 @@ endobj
[407 0 R /XYZ 0 134.5500000000001 null]
endobj
423 0 obj
-<< /Length 18176
+<< /Length 18209
>>
stream
q
@@ -51835,12 +52288,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-24.086 Tw
+3.233 Tw
BT
48.24000000000001 523.5060000000003 Td
/F1.0 10.5 Tf
-[<687265663d227267636d732e706466233c656d3e7267636d735f636c61737365735f4170704d616e69666573742d626f6f74737472> 20.01953125 <617070696e67223e626f6f74737472> 20.01953125 <617020746865206170703c2f613e292c>] TJ
+[<687265663d222e2e2f7267636d732f7267636d732e706466233c656d3e7267636d735f636c61737365735f4170704d616e69666573742d626f6f74737472> 20.01953125 <617070696e67223e626f6f74737472> 20.01953125 <617020746865206170703c2f613e292c>] TJ
ET
@@ -51850,12 +52303,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.989 Tw
+5.523 Tw
BT
48.24000000000001 507.72600000000034 Td
/F1.0 10.5 Tf
-[<5f616e643c2f656d3e207468617420746865203c6120687265663d2275677677> 69.82421875 <2e706466> -80.078125 <223e5769636b> 20.01953125 <6574207669657765723c2f613e206973206265696e6720757365642c207468656e20616e20696d706c656d656e746174696f6e>] TJ
+[<5f616e643c2f656d3e207468617420746865203c6120687265663d222e2e2f756776772f75677677> 69.82421875 <2e706466> -80.078125 <223e5769636b> 20.01953125 <6574207669657765723c2f613e206973206265696e6720757365642c207468656e20616e>] TJ
ET
@@ -51865,12 +52318,12 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.446 Tw
+0.048 Tw
BT
48.24000000000001 491.9460000000003 Td
/F1.0 10.5 Tf
-[<6f66203c636f64653e5472> 20.01953125 <616e736c6174696f6e735265736f6c7665723c2f636f64653e206973206175746f6d61746963616c6c79207265676973746572656420616e6420696e6a65637465642028697420697320616e6e6f74617465642077697468>] TJ
+[<696d706c656d656e746174696f6e206f66203c636f64653e5472> 20.01953125 <616e736c6174696f6e735265736f6c7665723c2f636f64653e206973206175746f6d61746963616c6c79207265676973746572656420616e6420696e6a656374656420286974206973>] TJ
ET
@@ -51883,7 +52336,7 @@ ET
BT
48.24000000000001 476.1660000000003 Td
/F1.0 10.5 Tf
-[<3c636f64653e40446f6d61696e536572766963653c2f636f64653e2920736f206e6f206675727468657220636f6e6669677572> 20.01953125 <6174696f6e2069732072657175697265642e>] TJ
+[<616e6e6f74617465642077697468203c636f64653e40446f6d61696e536572766963653c2f636f64653e2920736f206e6f206675727468657220636f6e6669677572> 20.01953125 <6174696f6e2069732072657175697265642e>] TJ
ET
0.000 0.000 0.000 SCN
@@ -52398,7 +52851,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [70.7475705078125 664.62 143.6549359375 678.9000000000001]
@@ -52409,7 +52862,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [407.8366666666667 617.0600000000001 516.5011666666667 631.3400000000001]
@@ -52423,7 +52876,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375003 446.9160000000003 439.49670234375003 457.4160000000003]
@@ -52432,7 +52885,10 @@ endobj
endobj
430 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.24000000000001 429.54000000000036 111.19800000000001 443.82000000000033]
/Type /Annot
@@ -52443,7 +52899,10 @@ endobj
endobj
432 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_LocaleProvider)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_LocaleProvider)
+>>
/Subtype /Link
/Rect [250.71550000000002 370.07600000000025 324.2155 380.57600000000025]
/Type /Annot
@@ -52451,7 +52910,10 @@ endobj
endobj
433 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_TranslationService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_TranslationService)
+>>
/Subtype /Link
/Rect [350.79583333333335 370.07600000000025 445.29583333333335 380.57600000000025]
/Type /Annot
@@ -52464,7 +52926,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_view-models)
+/URI (../ugfun/ugfun.pdf#_ugfun_building-blocks_types-of-domain-objects_view-models)
>>
/Subtype /Link
/Rect [358.37649172794113 269.06000000000023 417.26036879595586 283.34000000000026]
@@ -52475,7 +52937,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-XmlRootElement)
+/URI (../rgant/rgant.pdf#_rgant-XmlRootElement)
>>
/Subtype /Link
/Rect [93.88650000000001 136.19600000000023 172.6365 146.69600000000023]
@@ -53552,7 +54014,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_menuOrder)
>>
/Subtype /Link
/Rect [271.49670234375003 370.62600000000015 439.49670234375003 381.12600000000015]
@@ -53561,7 +54023,10 @@ endobj
endobj
442 0 obj
<< /Border [0 0 0]
-/Dest (__rgsvc_intro_overriding-the-services)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#__rgsvc_intro_overriding-the-services)
+>>
/Subtype /Link
/Rect [48.24000000000001 353.25000000000017 111.19800000000001 367.53000000000014]
/Type /Annot
@@ -53574,7 +54039,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [384.35446236979163 269.6100000000001 457.08481796875 283.8900000000001]
@@ -55621,7 +56086,10 @@ endobj
endobj
457 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_AcceptHeaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_AcceptHeaderService)
+>>
/Subtype /Link
/Rect [51.24 587.7130000000001 119.49000000000001 598.2130000000001]
/Type /Annot
@@ -55629,7 +56097,10 @@ endobj
endobj
458 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_AcceptHeaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_AcceptHeaderService)
+>>
/Subtype /Link
/Rect [51.24 571.837 51.24 586.1170000000001]
/Type /Annot
@@ -55637,7 +56108,10 @@ endobj
endobj
459 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_AcceptHeaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_AcceptHeaderService)
+>>
/Subtype /Link
/Rect [51.24 573.433 161.49 583.933]
/Type /Annot
@@ -55645,7 +56119,10 @@ endobj
endobj
460 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_AcceptHeaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_AcceptHeaderService)
+>>
/Subtype /Link
/Rect [51.24 557.557 51.24 571.837]
/Type /Annot
@@ -55653,7 +56130,10 @@ endobj
endobj
461 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_AcceptHeaderService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_AcceptHeaderService)
+>>
/Subtype /Link
/Rect [51.24 559.153 150.99 569.653]
/Type /Annot
@@ -55663,7 +56143,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [487.68999999999994 500.43700000000007 522.4029999999999 514.7170000000001]
@@ -55674,7 +56154,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [487.68999999999994 486.15700000000004 524.2719999999999 500.437]
@@ -55685,7 +56165,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [487.68999999999994 471.87700000000007 522.3399999999999 486.15700000000004]
@@ -55694,7 +56174,10 @@ endobj
endobj
465 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ActionInvocationContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ActionInvocationContext)
+>>
/Subtype /Link
/Rect [51.24 450.1930000000001 119.49000000000001 460.6930000000001]
/Type /Annot
@@ -55702,7 +56185,10 @@ endobj
endobj
466 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ActionInvocationContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ActionInvocationContext)
+>>
/Subtype /Link
/Rect [51.24 434.31700000000006 51.24 448.5970000000001]
/Type /Annot
@@ -55710,7 +56196,10 @@ endobj
endobj
467 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ActionInvocationContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ActionInvocationContext)
+>>
/Subtype /Link
/Rect [51.24 435.91300000000007 129.99 446.41300000000007]
/Type /Annot
@@ -55718,7 +56207,10 @@ endobj
endobj
468 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ActionInvocationContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ActionInvocationContext)
+>>
/Subtype /Link
/Rect [51.24 420.03700000000003 51.24 434.31700000000006]
/Type /Annot
@@ -55726,7 +56218,10 @@ endobj
endobj
469 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ActionInvocationContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ActionInvocationContext)
+>>
/Subtype /Link
/Rect [51.24 421.63300000000004 140.49 432.13300000000004]
/Type /Annot
@@ -55734,7 +56229,10 @@ endobj
endobj
470 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ActionInvocationContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ActionInvocationContext)
+>>
/Subtype /Link
/Rect [51.24 405.75700000000006 51.24 420.03700000000003]
/Type /Annot
@@ -55742,7 +56240,10 @@ endobj
endobj
471 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_ActionInvocationContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_ActionInvocationContext)
+>>
/Subtype /Link
/Rect [51.24 407.35300000000007 87.99000000000001 417.85300000000007]
/Type /Annot
@@ -55750,7 +56251,10 @@ endobj
endobj
472 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_BackgroundService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_BackgroundService)
+>>
/Subtype /Link
/Rect [51.24 364.01800000000014 119.49000000000001 374.51800000000014]
/Type /Annot
@@ -55758,7 +56262,10 @@ endobj
endobj
473 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_BackgroundService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_BackgroundService)
+>>
/Subtype /Link
/Rect [51.24 348.1420000000001 51.24 362.42200000000014]
/Type /Annot
@@ -55766,7 +56273,10 @@ endobj
endobj
474 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_BackgroundService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_BackgroundService)
+>>
/Subtype /Link
/Rect [51.24 349.7380000000001 150.99 360.2380000000001]
/Type /Annot
@@ -55774,7 +56284,10 @@ endobj
endobj
475 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_BackgroundService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_BackgroundService)
+>>
/Subtype /Link
/Rect [51.24 333.8620000000001 51.24 348.1420000000001]
/Type /Annot
@@ -55782,7 +56295,10 @@ endobj
endobj
476 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_BackgroundService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_BackgroundService)
+>>
/Subtype /Link
/Rect [51.24 335.4580000000001 140.49 345.9580000000001]
/Type /Annot
@@ -55790,7 +56306,10 @@ endobj
endobj
477 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_BackgroundCommandService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_BackgroundCommandService)
+>>
/Subtype /Link
/Rect [487.68999999999994 335.4580000000001 540.1899999999999 345.9580000000001]
/Type /Annot
@@ -55798,7 +56317,10 @@ endobj
endobj
478 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_BackgroundCommandService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_BackgroundCommandService)
+>>
/Subtype /Link
/Rect [487.68999999999994 324.0130000000001 529.6899999999999 334.5130000000001]
/Type /Annot
@@ -55806,7 +56328,10 @@ endobj
endobj
479 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_BackgroundCommandService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_BackgroundCommandService)
+>>
/Subtype /Link
/Rect [487.68999999999994 312.5680000000001 524.4399999999999 323.0680000000001]
/Type /Annot
@@ -57747,7 +58272,10 @@ endobj
endobj
482 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_CommandContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_CommandContext)
+>>
/Subtype /Link
/Rect [51.24 751.1129999999998 119.49000000000001 761.6129999999998]
/Type /Annot
@@ -57755,7 +58283,10 @@ endobj
endobj
483 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_CommandContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_CommandContext)
+>>
/Subtype /Link
/Rect [51.24 735.237 51.24 749.5169999999999]
/Type /Annot
@@ -57763,7 +58294,10 @@ endobj
endobj
484 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_CommandContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_CommandContext)
+>>
/Subtype /Link
/Rect [51.24 736.833 135.24 747.3329999999999]
/Type /Annot
@@ -57771,7 +58305,10 @@ endobj
endobj
485 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_CommandContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_CommandContext)
+>>
/Subtype /Link
/Rect [51.24 720.9569999999999 51.24 735.2369999999999]
/Type /Annot
@@ -57779,7 +58316,10 @@ endobj
endobj
486 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_CommandContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_CommandContext)
+>>
/Subtype /Link
/Rect [51.24 722.5529999999999 124.74000000000001 733.0529999999999]
/Type /Annot
@@ -57787,7 +58327,10 @@ endobj
endobj
487 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_CommandService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_CommandService)
+>>
/Subtype /Link
/Rect [487.68999999999994 679.713 540.1899999999999 690.213]
/Type /Annot
@@ -57795,7 +58338,10 @@ endobj
endobj
488 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_spi_CommandService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_CommandService)
+>>
/Subtype /Link
/Rect [487.68999999999994 665.4329999999999 508.68999999999994 675.9329999999999]
/Type /Annot
@@ -57803,7 +58349,10 @@ endobj
endobj
489 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [487.68999999999994 568.3079999999999 540.1899999999999 578.8079999999999]
/Type /Annot
@@ -57811,7 +58360,10 @@ endobj
endobj
490 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [487.68999999999994 554.0279999999999 529.6899999999999 564.5279999999999]
/Type /Annot
@@ -57819,7 +58371,10 @@ endobj
endobj
491 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [51.24 459.34800000000007 119.49000000000001 469.84800000000007]
/Type /Annot
@@ -57827,7 +58382,10 @@ endobj
endobj
492 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [51.24 443.47200000000004 51.24 457.75200000000007]
/Type /Annot
@@ -57835,7 +58393,10 @@ endobj
endobj
493 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [51.24 445.06800000000004 124.74000000000001 455.56800000000004]
/Type /Annot
@@ -57843,7 +58404,10 @@ endobj
endobj
494 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [51.24 429.19200000000006 51.24 443.47200000000004]
/Type /Annot
@@ -57851,7 +58415,10 @@ endobj
endobj
495 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_InteractionContext)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_InteractionContext)
+>>
/Subtype /Link
/Rect [51.24 430.788 145.74 441.288]
/Type /Annot
@@ -57859,7 +58426,10 @@ endobj
endobj
496 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_MessageService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_MessageService)
+>>
/Subtype /Link
/Rect [51.24 384.61800000000005 119.49000000000001 395.11800000000005]
/Type /Annot
@@ -57867,7 +58437,10 @@ endobj
endobj
497 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_MessageService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_MessageService)
+>>
/Subtype /Link
/Rect [51.24 368.742 51.24 383.02200000000005]
/Type /Annot
@@ -57875,7 +58448,10 @@ endobj
endobj
498 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_MessageService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_MessageService)
+>>
/Subtype /Link
/Rect [51.24 370.338 135.24 380.838]
/Type /Annot
@@ -57883,7 +58459,10 @@ endobj
endobj
499 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_MessageService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_MessageService)
+>>
/Subtype /Link
/Rect [51.24 354.462 51.24 368.742]
/Type /Annot
@@ -57891,7 +58470,10 @@ endobj
endobj
500 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_MessageService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_MessageService)
+>>
/Subtype /Link
/Rect [51.24 356.058 124.74000000000001 366.558]
/Type /Annot
@@ -57899,7 +58481,10 @@ endobj
endobj
501 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_DomainObjectContainer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_DomainObjectContainer)
+>>
/Subtype /Link
/Rect [487.68999999999994 356.058 540.1899999999999 366.558]
/Type /Annot
@@ -57907,7 +58492,10 @@ endobj
endobj
502 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_DomainObjectContainer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_DomainObjectContainer)
+>>
/Subtype /Link
/Rect [487.68999999999994 344.613 540.1899999999999 355.113]
/Type /Annot
@@ -57915,7 +58503,10 @@ endobj
endobj
503 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_DomainObjectContainer)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_DomainObjectContainer)
+>>
/Subtype /Link
/Rect [487.68999999999994 330.333 492.93999999999994 340.833]
/Type /Annot
@@ -57923,7 +58514,10 @@ endobj
endobj
504 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_SessionManagementService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_SessionManagementService)
+>>
/Subtype /Link
/Rect [51.24 295.60800000000006 119.49000000000001 306.10800000000006]
/Type /Annot
@@ -57931,7 +58525,10 @@ endobj
endobj
505 0 obj
<< /Border [0 0 0]
-/Dest (_rgsvc_api_SessionManagementService)
+/A << /Type /Action
+/S /URI
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_SessionManagementService)
+>>
/Subtype /Link
/Rect [51.24 279.732 51.
<TRUNCATED>
[32/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/cgcom/cgcom.html
----------------------------------------------------------------------
diff --git a/content/guides/cgcom/cgcom.html b/content/guides/cgcom/cgcom.html
index d089e18..cf7e282 100644
--- a/content/guides/cgcom/cgcom.html
+++ b/content/guides/cgcom/cgcom.html
@@ -427,7 +427,114 @@
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_merging-a-pull-request">2. Merging a Pull Request</h2>
+ <h2 id="_cgcom_applying-patches">2. Applying Patches</h2>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_applying-patches.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="sectionbody">
+ <div class="paragraph">
+ <p>If a patch is received on a JIRA ticket, then it should be reviewed and applied. The commands are slightly different for diff files vs patch files.</p>
+ </div>
+ <div class="sect2">
+ <h3 id="_diff_files">2.1. Diff files</h3>
+ <div class="paragraph">
+ <p>If a diff file has been provided, then it can easily be applied using eGit\u2019s wizards (Eclipse\u2019s Git integration)�\u20ac�</p>
+ </div>
+ <div class="admonitionblock note">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
+ <td class="content"> FIXME - this stuff needs fleshing out \u2026\u200b </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="sect2">
+ <h3 id="_patch_files">2.2. Patch files</h3>
+ <div class="paragraph">
+ <p>If a patch file has been provided, then it can be applied using command line tools.</p>
+ </div>
+ <div class="sect3">
+ <h4 id="_inspect_the_patch">2.2.1. Inspect the patch</h4>
+ <div class="paragraph">
+ <p>First, take a look at what changes are in the patch. You can do this easily with <code>git apply</code></p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="bash">git apply --stat ISIS-xxx.patch</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>Note that this command does not apply the patch, but only shows you the stats about what itâ�\u201a��\u201e�ll do. After peeking into the patch file with your favorite editor, you can see what the actual changes are.</p>
+ </div>
+ <div class="paragraph">
+ <p>Next, you\u2019re interested in how troublesome the patch is going to be. Git allows you to test the patch before you actually apply it.</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="bash">git apply --check ISIS-xxx.patch</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>If you don\u2019t get any errors, the patch has no conflicts. Otherwise you may see what trouble youâ�\u201a��\u201e�ll run into.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_apply_a_clean_patch">2.2.2. Apply a (clean) patch</h4>
+ <div class="paragraph">
+ <p>To apply a clean patch (adding the items and commit/signoff in a single step), use <code>git am</code>:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="bash">git am --signoff < ISIS-xxx.patch</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>This preserves the original author\u2019s commit message.</p>
+ </div>
+ <div class="paragraph">
+ <p>However, this can fail if the patch file does not contain the original committers email address. In this case you will need to abort the <code>am</code> session:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="bash">git am abort</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>and continue on by applying a non-clean patch, as described next.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_apply_a_non_clean_patch">2.2.3. Apply a (non-clean) patch</h4>
+ <div class="paragraph">
+ <p>If the patch does not apply cleanly, then the original authors commit message cannot be preserved. This sequence in this case is:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="bash">git apply ISIS-xxx.patch</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>Fix up any issues. The add and commit as usual</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="bash">git add .
+git commit -am "<original authors' commit message>" --signoff</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>The <code>--signoff</code> simply adds a line to the commit message indicating you have signed off the commit.</p>
+ </div>
+ <div class="paragraph">
+ <p>Information adapted from <a href="https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/">this blog post</a> and <a href="http://wiki.eclipse.org/Jetty/Contributor/Contributing_Patches">this wiki page</a>.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="sect1">
+ <h2 id="_cgcom_merging-a-pull-request">3. Merging a Pull Request</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_merging-a-pull-request.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -437,7 +544,7 @@
<p>The script will merge the fork into a temporary branch, and then run a build. Once you are happy, you can commit.</p>
</div>
<div class="sect2">
- <h3 id="_process_and_usage">2.1. Process and Usage</h3>
+ <h3 id="_process_and_usage">3.1. Process and Usage</h3>
<div class="paragraph">
<p>The overall process is as follows:</p>
</div>
@@ -456,7 +563,7 @@
</div>
</div>
<div class="sect2">
- <h3 id="_prerequisites">2.2. Prerequisites</h3>
+ <h3 id="_prerequisites">3.2. Prerequisites</h3>
<div class="paragraph">
<p>The script uses 'jq' to parse JSON. To install:</p>
</div>
@@ -482,7 +589,7 @@
</div>
</div>
<div class="sect2">
- <h3 id="_syntax">2.3. Syntax</h3>
+ <h3 id="_syntax">3.3. Syntax</h3>
<div class="paragraph">
<p>The syntax is:</p>
</div>
@@ -516,7 +623,7 @@
</div>
</div>
<div class="sect2">
- <h3 id="_example_transcript">2.4. Example transcript</h3>
+ <h3 id="_example_transcript">3.4. Example transcript</h3>
<div class="paragraph">
<p>The listing below shows the steps taken by the script:</p>
</div>
@@ -578,7 +685,7 @@ git checkout master && git merge --no-ff ISIS-1162_pr-31 && git
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_cutting-a-release">3. Cutting a Release</h2>
+ <h2 id="_cgcom_cutting-a-release">4. Cutting a Release</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -587,8 +694,8 @@ git checkout master && git merge --no-ff ISIS-1162_pr-31 && git
<div class="ulist">
<ul>
<li> <p>the release manager cutting the release (documented below)</p> </li>
- <li> <p>Members of the Apache Isis PMC <a href="#_cgcom_verifying-releases">verifying</a> and voting on the release</p> </li>
- <li> <p>the release manager performing post-release tasks, for either a <a href="#_cgcom_post-release-successful">successful</a> or an <a href="#_cgcom_post-release-unsuccessful">unsuccessful</a> vote.</p> </li>
+ <li> <p>Members of the Apache Isis PMC <a href="../cgcom/cgcom.html#_cgcom_verifying-releases">verifying</a> and voting on the release</p> </li>
+ <li> <p>the release manager performing post-release tasks, for either a <a href="../cgcom/cgcom.html#_cgcom_post-release-successful">successful</a> or an <a href="../cgcom/cgcom.html#_cgcom_post-release-unsuccessful">unsuccessful</a> vote.</p> </li>
</ul>
</div>
<div class="paragraph">
@@ -601,28 +708,28 @@ git checkout master && git merge --no-ff ISIS-1162_pr-31 && git
</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_verifying-releases">verify a release</a> and how the release manager can then perform <a href="#_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 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>
</div>
<div class="paragraph">
- <p>If you\u2019ve not performed a release before, then note that there are some configuration <a href="#_cgcom_release-process-prereqs">prerequisites</a> that must be configured first. In particular, you\u2019ll need signed public/private keys, and the ASF Nexus staging repo inlocal <code>~/.m2/settings.xml</code> file.</p>
+ <p>If you\u2019ve 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\u2019ll need signed public/private keys, and the ASF Nexus staging repo inlocal <code>~/.m2/settings.xml</code> file.</p>
</div>
<div class="paragraph">
<p>These release notes using bash command line tools. They should work on Linux and MacOS; for Windows, use mSysGit.</p>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_obtain-consensus">3.1. Obtain Consensus</h3>
+ <h3 id="__cgcom_cutting-a-release_obtain-consensus">4.1. Obtain Consensus</h3>
<div class="paragraph">
<p>Before releasing <code>core</code>, ensure there is consensus on the <a href="../support.html">dev mailing list</a> that this is the right time for a release. The discussion should include confirming the version number to be used, and to confirm content.</p>
</div>
<div class="paragraph">
- <p>These discussions should also confirm the version number of the module being released. This should be in line with our <a href="#_cgcom_versioning-policy">semantic versioning policy</a>.</p>
+ <p>These discussions should also confirm the version number of the module being released. This should be in line with our <a href="../cgcom/cgcom.html#_cgcom_versioning-policy">semantic versioning policy</a>.</p>
</div>
<div class="paragraph">
<p>Make sure you have a JIRA ticket open against which to perform all commits. In most cases a JIRA ticket will have been created at the beginning of the previous release cycle.</p>
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_set-environment-variables">3.2. Set environment variables</h3>
+ <h3 id="__cgcom_cutting-a-release_set-environment-variables">4.2. Set environment variables</h3>
<div class="paragraph">
<p>We use environment variables to parameterize as many of the steps as possible. For example:</p>
</div>
@@ -649,7 +756,7 @@ env | grep ISIS | sort</code></pre>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>set to an "umbrella" ticket for all release activities. (One should exist already, <a href="#__cgcom_post-release-successful_update-jira_create-new-jira">created at</a> the beginning of the development cycle now completing).</td>
+ <td>set to an "umbrella" ticket for all release activities. (One should exist already, <a href="../cgcom/cgcom.html#__cgcom_post-release-successful_update-jira_create-new-jira">created at</a> the beginning of the development cycle now completing).</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -659,7 +766,7 @@ env | grep ISIS | sort</code></pre>
</table>
</div>
<div class="paragraph">
- <p>Obviously, alter <code>$ISISDEV</code> and <code>$ISISREL</code> as required, and bump <code>$ISISRC</code> for re-releasing following an <a href="#_cgcom_post-release-unsuccessful">unsuccessful</a> releases.</p>
+ <p>Obviously, alter <code>$ISISDEV</code> and <code>$ISISREL</code> as required, and bump <code>$ISISRC</code> for re-releasing following an <a href="../cgcom/cgcom.html#_cgcom_post-release-unsuccessful">unsuccessful</a> releases.</p>
</div>
<div class="admonitionblock important">
<table>
@@ -679,7 +786,7 @@ env | grep ISIS | sort</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_pull-down-code-to-release">3.3. Pull down code to release</h3>
+ <h3 id="__cgcom_cutting-a-release_pull-down-code-to-release">4.3. Pull down code to release</h3>
<div class="paragraph">
<p>Set the HEAD of your local git repo to the commit to be released. This will usually be the tip of the origin\u2019s <code>master</code> branch. Then, create a release branch for the version number being released; eg:</p>
</div>
@@ -732,7 +839,7 @@ git checkout -b $ISISBRANCH</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_releasing-core">3.4. Releasing Core</h3>
+ <h3 id="__cgcom_cutting-a-release_releasing-core">4.4. Releasing Core</h3>
<div class="paragraph">
<p>First, we release <code>core</code>. Switch to the appropriate directory:</p>
</div>
@@ -742,7 +849,7 @@ git checkout -b $ISISBRANCH</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_set-environment-variables">3.4.1. Set environment variables</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_set-environment-variables">4.4.1. Set environment variables</h4>
<div class="paragraph">
<p>Set additional environment variables for the core "artifact":</p>
</div>
@@ -756,7 +863,7 @@ env | grep ISIS | sort</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_license-headers">3.4.2. License headers</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_license-headers">4.4.2. License headers</h4>
<div class="paragraph">
<p>The Apache Release Audit Tool <code>RAT</code> (from the <a href="http://creadur.apache.org">Apache Creadur</a> project) checks for missing license header files. The parent <code>pom.xml</code> of each releasable module specifies the RAT Maven plugin, with a number of custom exclusions.</p>
</div>
@@ -802,7 +909,7 @@ for a in `find . -name rat.txt -print`; do grep '!???' $a; done</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_missing-license-check">3.4.3. Missing License Check</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_missing-license-check">4.4.3. Missing License Check</h4>
<div class="paragraph">
<p>Although Apache Isis has no dependencies on artifacts with incompatible licenses, the POMs for some of these dependencies (in the Maven central repo) do not necessarily contain the required license information. Without appropriate additional configuration, this would result in the generated <code>DEPENDENCIES</code> file and generated Maven site indicating dependencies as having "unknown" licenses.</p>
</div>
@@ -841,7 +948,7 @@ licenses to remove from supplemental-models.xml (are spurious):
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_commit-changes">3.4.4. Commit changes</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_commit-changes">4.4.4. Commit changes</h4>
<div class="paragraph">
<p>Commit any changes from the preceding steps:</p>
</div>
@@ -852,7 +959,7 @@ licenses to remove from supplemental-models.xml (are spurious):
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_sanity-check">3.4.5. Sanity check</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_sanity-check">4.4.5. Sanity check</h4>
<div class="paragraph">
<p>Perform one last sanity check on the codebase. Delete all Isis artifacts from your local Maven repo, then build using the <code>-o</code> offline flag:</p>
</div>
@@ -864,7 +971,7 @@ mvn clean install -o</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_release-prepare-dry-run">3.4.6. Release prepare "dry run"</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_release-prepare-dry-run">4.4.6. Release prepare "dry run"</h4>
<div class="paragraph">
<p>Most of the work is done using the <code>mvn release:prepare</code> 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.</p>
</div>
@@ -897,7 +1004,7 @@ mvn clean install -o</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_release-prepare-proper">3.4.7. Release prepare "proper"</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_release-prepare-proper">4.4.7. Release prepare "proper"</h4>
<div class="paragraph">
<p>Assuming this completes successfully, re-run the command, but without the <code>dryRun</code> flag and specifying <code>resume=false</code> (to ignore the generated <code>release.properties</code> file that gets generated as a side-effect of using <code>git</code>). You can also set the <code>skipTests</code> flag since they would have been run during the previous dry run:</p>
</div>
@@ -924,7 +1031,7 @@ mvn clean install -o</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_post-prepare-sanity-check">3.4.8. Post-prepare sanity check</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_post-prepare-sanity-check">4.4.8. Post-prepare sanity check</h4>
<div class="paragraph">
<p>You should end up with artifacts in your local repo with the new version (eg <code>1.15.0</code>). This is a good time to do some quick sanity checks; nothing has yet been uploaded:</p>
</div>
@@ -963,7 +1070,7 @@ popd</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-core_release-perform-upload">3.4.9. Release perform (Upload)</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-core_release-perform-upload">4.4.9. Release perform (Upload)</h4>
<div class="paragraph">
<p>Once the release has been built locally, it should be uploaded for voting. This is done by deploying the Maven artifacts to a staging directory (this includes the source release ZIP file which will be voted upon).</p>
</div>
@@ -1014,7 +1121,7 @@ re
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_releasing-the-archetype">3.5. Releasing the Archetype</h3>
+ <h3 id="__cgcom_cutting-a-release_releasing-the-archetype">4.5. Releasing the Archetype</h3>
<div class="paragraph">
<p>Apache Isis archetypes are reverse engineered from example applications. Once reverse engineered, the source is checked into git (replacing any earlier version of the archetype) and released.</p>
</div>
@@ -1043,7 +1150,7 @@ re
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_setup-environment-variables">3.5.1. Setup environment variables</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_setup-environment-variables">4.5.1. Setup environment variables</h4>
<div class="paragraph">
<p>Set additional environment variables for the <code>simpleapp-archetype</code> artifact:</p>
</div>
@@ -1070,7 +1177,7 @@ env | grep ISIS | sort</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_check-the-example-app">3.5.2. Check the example app</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_check-the-example-app">4.5.2. Check the example app</h4>
<div class="paragraph">
<p>Update the parent <code>pom.xml</code> to reference the <em>released</em> version of Apache Isis core, eg:</p>
</div>
@@ -1175,7 +1282,7 @@ docker container run -p 8080:8080 -d test/simpleapp</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_create-the-archetype">3.5.3. Create the archetype</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_create-the-archetype">4.5.3. Create the archetype</h4>
<div class="paragraph">
<p>Make sure you are in the correct directory and environment variables are correct.</p>
</div>
@@ -1201,7 +1308,7 @@ env | grep ISIS | sort</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_release-prepare">3.5.4. Release prepare</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_release-prepare">4.5.4. Release prepare</h4>
<div class="paragraph">
<p>Switch to the <strong>archetype</strong> directory and execute the <code>release:prepare</code>:</p>
</div>
@@ -1217,7 +1324,7 @@ mvn release:prepare -P apache-release \
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_post-prepare-sanity-check">3.5.5. Post-prepare sanity check</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_post-prepare-sanity-check">4.5.5. Post-prepare sanity check</h4>
<div class="paragraph">
<p>This is a good point to test the archetype; nothing has yet been uploaded.</p>
</div>
@@ -1260,7 +1367,7 @@ mvn -pl webapp jetty:run # runs as mvn jetty plugin</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_release-perform-upload">3.5.6. Release Perform (upload)</h4>
+ <h4 id="__cgcom_cutting-a-release_releasing-the-archetype_release-perform-upload">4.5.6. Release Perform (upload)</h4>
<div class="paragraph">
<p>Back in the original session (in the <strong>archetype</strong> directory, <code>example/archetype/$ISISCPN</code>), execute <code>release:perform</code>:</p>
</div>
@@ -1276,7 +1383,7 @@ mvn -pl webapp jetty:run # runs as mvn jetty plugin</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_check-close-staging-repo">3.6. Check/Close Staging Repo</h3>
+ <h3 id="__cgcom_cutting-a-release_check-close-staging-repo">4.6. Check/Close Staging Repo</h3>
<div class="paragraph">
<p>The <code>mvn release:perform</code> commands will have put release artifacts for both <code>core</code> and the <code>simpleapp</code> archetype into a newly created staging repository on the ASF Nexus repository server.</p>
</div>
@@ -1350,7 +1457,7 @@ mvn -pl webapp jetty:run # runs as mvn jetty plugin</code></pre>
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Unfortunately, Nexus does not seem to allow subkeys to be used for signing. See <a href="#_cgcom_key-generation">Key Generation</a> for more details.</p>
+ <p>Unfortunately, Nexus does not seem to allow subkeys to be used for signing. See <a href="../cgcom/cgcom.html#_cgcom_key-generation">Key Generation</a> for more details.</p>
</div> </td>
</tr>
</tbody>
@@ -1358,7 +1465,7 @@ mvn -pl webapp jetty:run # runs as mvn jetty plugin</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_push-branches">3.7. Push branches</h3>
+ <h3 id="__cgcom_cutting-a-release_push-branches">4.7. Push branches</h3>
<div class="paragraph">
<p>Push the release branch to origin:</p>
</div>
@@ -1392,7 +1499,7 @@ git fetch</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_cutting-a-release_voting">3.8. Voting</h3>
+ <h3 id="__cgcom_cutting-a-release_voting">4.8. Voting</h3>
<div class="paragraph">
<p>Once the artifacts have been uploaded, you can call a vote.</p>
</div>
@@ -1400,7 +1507,7 @@ git fetch</code></pre>
<p>In all cases, votes last for 72 hours and require a +3 (binding) vote from members.</p>
</div>
<div class="sect3">
- <h4 id="__cgcom_cutting-a-release_voting-start-voting-thread">3.8.1. Start voting thread on <a href="mailto:dev@isis.apache.org">dev@isis.apache.org</a></h4>
+ <h4 id="__cgcom_cutting-a-release_voting-start-voting-thread">4.8.1. Start voting thread on <a href="mailto:dev@isis.apache.org">dev@isis.apache.org</a></h4>
<div class="paragraph">
<p>The following boilerplate is for a release of the Apache Isis Core. Adapt as required:</p>
</div>
@@ -1451,14 +1558,14 @@ Please verify the release and cast your vote. The vote will be open for a minim
</ul>
</div>
<div class="paragraph">
- <p>Note that the email also references the procedure for other committers to <a href="#_cgcom_verifying-releases">verify the release</a>.</p>
+ <p>Note that the email also references the procedure for other committers to <a href="../cgcom/cgcom.html#_cgcom_verifying-releases">verify the release</a>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_verifying-releases">4. Verifying a Release</h2>
+ <h2 id="_cgcom_verifying-releases">5. Verifying a Release</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -1466,18 +1573,18 @@ Please verify the release and cast your vote. The vote will be open for a minim
</div>
<div class="ulist">
<ul>
- <li> <p>the release manager <a href="#_cgcom_cutting-a-release">cutting the release</a></p> </li>
+ <li> <p>the release manager <a href="../cgcom/cgcom.html#_cgcom_cutting-a-release">cutting the release</a></p> </li>
<li> <p>members of the Apache Isis PMC verifying and voting on the release (documented below)</p> </li>
- <li> <p>the release manager performing post-release tasks, for either a <a href="#_cgcom_post-release-successful">successful</a> or an <a href="#_cgcom_post-release-unsuccessful">unsuccessful</a> vote.</p> </li>
+ <li> <p>the release manager performing post-release tasks, for either a <a href="../cgcom/cgcom.html#_cgcom_post-release-successful">successful</a> or an <a href="../cgcom/cgcom.html#_cgcom_post-release-unsuccessful">unsuccessful</a> vote.</p> </li>
</ul>
</div>
<div class="paragraph">
<p>This section describes some guidance on what a voter (members of the Apache Isis PMC and anyone else who wishes) is expected to do before casting their vote in order to verify a release.</p>
</div>
<div class="sect2">
- <h3 id="_background">4.1. Background</h3>
+ <h3 id="_background">5.1. Background</h3>
<div class="paragraph">
- <p>Whenever a release manager announces a vote on a release (as per the <a href="#_cgcom_release-process">release process</a>) on the <a href="../support.html">dev mailing list</a>, it is the responsibility of the project\u2019s PMC to cast their vote on the release. Anyone else can also vote, but only members of the Apache Isis PMC\u2019s vote are binding.</p>
+ <p>Whenever a release manager announces a vote on a release (as per the <a href="../cgcom/cgcom.html#_cgcom_release-process">release process</a>) on the <a href="../support.html">dev mailing list</a>, it is the responsibility of the project\u2019s PMC to cast their vote on the release. Anyone else can also vote, but only members of the Apache Isis PMC\u2019s vote are binding.</p>
</div>
<div class="paragraph">
<p>Per this <a href="http://www.apache.org/dev/release.html">ASF documentation</a>, the legal requirements for an ASF release are:</p>
@@ -1494,7 +1601,7 @@ Please verify the release and cast your vote. The vote will be open for a minim
</div>
</div>
<div class="sect2">
- <h3 id="_prerequisites_2">4.2. Prerequisites</h3>
+ <h3 id="_prerequisites_2">5.2. Prerequisites</h3>
<div class="paragraph">
<p>To verify the source ZIP files, you will need to have imported the public keys used for signing Apache Isis releases. These can be downloaded from the root of the Apache Isis source tree.</p>
</div>
@@ -1517,12 +1624,12 @@ gpg --import /tmp/KEYS</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_verifying_source_artifacts">4.3. Verifying source artifacts</h3>
+ <h3 id="_verifying_source_artifacts">5.3. Verifying source artifacts</h3>
<div class="paragraph">
- <p>You can either verify the source artifacts <a href="#<em>cgcom_verifying-releases_manual-procedure">manuall</a>, or use a script that <a href="#</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">manuall</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">4.3.1. Manual procedure</h4>
+ <h4 id="__cgcom_verifying-releases_manual-procedure">5.3.1. Manual procedure</h4>
<div class="paragraph">
<p>The following section describes the steps to perform to manually verify a release.</p>
</div>
@@ -1568,7 +1675,7 @@ gpg --import /tmp/KEYS</code></pre>
<div class="sect4">
<h5 id="_verifying_binary_artifacts">Verifying binary artifacts</h5>
<div class="paragraph">
- <p>You can verify the binary releases by configuring your local Maven install to point to the Maven staging repository (or repositories) and then using them, eg to run the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype1</a> and running the resultant app.</p>
+ <p>You can verify the binary releases by configuring your local Maven install to point to the Maven staging repository (or repositories) and then using them, eg to run the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype1</a> and running the resultant app.</p>
</div>
<div class="paragraph">
<p>Configuring your local Maven install amounts to updating the <code>~/.m2/settings.xml</code> file:</p>
@@ -1610,7 +1717,7 @@ gpg --import /tmp/KEYS</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_verifying-releases_automated-procedure">4.3.2. Automated procedure</h4>
+ <h4 id="__cgcom_verifying-releases_automated-procedure">5.3.2. Automated procedure</h4>
<div class="paragraph">
<p>To save some time in verifying an Apache Isis release we\u2019ve assembled a script to automate the process. The script is tested on Mac OSX and Linux. Windows users can use Cygwin or <a href="http://msysgit.github.io/">msysgit</a>.</p>
</div>
@@ -1635,7 +1742,7 @@ cd ~/verify-isis-release</code></pre>
# -Create an empty directory
# -Put a .txt file in it containing a list of all the urls of the zip files
# -Run this script
-# TODO: enhance this script so it will stop when something is broken
+# FIXME: enhance this script so it will stop when something is broken
_download(){
for fil in `cat *.txt`
do
@@ -1737,12 +1844,12 @@ https://repository.apache.org/content/repositories/orgapacheisis-065/org/apache/
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_verifying-releases_creadur">4.4. (Optional) Creadur Tools</h3>
+ <h3 id="__cgcom_verifying-releases_creadur">5.4. (Optional) Creadur Tools</h3>
<div class="paragraph">
<p>The <a href="http://creadur.apache.org">Apache Creadur</a> project exists to provide a set of tools to ensure compliance with Apache\u2019s licensing standards.</p>
</div>
<div class="paragraph">
- <p>The main release auditing tool, <a href="http://creadur.apache.org/rat">Apache RAT</a> is used in the <a href="#_cgcom_cutting-a-release">release process</a>.</p>
+ <p>The main release auditing tool, <a href="http://creadur.apache.org/rat">Apache RAT</a> is used in the <a href="../cgcom/cgcom.html#_cgcom_cutting-a-release">release process</a>.</p>
</div>
<div class="paragraph">
<p>Creadur\u2019s remaining tools - <a href="http://creadur.apache.org/tentacles/">Tentacles</a> and <a href="http://creadur.apache.org/whisker/">Whisker</a> - are to support the verification process.</p>
@@ -1764,7 +1871,7 @@ https://repository.apache.org/content/repositories/orgapacheisis-065/org/apache/
</div>
</div>
<div class="sect2">
- <h3 id="_test_the_archetype">4.5. Test the archetype</h3>
+ <h3 id="_test_the_archetype">5.5. Test the archetype</h3>
<div class="paragraph">
<p>Assuming that everything builds ok, then test the archetypes (adjust version as necessary):</p>
</div>
@@ -1787,11 +1894,11 @@ mvn jetty:run</code></pre>
</div>
</div>
<div class="paragraph">
- <p>Adjust the version as necessary. If it runs up ok, then it\u2019s time to <a href="#_cgcom_verifying-releases">vote</a>!</p>
+ <p>Adjust the version as necessary. If it runs up ok, then it\u2019s time to <a href="../cgcom/cgcom.html#_cgcom_verifying-releases">vote</a>!</p>
</div>
</div>
<div class="sect2">
- <h3 id="_casting_a_vote">4.6. Casting a Vote</h3>
+ <h3 id="_casting_a_vote">5.6. Casting a Vote</h3>
<div class="paragraph">
<p>When you have made the above checks (and any other checks you think may be relevant), cast your vote by replying to the email thread on the mailing list.</p>
</div>
@@ -1802,7 +1909,7 @@ mvn jetty:run</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_post-release-successful">5. Post Release (Successful)</h2>
+ <h2 id="_cgcom_post-release-successful">6. Post Release (Successful)</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -1810,9 +1917,9 @@ mvn jetty:run</code></pre>
</div>
<div class="ulist">
<ul>
- <li> <p>the release manager <a href="#_cgcom_cutting-a-release">cutting the release</a></p> </li>
- <li> <p>members of the Apache Isis PMC <a href="#_cgcom_verifying-releases">verifying</a> and voting on the release</p> </li>
- <li> <p>the release manager performing post-release tasks, for either a successful or an <a href="#_cgcom_post-release-unsuccessful">unsuccessful</a> vote (former documented below)</p> </li>
+ <li> <p>the release manager <a href="../cgcom/cgcom.html#_cgcom_cutting-a-release">cutting the release</a></p> </li>
+ <li> <p>members of the Apache Isis PMC <a href="../cgcom/cgcom.html#_cgcom_verifying-releases">verifying</a> and voting on the release</p> </li>
+ <li> <p>the release manager performing post-release tasks, for either a successful or an <a href="../cgcom/cgcom.html#_cgcom_post-release-unsuccessful">unsuccessful</a> vote (former documented below)</p> </li>
</ul>
</div>
<div class="paragraph">
@@ -1822,7 +1929,7 @@ mvn jetty:run</code></pre>
<p>This section describes the steps to perform if the vote has been successful.</p>
</div>
<div class="sect2">
- <h3 id="_inform_dev_ml">5.1. Inform dev ML</h3>
+ <h3 id="_inform_dev_ml">6.1. Inform dev ML</h3>
<div class="paragraph">
<p>Post the results to the <code>dev@isis.a.o</code> mailing list:</p>
</div>
@@ -1849,7 +1956,7 @@ The vote is SUCCESSFUL.</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_update_tags">5.2. Update tags</h3>
+ <h3 id="_update_tags">6.2. Update tags</h3>
<div class="paragraph">
<p>Replace the <code>-RCn</code> tag with another without the qualifier.</p>
</div>
@@ -1870,7 +1977,7 @@ sh scripts/promoterctag.sh simpleapp-archetype-1.14.0 RC1</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_release_to_maven_central">5.3. Release to Maven Central</h3>
+ <h3 id="_release_to_maven_central">6.3. Release to Maven Central</h3>
<div class="paragraph">
<p>From the <a href="http://repository.apache.org">ASF Nexus repository</a>, select the staging repository and select 'release' from the top menu.</p>
</div>
@@ -1884,7 +1991,7 @@ sh scripts/promoterctag.sh simpleapp-archetype-1.14.0 RC1</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_release_source_zip">5.4. Release Source Zip</h3>
+ <h3 id="_release_source_zip">6.4. Release Source Zip</h3>
<div class="paragraph">
<p>As described in the <a href="http://www.apache.org/dev/release-publishing.html#distribution_dist">Apache documentation</a>, each Apache TLP has a <code>release/TLP-name</code> directory in the distribution Subversion repository at <a href="https://dist.apache.org/repos/dist">https://dist.apache.org/repos/dist</a>. Once a release vote passes, the release manager should <code>svn add</code> the artifacts (plus signature and hash files) into this location. The release is then automatically pushed to <a href="http://www.apache.org/dist/">http://www.apache.org/dist/</a> by <code>svnpubsub</code>. Only the most recent release of each supported release line should be contained here, old versions should be deleted.</p>
</div>
@@ -1996,9 +2103,9 @@ popd</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_update_jira">5.5. Update JIRA</h3>
+ <h3 id="_update_jira">6.5. Update JIRA</h3>
<div class="sect3">
- <h4 id="_generate_release_notes">5.5.1. Generate Release Notes</h4>
+ <h4 id="_generate_release_notes">6.5.1. Generate Release Notes</h4>
<div class="paragraph">
<p>From the root directory, generate the release notes for the current release, in Asciidoc format; eg:</p>
</div>
@@ -2009,13 +2116,13 @@ popd</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_close_tickets">5.5.2. Close tickets</h4>
+ <h4 id="_close_tickets">6.5.2. Close tickets</h4>
<div class="paragraph">
<p>Close all JIRA tickets for the release, or moved to future releases if not yet addressed. Any tickets that were partially implemented should be closed, and new tickets created for the functionality on the ticket not yet implemented.</p>
</div>
</div>
<div class="sect3">
- <h4 id="_mark_the_version_as_released">5.5.3. Mark the version as released</h4>
+ <h4 id="_mark_the_version_as_released">6.5.3. Mark the version as released</h4>
<div class="paragraph">
<p>In JIRA, go to the <a href="https://issues.apache.org/jira/plugins/servlet/project-config/ISIS/versions">administration section</a> for the Apache Isis project and update the version as being released.</p>
</div>
@@ -2024,20 +2131,20 @@ popd</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_create_new_jira">5.5.4. Create new JIRA</h4>
+ <h4 id="_create_new_jira">6.5.4. Create new JIRA</h4>
<div class="paragraph">
<p>Create a new JIRA ticket as a catch-all for the <em>next</em> release.</p>
</div>
</div>
<div class="sect3">
- <h4 id="_update_the_asf_reporter_website">5.5.5. Update the ASF Reporter website</h4>
+ <h4 id="_update_the_asf_reporter_website">6.5.5. Update the ASF Reporter website</h4>
<div class="paragraph">
<p>Log the new release in the <a href="https://reporter.apache.org/addrelease.html?isis">ASF Reporter website</a>.</p>
</div>
</div>
</div>
<div class="sect2">
- <h3 id="_update_website">5.6. Update website</h3>
+ <h3 id="_update_website">6.6. Update website</h3>
<div class="paragraph">
<p>Update the Apache Isis (asciidoc) website:</p>
</div>
@@ -2063,7 +2170,7 @@ popd</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_announce_the_release">5.7. Announce the release</h3>
+ <h3 id="_announce_the_release">6.7. Announce the release</h3>
<div class="paragraph">
<p>Announce the release to <a href="mailto:users@isis.apache.org">users mailing list</a>.</p>
</div>
@@ -2102,13 +2209,13 @@ Enjoy!
</div>
</div>
<div class="sect2">
- <h3 id="_blog_post">5.8. Blog post</h3>
+ <h3 id="_blog_post">6.8. Blog post</h3>
<div class="paragraph">
<p><a href="https://blogs.apache.org/roller-ui/login.rol">Log onto</a> the <a href="http://blogs.apache.org/isis/">Apache blog</a> and create a new post. Copy-n-paste the above mailing list announcement should suffice.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_merge_in_release_branch">5.9. Merge in release branch</h3>
+ <h3 id="_merge_in_release_branch">6.9. Merge in release branch</h3>
<div class="paragraph">
<p>Because we release from a branch, the changes made in the branch (changes to <code>pom.xml</code> made by the <code>maven-release-plugin</code>, or any manual edits) should be merged back from the release branch back into the <code>master</code> branch:</p>
</div>
@@ -2126,7 +2233,7 @@ git branch -d release-1.14.0-RC1 # branch no longer needed</code></
</div>
</div>
<div class="sect2">
- <h3 id="_update_dependencies">5.10. Update dependencies</h3>
+ <h3 id="_update_dependencies">6.10. Update dependencies</h3>
<div class="paragraph">
<p>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).</p>
</div>
@@ -2134,7 +2241,7 @@ git branch -d release-1.14.0-RC1 # branch no longer needed</code></
<p>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).</p>
</div>
<div class="sect3">
- <h4 id="_update_parent_of_core">5.10.1. Update parent of Core</h4>
+ <h4 id="_update_parent_of_core">6.10.1. Update parent of Core</h4>
<div class="paragraph">
<p>Check (via <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache%22%20a%3A%22apache%22">search.maven.org</a>) whether there is a newer version of the Apache parent <code>org.apache:apache</code>.</p>
</div>
@@ -2156,7 +2263,7 @@ git branch -d release-1.14.0-RC1 # branch no longer needed</code></
</div>
</div>
<div class="sect3">
- <h4 id="_update_plugin_versions">5.10.2. Update plugin versions</h4>
+ <h4 id="_update_plugin_versions">6.10.2. Update plugin versions</h4>
<div class="paragraph">
<p>The <code>maven-versions-plugin</code> should be used to determine if there are newer versions of any of the plugins used to build Apache Isis. Since this goes off to the internet, it may take a minute or two to run:</p>
</div>
@@ -2171,7 +2278,7 @@ grep "\->" /tmp/foo | /bin/sort -u</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_update_dependency_versions">5.10.3. Update dependency versions</h4>
+ <h4 id="_update_dependency_versions">6.10.3. Update dependency versions</h4>
<div class="paragraph">
<p>The <code>maven-versions-plugin</code> should be used to determine if there are newer versions of any of Isis' dependencies. Since this goes off to the internet, it may take a minute or two to run:</p>
</div>
@@ -2207,13 +2314,13 @@ grep "\->" /tmp/foo | /bin/sort -u</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_code_formatting">5.11. Code formatting</h3>
+ <h3 id="_code_formatting">6.11. Code formatting</h3>
<div class="paragraph">
<p>This is also a good time to make source code has been cleaned up and formatted according to the Apache Isis and ASF conventions. Use <a href="resources/Apache-code-style-formatting.xml">this</a> Eclipse template and <a href="resources/isis.importorder">this</a> import order.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_push_changes">5.12. Push changes</h3>
+ <h3 id="_push_changes">6.12. Push changes</h3>
<div class="paragraph">
<p>Finally, push the changes up to origin:</p>
</div>
@@ -2225,7 +2332,7 @@ git push</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__cgcom_post-release-successful_release-non-asf-modules">5.13. Release (non-ASF) Modules</h3>
+ <h3 id="__cgcom_post-release-successful_release-non-asf-modules">6.13. Release (non-ASF) Modules</h3>
<div class="paragraph">
<p>There are two libraries of modules, both non-ASF but open source, that should be released.</p>
</div>
@@ -2239,7 +2346,7 @@ git push</code></pre>
<p>These each use a common parent, <code>org.incode:incode-parent</code>. This must be released first, then both set of modules afterwards.</p>
</div>
<div class="sect3">
- <h4 id="__cgcom_post-release-successful_release-non-asf-modules_prereqs">5.13.1. Prereqs</h4>
+ <h4 id="__cgcom_post-release-successful_release-non-asf-modules_prereqs">6.13.1. Prereqs</h4>
<div class="paragraph">
<p>Save this <a href="https://gist.github.com/danhaywood/e80daf6d25f5c1fb1093effba85d088a">gist</a> as <code>last_modified.sh</code> in an appropriate parent directory of both sets of repos.</p>
</div>
@@ -2248,7 +2355,7 @@ git push</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_post-release-successful_release-non-asf-modules_incode-parent">5.13.2. Release <code>incode-parent</code></h4>
+ <h4 id="__cgcom_post-release-successful_release-non-asf-modules_incode-parent">6.13.2. Release <code>incode-parent</code></h4>
<div class="paragraph">
<p>The <code>org.incode:incode-parent</code> Maven module is used as a parent for both sets of modules:</p>
</div>
@@ -2283,7 +2390,7 @@ git push</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_post-release-successful_release-non-asf-modules_incode-mavendeps">5.13.3. Release <code>incode-mavendeps</code></h4>
+ <h4 id="__cgcom_post-release-successful_release-non-asf-modules_incode-mavendeps">6.13.3. Release <code>incode-mavendeps</code></h4>
<div class="paragraph">
<p>The three <code>org.incode:mavendeps-isisXXX</code> module should be released next.</p>
</div>
@@ -2324,7 +2431,7 @@ git push</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_post-release-successful_release-non-asf-modules_isisaddons">5.13.4. Release Isis Addons</h4>
+ <h4 id="__cgcom_post-release-successful_release-non-asf-modules_isisaddons">6.13.4. Release Isis Addons</h4>
<div class="paragraph">
<p>Once the Apache Isis release is available, all of the (non-ASF) <a href="http://isisaddons.org">Isis Addons</a> should also be released.</p>
</div>
@@ -2383,7 +2490,7 @@ git push</code></pre>
<pre class="CodeRay highlight"><code data-lang="bash">foreach -g isisaddons/isis-[mw] sh release.sh "1.14.0" "1.15.0-SNAPSHOT" "dan@haywood-associates.co.uk" \"this is not really my password\"</code></pre>
</div>
</div> </li>
- <li> <p>In the parent directory where the <code>last_modified.sh</code> script has been saved (see <a href="#__cgcom_post-release-successful_release-non-asf-modules_prereqs">above</a>), use to check that all modules were released successfully:<br></p>
+ <li> <p>In the parent directory where the <code>last_modified.sh</code> script has been saved (see <a href="../cgcom/cgcom.html#__cgcom_post-release-successful_release-non-asf-modules_prereqs">above</a>), use to check that all modules were released successfully:<br></p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">foreach -g isisaddons/isis-[mw] sh ../../last-modified.sh 1.14.0</code></pre>
@@ -2412,7 +2519,7 @@ git push</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__cgcom_post-release-successful_release-non-asf-modules_incode-catalog">5.13.5. Release Incode Catalog Modules</h4>
+ <h4 id="__cgcom_post-release-successful_release-non-asf-modules_incode-catalog">6.13.5. Release Incode Catalog Modules</h4>
<div class="paragraph">
<p>Similarly, all of the (non-ASF) <a href="http://catalog.incode.org">Incode Catalog</a> modules should also be released.</p>
</div>
@@ -2467,7 +2574,7 @@ git push</code></pre>
<td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
<td class="content">
<div class="paragraph">
- <p>See <a href="#__cgcom_post-release-successful_release-non-asf-modules_incode-catalog_cross-module-dependencies">below</a> for a list of the dependencies to update.</p>
+ <p>See <a href="../cgcom/cgcom.html#__cgcom_post-release-successful_release-non-asf-modules_incode-catalog_cross-module-dependencies">below</a> for a list of the dependencies to update.</p>
</div> </td>
</tr>
</tbody>
@@ -2480,7 +2587,7 @@ git push</code></pre>
<pre class="CodeRay highlight"><code data-lang="bash">foreach -g incodehq/incode-module-[a-w] sh release.sh "1.14.0" "1.15.0-SNAPSHOT" "dan@haywood-associates.co.uk" \"this is not really my password\"</code></pre>
</div>
</div> </li>
- <li> <p>In the parent directory where the <code>last_modified.sh</code> script has been saved (see <a href="#__cgcom_post-release-successful_release-non-asf-modules_prereqs">above</a>), use to check that all modules were released successfully:<br></p>
+ <li> <p>In the parent directory where the <code>last_modified.sh</code> script has been saved (see <a href="../cgcom/cgcom.html#__cgcom_post-release-successful_release-non-asf-modules_prereqs">above</a>), use to check that all modules were released successfully:<br></p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">foreach -g incodehq/incode-module-[a-w] sh ../../last-modified.sh 1.14.0</code></pre>
@@ -2537,7 +2644,7 @@ git push</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_post-release-unsuccessful">6. Post Release (Unsuccessful)</h2>
+ <h2 id="_cgcom_post-release-unsuccessful">7. Post Release (Unsuccessful)</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-unsuccessful.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -2545,9 +2652,9 @@ git push</code></pre>
</div>
<div class="ulist">
<ul>
- <li> <p>the release manager <a href="#_cgcom_cutting-a-release">cutting the release</a></p> </li>
- <li> <p>members of the Apache Isis PMC <a href="#_cgcom_verifying-releases">verifying</a> and voting on the release</p> </li>
- <li> <p>the release manager performing post-release tasks, for either a <a href="#_cgcom_post-release-successful">successful</a> or an unsuccessful vote (latter documented below).</p> </li>
+ <li> <p>the release manager <a href="../cgcom/cgcom.html#_cgcom_cutting-a-release">cutting the release</a></p> </li>
+ <li> <p>members of the Apache Isis PMC <a href="../cgcom/cgcom.html#_cgcom_verifying-releases">verifying</a> and voting on the release</p> </li>
+ <li> <p>the release manager performing post-release tasks, for either a <a href="../cgcom/cgcom.html#_cgcom_post-release-successful">successful</a> or an unsuccessful vote (latter documented below).</p> </li>
</ul>
</div>
<div class="paragraph">
@@ -2557,7 +2664,7 @@ git push</code></pre>
<p>Note that a release manager may also decide to cancel a vote before 72 hours has elapsed (for example if an error is quickly discovered).</p>
</div>
<div class="sect2">
- <h3 id="_inform_dev_ml_2">6.1. Inform dev ML</h3>
+ <h3 id="_inform_dev_ml_2">7.1. Inform dev ML</h3>
<div class="paragraph">
<p>Post the results to the <code>dev@isis.a.o</code> mailing list.</p>
</div>
@@ -2587,7 +2694,7 @@ The vote is UNSUCCESSFUL.</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_tidy_up_branches">6.2. Tidy up branches</h3>
+ <h3 id="_tidy_up_branches">7.2. Tidy up branches</h3>
<div class="paragraph">
<p>Tidy up remote branches in the git repo:</p>
</div>
@@ -2619,7 +2726,7 @@ git tag -d simpleapp-archetype-1.14.0-RC1</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_tidy_up_the_nexus_repo">6.3. Tidy up the Nexus repo</h3>
+ <h3 id="_tidy_up_the_nexus_repo">7.3. Tidy up the Nexus repo</h3>
<div class="paragraph">
<p>Drop staging repositories:</p>
</div>
@@ -2630,7 +2737,7 @@ git tag -d simpleapp-archetype-1.14.0-RC1</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_reset">6.4. Reset</h3>
+ <h3 id="_reset">7.4. Reset</h3>
<div class="paragraph">
<p>Finally, rewind the release branch to prior to the previous release candidate, and continue from there.</p>
</div>
@@ -2638,7 +2745,7 @@ git tag -d simpleapp-archetype-1.14.0-RC1</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_release-process-for-snapshots">7. Snapshot Releases</h2>
+ <h2 id="_cgcom_release-process-for-snapshots">8. Snapshot Releases</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-snapshots.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -2658,7 +2765,7 @@ git tag -d simpleapp-archetype-1.14.0-RC1</code></pre>
</table>
</div>
<div class="sect2">
- <h3 id="_prerequisites_3">7.1. Prerequisites</h3>
+ <h3 id="_prerequisites_3">8.1. Prerequisites</h3>
<div class="paragraph">
<p>Before you start, make sure you\u2019ve defined the snapshots repo in your local <code>~/.m2/settings.xml</code> file:</p>
</div>
@@ -2686,7 +2793,7 @@ git tag -d simpleapp-archetype-1.14.0-RC1</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_sanity_check">7.2. Sanity Check</h3>
+ <h3 id="_sanity_check">8.2. Sanity Check</h3>
<div class="paragraph">
<p>Before deploying the snapshot, perform a quick sanity check.</p>
</div>
@@ -2712,7 +2819,7 @@ mvn clean install -o</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_deploy">7.3. Deploy</h3>
+ <h3 id="_deploy">8.3. Deploy</h3>
<div class="paragraph">
<p>Deploy the framework using:</p>
</div>
@@ -2745,14 +2852,14 @@ mvn -D deploy=snapshot deploy</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_release-process-for-interim-releases">8. Interim Releases</h2>
+ <h2 id="_cgcom_release-process-for-interim-releases">9. Interim Releases</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
<p>The intent of an "interim" release is to allow a developer team to release their application based on a <code>-SNAPSHOT</code> version of the framework. Since <code>-SNAPSHOT</code> changes on a day-to-day basis, the idea is to tag a particular revision and to release this, thereby providing stability/traceability for the application being developed.</p>
</div>
<div class="paragraph">
- <p>Whereas <a href="#<em>cgcom_cutting-a-release.adoc">formal release</a>s and <a href="#_cgcom_relesae-process-for-snapshots.adoc">snapshot release</a>s are public (released through the Maven repository maintained by Apache Software Foundation), interim releases are non-public and rely on infrastructure provided by a developer team. The tagged release resides _not in the <a href="../downloads.adoc#_downloads_source_code">official Apache Isis git repository</a>, but instead in a fork/clone maintained by the developer team.</p>
+ <p>Whereas <a href="../cgcom/cgcom.html#<em>cgcom_cutting-a-release.adoc">formal release</a>s and <a href="../cgcom/cgcom.html#_cgcom_relesae-process-for-snapshots.adoc">snapshot release</a>s are public (released through the Maven repository maintained by Apache Software Foundation), interim releases are non-public and rely on infrastructure provided by a developer team. The tagged release resides _not in the <a href="../downloads.adoc#_downloads_source_code">official Apache Isis git repository</a>, but instead in a fork/clone maintained by the developer team.</p>
</div>
<div class="admonitionblock note">
<table>
@@ -2768,7 +2875,7 @@ mvn -D deploy=snapshot deploy</code></pre>
</table>
</div>
<div class="sect2">
- <h3 id="_prerequisites_4">8.1. Prerequisites</h3>
+ <h3 id="_prerequisites_4">9.1. Prerequisites</h3>
<div class="paragraph">
<p>Create a remote fork/clone of the Apache Isis repository (eg using <a href="http://github.com">github</a> or <a href="http://bitbucket.org">bitbucket</a> or similar), and ensure that your local fork specifies this remote.</p>
</div>
@@ -2788,13 +2895,13 @@ mvn -D deploy=snapshot deploy</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_sanity_check_2">8.2. Sanity Check</h3>
+ <h3 id="_sanity_check_2">9.2. Sanity Check</h3>
<div class="paragraph">
<p>Ensure that the framework builds ok using the same command that your CI server is set up to execute (see section above).</p>
</div>
</div>
<div class="sect2">
- <h3 id="_release">8.3. Release</h3>
+ <h3 id="_release">9.3. Release</h3>
<div class="paragraph">
<p>Deploy the framework using:</p>
</div>
@@ -2821,7 +2928,7 @@ mvn -D deploy=snapshot deploy</code></pre>
<p>As noted in the prereqs (above), the CI server configured should then detect the new branch (or tag, if you prefer), build the framework (skipping application and architecture, as in the prerequisites) and then publish the resultant artifacts to a private Maven repo.</p>
</div>
<div class="sect3">
- <h4 id="_implementation_details">8.3.1. Implementation details</h4>
+ <h4 id="_implementation_details">9.3.1. Implementation details</h4>
<div class="paragraph">
<p>The script itself:</p>
</div>
@@ -2855,7 +2962,7 @@ mvn -D deploy=snapshot deploy</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_publishing-the-docs">9. Publishing the Docs</h2>
+ <h2 id="_cgcom_publishing-the-docs">10. Publishing the Docs</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_publishing-the-docs.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -2865,13 +2972,13 @@ mvn -D deploy=snapshot deploy</code></pre>
<p>The website and guides are created by running build tools (documented below) which create the HTML version of the site and guides. You can therefore easily check the documentation before raising a pull request (as a contributor) or publishing the site (if a committer).</p>
</div>
<div class="paragraph">
- <p>For details of authoring/updating the documents and website, see the <a href="dg.html#_dg_asciidoc">developers' guide</a>. To help write the Asciidoc text itself, we provide some <a href="dg.html#_dg_asciidoc-templates">Asciidoc templates</a>.</p>
+ <p>For details of authoring/updating the documents and website, see the <a href="../dg/dg.html#_dg_asciidoc">developers' guide</a>. To help write the Asciidoc text itself, we provide some <a href="../dg/dg.html#_dg_asciidoc-templates">Asciidoc templates</a>.</p>
</div>
<div class="paragraph">
<p>Publishing is performed by copying the generated HTML to a different git repository (<a href="https://git-wip-us.apache.org/repos/asf?p=isis-site.git">isis-site</a>). This is synced by ASF infrastructure over to <a href="http://isis.apache.org">isis.apache.org</a>. This can only be done by Apache Isis committers, and is discussed below.</p>
</div>
<div class="sect2">
- <h3 id="_one_time_setup">9.1. One-time setup</h3>
+ <h3 id="_one_time_setup">10.1. One-time setup</h3>
<div class="paragraph">
<p>The generated site is published by copying into the <code>content/</code> directory of the <a href="https://git-wip-us.apache.org/repos/asf/isis-site.git">isis-site git repo</a>. You therefore need to check this out this repo.</p>
</div>
@@ -2903,7 +3010,7 @@ mvn -D deploy=snapshot deploy</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_publishing_full_build">9.2. Publishing (full build)</h3>
+ <h3 id="_publishing_full_build">10.2. Publishing (full build)</h3>
<div class="paragraph">
<p>Back in the <code>adocs/documentation</code> directory of the main <code>isis-git.repo</code>, to copy the generated documents to the <code>isis-site.git</code> repo, run:</p>
</div>
@@ -2955,7 +3062,7 @@ mvn -D deploy=snapshot deploy</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_publishing_partial_build">9.3. Publishing (partial build)</h3>
+ <h3 id="_publishing_partial_build">10.3. Publishing (partial build)</h3>
<div class="paragraph">
<p>If none of the guides have been changed, and if you have run the full rebuild recently, then you can skip the generation of PDFs using:</p>
</div>
@@ -2971,7 +3078,7 @@ mvn -D deploy=snapshot deploy</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_key-generation">10. Key Generation</h2>
+ <h2 id="_cgcom_key-generation">11. Key Generation</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_key-generation.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -2981,7 +3088,7 @@ mvn -D deploy=snapshot deploy</code></pre>
<p>For further background information on this topic, see the <a href="http://www.apache.org/dev/release-signing.html">release signing page</a> and the <a href="http://www.apache.org/dev/openpgp.html#generate-key">openpgp page</a> on the Apache wiki.</p>
</div>
<div class="sect2">
- <h3 id="_install_and_configure_gpg">10.1. Install and Configure gpg</h3>
+ <h3 id="_install_and_configure_gpg">11.1. Install and Configure gpg</h3>
<div class="paragraph">
<p>Download and install GnuPG (gpg), version 1.4.10 or higher.</p>
</div>
@@ -2997,7 +3104,7 @@ default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB
</div>
</div>
<div class="sect2">
- <h3 id="_key_generation">10.2. Key Generation</h3>
+ <h3 id="_key_generation">11.2. Key Generation</h3>
<div class="paragraph">
<p>The Apache Software Foundation requires that keys are signed with a key (or subkey) based on RSA 4096 bits. To do this:</p>
</div>
@@ -3167,7 +3274,7 @@ gpg></code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_subkey_generation">10.3. Subkey Generation</h3>
+ <h3 id="_subkey_generation">11.3. Subkey Generation</h3>
<div class="paragraph">
<p>It\u2019s recommended to use a subkey with an expiry date to sign releases, rather than your main, non-expiring key. If a subkey is present, then gpg will use it for signing in preference to the main key.</p>
</div>
@@ -3278,7 +3385,7 @@ gpg></code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_generate_a_revocation_certificate">10.4. Generate a Revocation Certificate</h3>
+ <h3 id="_generate_a_revocation_certificate">11.4. Generate a Revocation Certificate</h3>
<div class="paragraph">
<p>It\u2019s good practice to generate a number of revocation certificates so that the key can be revoked if it happens to be compromised. See the <a href="http://www.apache.org/dev/openpgp.html#revocation-certs">gpg page</a> on the Apache wiki for more background on this topic.</p>
</div>
@@ -3381,7 +3488,7 @@ your machine might store the data and make it available to others!</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_publish_key">10.5. Publish Key</h3>
+ <h3 id="_publish_key">11.5. Publish Key</h3>
<div class="paragraph">
<p>It is also necessary to publish your key. There are several places where this should be done. In most cases, you\u2019ll need the "armored" " (ie ASCII) representation of your key. This can be generated using:</p>
</div>
@@ -3405,7 +3512,7 @@ your machine might store the data and make it available to others!</code></pre>
<p>The output from this command includes a line beginning "Key fingerprint", followed by a (space delimited) 40 character hexadecimal fingerprint. The last 8 characters should be the same as the key id (<code>nnnnnnnn</code>).</p>
</div>
<div class="sect3">
- <h4 id="_publish_to_a_public_key_server">10.5.1. Publish to a public key server</h4>
+ <h4 id="_publish_to_a_public_key_server">11.5.1. Publish to a public key server</h4>
<div class="paragraph">
<p>To a publish your key to a public key server (eg the MIT key server hosted at <a href="http://pgp.mit.edu">http://pgp.mit.edu</a>), use the procedure below. Public key servers synchronize with each other, so publishing to one key server should be sufficient. For background reading on this, see the <a href="http://www.apache.org/dev/release-signing.html#keyserver-upload">release signing page</a> on the Apache wiki, and the <a href="http://maven.apache.org/developers/release/pmc-gpg-keys.html">gpg key page</a> on the Maven wiki.</p>
</div>
@@ -3434,13 +3541,13 @@ your machine might store the data and make it available to others!</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_publish_to_your_apache_home_directory">10.5.2. Publish to your Apache home directory</h4>
+ <h4 id="_publish_to_your_apache_home_directory">11.5.2. Publish to your Apache home directory</h4>
<div class="paragraph">
<p>The armored representation of your public key should be uploaded to your home directory on <code>people.apache.org</code>, and renamed as <code>.pgpkey</code>. Make sure this is readable by all.</p>
</div>
</div>
<div class="sect3">
- <h4 id="_publish_to_your_apache_html_home_directory">10.5.3. Publish to your Apache HTML home directory</h4>
+ <h4 id="_publish_to_your_apache_html_home_directory">11.5.3. Publish to your Apache HTML home directory</h4>
<div class="paragraph">
<p>The armored representation of your public key should be uploaded to your <code>public_html</code> home directory on <code>people.apache.org</code>, named <code>nnnnnnnn.asc</code>. Make sure this is readable by all.</p>
</div>
@@ -3461,7 +3568,7 @@ your machine might store the data and make it available to others!</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_foaf">10.5.4. FOAF</h4>
+ <h4 id="_foaf">11.5.4. FOAF</h4>
<div class="paragraph">
<p>First, check out the committers/info directory:</p>
</div>
@@ -3547,7 +3654,7 @@ your machine might store the data and make it available to others!</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_save_to_code_keys_code">10.5.5. Save to <code>KEYS</code></h4>
+ <h4 id="_save_to_code_keys_code">11.5.5. Save to <code>KEYS</code></h4>
<div class="paragraph">
<p>The armored representation of the public key should be saved to Apache Isis' <code>KEYS</code> file, <a href="http://www.apache.org/dist/isis/KEYS">http://www.apache.org/dist/isis/KEYS</a> (that is, in the ASF distribution directory for Apache Isis).</p>
</div>
@@ -3576,20 +3683,20 @@ gpg --armor --export nnnnnnnn >>KEYS</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_id_apache_org">10.5.6. id.apache.org</h4>
+ <h4 id="_id_apache_org">11.5.6. id.apache.org</h4>
<div class="paragraph">
<p>Log onto <code>id.apache.org</code> and ensure that the finger print of your public key is correct.</p>
</div>
</div>
</div>
<div class="sect2">
- <h3 id="_attend_key_signing_party_apache_web_of_trust">10.6. Attend Key Signing Party (Apache web of trust)</h3>
+ <h3 id="_attend_key_signing_party_apache_web_of_trust">11.6. Attend Key Signing Party (Apache web of trust)</h3>
<div class="paragraph">
<p>It is strongly advised that the contributor attend a key signing party at an Apache event, in order that other Apache committers/members can in person verify their identity against the key. The process for this is described <a href="http://www.apache.org/dev/release-signing.html#key-signing-party">here</a> and <a href="http://wiki.apache.org/apachecon/PgpKeySigning">here</a>.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_update_maven_settings_file_code_m2_settings_xml_code">10.7. Update Maven Settings file (<code>~/.m2/settings.xml</code>)</h3>
+ <h3 id="_update_maven_settings_file_code_m2_settings_xml_code">11.7. Update Maven Settings file (<code>~/.m2/settings.xml</code>)</h3>
<div class="paragraph">
<p>The Maven release plugin will automatically sign the release, however it is necessary to update the <code>~/.m2/settings.xml</code> file with your GPG acronym passphrase in order that it can use your secret key. This is defined under a profile so that it is activated only when we perform a release (as defined by <code>[org,apache:apache]</code> parent POM.</p>
</div>
@@ -3633,22 +3740,22 @@ gpg --armor --export nnnnnnnn >>KEYS</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_release-process-prereqs">11. Appendix: Release Prereqs</h2>
+ <h2 id="_cgcom_release-process-prereqs">12. Appendix: Release Prereqs</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-prereqs.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
- <p>This section (appendix) describes the prerequisites for the <a href="#_cgcom_release-process">release process</a>.</p>
+ <p>This section (appendix) describes the prerequisites for the <a href="../cgcom/cgcom.html#_cgcom_release-process">release process</a>.</p>
</div>
<div class="sect2">
- <h3 id="_configure_toolchains_plugin">11.1. Configure toolchains plugin</h3>
+ <h3 id="_configure_toolchains_plugin">12.1. Configure toolchains plugin</h3>
<div class="paragraph">
- <p>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 <a href="#__dg_building-isis_configure-maven-toolchains-plugin">contributors' guide</a>.</p>
+ <p>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 <a href="../dg/dg.html#__dg_building-isis_configure-maven-toolchains-plugin">contributors' guide</a>.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_public_private_key">11.2. Public/private key</h3>
+ <h3 id="_public_private_key">12.2. Public/private key</h3>
<div class="paragraph">
- <p>The most important configuration you require is to set up public/private key pair. This is used by the <code>maven-release-plugin</code> to sign the code artifacts. See the page on <a href="#_cgcom_key-generation">key generation</a> for more details.</p>
+ <p>The most important configuration you require is to set up public/private key pair. This is used by the <code>maven-release-plugin</code> to sign the code artifacts. See the page on <a href="../cgcom/cgcom.html#_cgcom_key-generation">key generation</a> for more details.</p>
</div>
<div class="paragraph">
<p>In order to prepare the release, you\u2019ll (need to) have a <code>~/.gnupg</code> directory with the relevant files (<code>gpg.conf</code>, <code>pubring.gpg</code>, <code>secring.gpg</code> etc), and have <code>gpg</code> on your operating system PATH.</p>
@@ -3674,7 +3781,7 @@ gpg --armor --export nnnnnnnn >>KEYS</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_maven_code_settings_xml_code">11.3. Maven <code>settings.xml</code></h3>
+ <h3 id="_maven_code_settings_xml_code">12.3. Maven <code>settings.xml</code></h3>
<div class="paragraph">
<p>During the release process the <code>maven-deploy-plugin</code> uploads the generated artifacts to a staging repo on the <a href="http://repository.apache.org">Apache repository manager</a>. This requires your Apache LDAP credentials to be specified in your <code>~/.m2/settings.xml</code> file:</p>
</div>
@@ -3735,16 +3842,16 @@ gpg --armor --export nnnnnnnn >>KEYS</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_policies">12. Policies</h2>
+ <h2 id="_cgcom_policies">13. Policies</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_policies.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
<p>This chapter pulls together various policy documents relating to the development of Apache Isis'.</p>
</div>
<div class="sect2">
- <h3 id="_cgcom_versioning-policy">12.1. Versioning Policy</h3>
+ <h3 id="_cgcom_versioning-policy">13.1. Versioning Policy</h3>
<div class="sect3">
- <h4 id="_semantic_versioning">12.1.1. Semantic Versioning</h4>
+ <h4 id="_semantic_versioning">13.1.1. Semantic Versioning</h4>
<div class="paragraph">
<p>Starting from v1.0.0, Apache Isis has adopted <a href="http://semver.org">semantic versioning</a> for its versioning policy.</p>
</div>
@@ -3763,7 +3870,7 @@ gpg --armor --export nnnnnnnn >>KEYS</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_version_ranges">12.1.2. Version ranges</h4>
+ <h4 id="_version_ranges">13.1.2. Version ranges</h4>
<div class="paragraph">
<p>Version ranges may not be used. If necessary, end-users can use <code><dependencyManagement</code> elements to have combine components built against different versions of core.</p>
</div>
@@ -3776,7 +3883,7 @@ gpg --armor --export nnnnnnnn >>KEYS</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_cgcom_policies_git-policy">12.2. Git Policy</h3>
+ <h3 id="_cgcom_policies_git-policy">13.2. Git Policy</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_policies_git-policy.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>These notes recommend how contributors should work with git. To understand these notes, the only real concepts that you need to grok are:</p>
@@ -3802,7 +3909,7 @@ gpg --armor --export nnnnnnnn >>KEYS</code></pre>
<p>And, of course, there is loads of good advice on <a href="http://stackoverflow.com/questions/tagged/git">stackoverflow.com</a></p>
</div>
<div class="sect3">
- <h4 id="_workflow">12.2.1. Workflow</h4>
+ <h4 id="_workflow">13.2.1. Workflow</h4>
<div class="paragraph">
<p>There are many ways of using Git, but the Apache Isis committers have adopted the following workflow:</p>
</div>
@@ -3854,7 +3961,7 @@ git push origin --delete ISIS-999</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_commit_message">12.2.2. Commit message</h4>
+ <h4 id="_commit_message">13.2.2. Commit message</h4>
<div class="paragraph">
<p>The minimum we expect in a commit messages is:</p>
</div>
@@ -3871,14 +3978,14 @@ git push origin --delete ISIS-999</code></pre>
<p>where <code>ISIS-nnn</code> is a ticket raised in our <a href="https://issues.apache.org/jira/browse/ISIS">JIRA issue tracker</a>.</p>
</div>
<div class="paragraph">
- <p>For non-committers we typically expect more detail again; see the <a href="dg.html#_dg_contributing">contributing</a> page for the longer format recommended for contributors to use.</p>
+ <p>For non-committers we typically expect more detail again; see the <a href="../dg/dg.html#_dg_contributing">contributing</a> page for the longer format recommended for contributors to use.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
- <h2 id="_cgcom_pmc-notes">13. Appendix: PMC</h2>
+ <h2 id="_cgcom_pmc-notes">14. Appendix: PMC</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_pmc-notes.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -3891,7 +3998,7 @@ git push origin --delete ISIS-999</code></pre>
<p>This page contains some general notes on maintenance activities required by PMC members.</p>
</div>
<div class="sect2">
- <h3 id="_prereqs">13.1. Prereqs</h3>
+ <h3 id="_prereqs">14.1. Prereqs</h3>
<div class="paragraph">
<p>To complete the procedures documented here, you\u2019ll need <code>ssh</code> access to <code>minotaur.apache.org</code>. For example:</p>
</div>
@@ -3918,7 +4025,7 @@ git push origin --delete ISIS-999</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_new_committer_pmc_member">13.2. New Committer/PMC member</h3>
+ <h3 id="_new_committer_pmc_member">14.2. New Committer/PMC member</h3>
<div class="paragraph">
<p>Currently we don\u2019t distinguish between committers and PMC members: every committer is automatically invited to also be a member of the PMC.</p>
</div>
@@ -3926,7 +4033,7 @@ git push origin --delete ISIS-999</code></pre>
<p>Further notes on the steps for new PMC members can be found <a href="http://www.apache.org/dev/pmc.html#newpmc">here</a>.</p>
</div>
<div class="sect3">
- <h4 id="_start_a_vote_thread_on_private">13.2.1. Start a vote thread on private@</h4>
+ <h4 id="_start_a_vote_thread_on_private">14.2.1. Start a vote thread on private@</h4>
<div class="paragraph">
<p>First, send a [VOTE] email to <code>private@isis.apache.org</code>, making the case for the new committer to join.</p>
</div>
@@ -3980,7 +4087,7 @@ http://www.timeanddate.com/countdown/to?year=YYYY&month=MM&day=DD</code>
</div>
</div>
<div class="sect3">
- <h4 id="_close_the_vote_announce_results">13.2.2. Close the vote, announce results</h4>
+ <h4 id="_close_the_vote_announce_results">14.2.2. Close the vote, announce results</h4>
<div class="paragraph">
<p>After the 7 days has expired, close the vote thread.</p>
</div>
@@ -4040,7 +4147,7 @@ I'll announce to users@ and dev@ by separate thread.</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_icla_obtain_new_account">13.2.3. ICLA, obtain new account</h4>
+ <h4 id="_icla_obtain_new_account">14.2.3. ICLA, obtain new account</h4>
<div class="paragraph">
<p>If required (that is, if the committer is not already a committer fo
<TRUNCATED>
[07/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvro/ugvro.html
----------------------------------------------------------------------
diff --git a/content/guides/ugvro/ugvro.html b/content/guides/ugvro/ugvro.html
index 1416f49..f80c52c 100644
--- a/content/guides/ugvro/ugvro.html
+++ b/content/guides/ugvro/ugvro.html
@@ -627,7 +627,7 @@
</div>
</div>
<div class="paragraph">
- <p>The server will use the <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> to attempt to transform the domain object into the requested <code>x-ro-domain-type</code>. The whole process is discussed in more detail in the <a href="#_ugvro_architecture">architecture</a> chapter.</p>
+ <p>The server will use the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> to attempt to transform the domain object into the requested <code>x-ro-domain-type</code>. The whole process is discussed in more detail in the <a href="../ugvro/ugvro.html#_ugvro_architecture">architecture</a> chapter.</p>
</div>
</div>
<div class="sect4">
@@ -636,14 +636,14 @@
<p>The representations defined by the RO spec are very rich and enable complex client-side applications to be built. However, their sophistication can be an impediment to their use if one wishes to write a simple app using third-party components that expect to consume much simpler representations. Examples of such tools are <a href="http://angular-ui.github.io/bootstrap/">Angular Bootstrap</a>, <a href="http://vitalets.github.io/angular-xeditable/">Angular XEditable</a>, <a href="https://github.com/mgcrea/angular-strap">Angular Strap</a>.</p>
</div>
<div class="paragraph">
- <p>This support is discussed further in the <a href="#_ugvro_simplified-representations">simplified representations</a> chapter.</p>
+ <p>This support is discussed further in the <a href="../ugvro/ugvro.html#_ugvro_simplified-representations">simplified representations</a> chapter.</p>
</div>
</div>
</div>
<div class="sect3">
<h4 id="___ugvro_ro-spec_extensions_minimizing-round-trips">2.4.2. Minimizing Round-trips (34.4)</h4>
<div class="paragraph">
- <p>The Restful Objects viewer supports the <code>x-ro-follow-links</code> query parameter in a way very similar to that suggested in the RO spec, the main point being to avoid the "N+1" problem of too many (slow) network calls. For example, using this feature one can load a grid of data in a single call. (That said, the <a href="#_ugvro_simplified-representations">simplified representations</a> supported by Restful Objects viewer also support this use case, albeit in way that deviates from the RO spec).</p>
+ <p>The Restful Objects viewer supports the <code>x-ro-follow-links</code> query parameter in a way very similar to that suggested in the RO spec, the main point being to avoid the "N+1" problem of too many (slow) network calls. For example, using this feature one can load a grid of data in a single call. (That said, the <a href="../ugvro/ugvro.html#_ugvro_simplified-representations">simplified representations</a> supported by Restful Objects viewer also support this use case, albeit in way that deviates from the RO spec).</p>
</div>
<div class="paragraph">
<p>This <a href="https://www.youtube.com/watch?v=hSKnqqBQ7Zo">screencast</a> demonstrates the Restful Object viewer\u2019s support for <code>x-ro-follow-links</code> parameter, using the (non-ASF) <a href="http://github.com/isisaddons/isis-app-kitchensink">Isis addons' kitchensink</a> app as the example, This app contains three entities, <code>Grandparent</code>, <code>Parent</code> and <code>Child</code> that define a hierarchy of 1:m relationships.</p>
@@ -705,7 +705,7 @@
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_architecture.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
- <p>The <a href="#">RestfulObjects viewer</a> implements the <a href="http://restfulobjects.org">Restful Object spec</a>, meaning that it defines a well-defined set of endpoint URLs as resources, and generates a well-defined set of (JSON) representations when these resources are accessed.</p>
+ <p>The <a href="../ugvro/ugvro.html">RestfulObjects viewer</a> implements the <a href="http://restfulobjects.org">Restful Object spec</a>, meaning that it defines a well-defined set of endpoint URLs as resources, and generates a well-defined set of (JSON) representations when these resources are accessed.</p>
</div>
<div class="paragraph">
<p>By default, the Restful Objects viewer will automatically handle requests and return representations according to the RO spec. However, its internal architecture provides several hooks for content negotiation, thereby allowing the generated representation to be influenced using the standard HTTP <code>Accept</code> header. In response, the server uses the <code>Content-Type</code> header which the client can use to know how to process the returned representation.</p>
@@ -714,21 +714,21 @@
<ul>
<li> <p><code>RepresentationService</code><br></p>
<div class="paragraph">
- <p>The <a href="rgfis.html#_rgfis_spi_RepresentationService"><code>RepresentationService</code></a> is an SPI domain service (plugin-point) that allows an arbitrary representation to be generated for any of the resources defined in the RO spec.<br></p>
+ <p>The <a href="../rgfis/rgfis.html#_rgfis_spi_RepresentationService"><code>RepresentationService</code></a> is an SPI domain service (plugin-point) that allows an arbitrary representation to be generated for any of the resources defined in the RO spec.<br></p>
</div>
<div class="paragraph">
<p>Normally this SPI service need not be replaced, because the default implementation (<code>RepresentationServiceContentNegotiator</code>) simply uses the HTTP <code>Accept</code> header and delegates onto another service, the (slightly misnamed) <code>ContentNegotiationService</code>, to actually generate the representation. There can be multiple implementations of the <code>ContentNegotiationService</code> and the content negotiator will delegate to each in turn until one is able to handle the request (per the chain of responsibliity pattern).</p>
</div> </li>
<li> <p><code>ContentNegotiationService</code><br></p>
<div class="paragraph">
- <p>As noted above, there can be multiple implementations of the <a href="rgfis.html#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>, each one handling a particular HTTP <code>Accept</code> header. If the implementation does not recognize the value of the header, if can simply return <code>null</code>.<br></p>
+ <p>As noted above, there can be multiple implementations of the <a href="../rgfis/rgfis.html#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>, each one handling a particular HTTP <code>Accept</code> header. If the implementation does not recognize the value of the header, if can simply return <code>null</code>.<br></p>
</div>
<div class="paragraph">
- <p>The framework provides a number of implementations; an implementation that handles the <a href="#_ugvro_simplified-representations">simplified representation</a> of the Apache Isis profile; an implementation that provides support for the <code>x-ro-domain-type</code> parameter, and a default/fallback implementation that returns the representations defined by the RO spec.</p>
+ <p>The framework provides a number of implementations; an implementation that handles the <a href="../ugvro/ugvro.html#_ugvro_simplified-representations">simplified representation</a> of the Apache Isis profile; an implementation that provides support for the <code>x-ro-domain-type</code> parameter, and a default/fallback implementation that returns the representations defined by the RO spec.</p>
</div> </li>
<li> <p><code>ContentMappingService</code><br></p>
<div class="paragraph">
- <p>The <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> is used by the implementation of <code>ContentNegotationService</code> that recognizes the <code>x-ro-domain-type</code>, its role being to transform a domain object (usually an entity) into some other form (usually a DTO), as specified by the <code>x-ro-domain-type</code> parameter. There can be many such implementations, each handling a different target domain type.</p>
+ <p>The <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> is used by the implementation of <code>ContentNegotationService</code> that recognizes the <code>x-ro-domain-type</code>, its role being to transform a domain object (usually an entity) into some other form (usually a DTO), as specified by the <code>x-ro-domain-type</code> parameter. There can be many such implementations, each handling a different target domain type.</p>
</div> </li>
</ul>
</div>
@@ -753,10 +753,11 @@
<p>The representations defined by the RO spec are very rich and enable complex client-side applications to be built. However, their sophistication can be an impediment to their use if one wishes to write a simple app using third-party components that expect to consume much simpler representations. Examples of such tools are <a href="http://angular-ui.github.io/bootstrap/">Angular Bootstrap</a>, <a href="http://vitalets.github.io/angular-xeditable/">Angular XEditable</a>, <a href="https://github.com/mgcrea/angular-strap">Angular Strap</a>.</p>
</div>
<div class="paragraph">
- <p>As of <code>1.11.0</code>, Apache Isis provides support for its own simplified representation for the most commonly-used representations. This is implemented using the <code>ContentNegotiationService</code> described in the <a href="#_ugvro_architecture">architecture</a> chapter.</p>
+ <p>As of <code>1.11.0</code>, Apache Isis provides support for its own simplified representation for the most commonly-used representations. This is implemented using the <code>ContentNegotiationService</code> described in the <a href="../ugvro/ugvro.html#_ugvro_architecture">architecture</a> chapter.</p>
</div>
<div class="sect2">
- <h3 id="__ugvro_simplified-representations_apache-isis-profile">4.1. The Apache Isis "Profile"</h3>
+ <h3 id="_ugvro_simplified-representations_apache-isis-profile">4.1. The Apache Isis "Profile"</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_apache-isis-profile.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>The RO spec uses the standard <code>Accept</code> header for content negotiation, and defines its own "profile" for the standard representations; these take the form:</p>
</div>
@@ -787,7 +788,8 @@
</div>
</div>
<div class="sect2">
- <h3 id="__ugvro_simplified-representations_domain-object">4.2. Domain Object</h3>
+ <h3 id="_ugvro_simplified-representations_domain-object">4.2. Domain Object</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_domain-object.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>If a domain object resource (section 14) is accessed with the Apache Isis profile, the resultant representation is a JSON object with simple key/value pairs for each property.</p>
</div>
@@ -898,7 +900,8 @@
</div>
</div>
<div class="sect2">
- <h3 id="__ugvro_simplified-representations_object-collection">4.3. Domain Object Collection</h3>
+ <h3 id="_ugvro_simplified-representations_object-collection">4.3. Domain Object Collection</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_object-collection.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>If a domain object collection (section 17) is accessed with this profile, then the resultant representation is as an array of elements of key/value for each referenced object, and again each element the containing the key/value pairs of the properties of that object (a grid, again).<br></p>
</div>
@@ -1000,14 +1003,15 @@
</div>
</div>
<div class="sect2">
- <h3 id="__ugvro_simplified-representations_action-invocation">4.4. Action Invocation</h3>
+ <h3 id="_ugvro_simplified-representations_action-invocation">4.4. Action Invocation</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_action-invocation.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>When an action is invoked, it can return a domain object, a list, a scalar, or return nothing.</p>
</div>
<div class="sect3">
<h4 id="_returning_an_object">4.4.1. Returning an Object</h4>
<div class="paragraph">
- <p>If the action returned an object, then the domain object representation described <a href="#__ugvro_simplified-representations_domain-object">above</a> is returned.</p>
+ <p>If the action returned an object, then the domain object representation described <a href="../ugvro/ugvro.html#__ugvro_simplified-representations_domain-object">above</a> is returned.</p>
</div>
<div class="paragraph">
<p>For example, using the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>, accessing this resource:</p>
@@ -1060,7 +1064,7 @@
<div class="sect3">
<h4 id="_returning_a_list">4.4.2. Returning a List</h4>
<div class="paragraph">
- <p>On the other hand if the action returned a list (a "standalone" collection, then an array representation is returned. This is very similar to that returned by a <a href="#__ugvro_simplified-representations_object-collection">(parented) object collection</a>, though with a slightly different <code>Content-Type</code> to distinguish.</p>
+ <p>On the other hand if the action returned a list (a "standalone" collection, then an array representation is returned. This is very similar to that returned by a <a href="../ugvro/ugvro.html#__ugvro_simplified-representations_object-collection">(parented) object collection</a>, though with a slightly different <code>Content-Type</code> to distinguish.</p>
</div>
<div class="paragraph">
<p>For example, using the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>, accessing this resource:</p>
@@ -1129,7 +1133,7 @@
</div>
</div>
<div class="sect2">
- <h3 id="__ugvro_simplified-representations_other-representations">4.5. Supporting other Representations</h3>
+ <h3 id="__ugvro_simplified-representations_other-representations">4.5. Other Representations</h3>
<div class="paragraph">
<p>Sometimes though you may want to extend or change the representations generated. This might be because you want to write a RESTful client that uses a particular library (say a Javascript library or web components) that can only handle representations in a certain form.</p>
</div>
@@ -1169,8 +1173,18 @@
</tbody>
</table>
</div>
+ </div>
+ <div class="sect2">
+ <h3 id="_ugvro_simplified-representations_configuration-properties">4.6. Global Config Props (Deprecated)</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_simplified-representations_configuration-properties.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>If all that is required is a very simple representations (of objects), you can configure the Restful Objects viewer to provide a simplified output, then this can be done with a number of (global) configuration properties.</p>
+ </div>
+ <div class="paragraph">
+ <p>These configuration properties pre-date the support, introduced in <code>1.11.0</code>, for the Apache Isis profile, and are limited by the fact that they are global configuration settings, so cannot be influenced on a request-by-request basis (as is the case with the <code>Accept</code> header used for the Apache Isis profile). They have therefore been deprecated, and may be removed in the future.</p>
+ </div>
<div class="paragraph">
- <p>Unresolved directive in _ugvro_simplified-representations.adoc - include::__ugvro_simplified-representations_configuration-properties.adoc[leveloffset=+1]</p>
+ <p>Details can be found in <a href="../ugvro/ugvro.html#__ugvro_configuration-properties_deprecated">here</a>.</p>
</div>
</div>
</div>
@@ -1215,7 +1229,7 @@
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code> (<code><em>false</em></code>)</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A mechanism for reducing the number of round-trips by eagerly rendering collections; discussed <a href="#___ugvro_ro-spec_extensions_minimizing-round-trips_honor-ui-hints">here</a>.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">A mechanism for reducing the number of round-trips by eagerly rendering collections; discussed <a href="../ugvro/ugvro.html#___ugvro_ro-spec_extensions_minimizing-round-trips_honor-ui-hints">here</a>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top">
@@ -1225,7 +1239,7 @@
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code> (<code><em>false</em></code>)</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Whether to strictly enforce the <code>Accept</code> header checking for the default RO-spec representations (by the <code>ContentNegotiationServiceForRestfulObjectsV1_0</code> service). Will otherwise accept anything. <br> </p><p class="tableblock">This is convenient because it allows the <code>Accept</code> header to be set to that of the <a href="#_ugvro_simplified-representations">Apache Isis profile</a> for all resources, rather than simply the handful of resources that supported that profile.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Whether to strictly enforce the <code>Accept</code> header checking for the default RO-spec representations (by the <code>ContentNegotiationServiceForRestfulObjectsV1_0</code> service). Will otherwise accept anything. <br> </p><p class="tableblock">This is convenient because it allows the <code>Accept</code> header to be set to that of the <a href="../ugvro/ugvro.html#_ugvro_simplified-representations">Apache Isis profile</a> for all resources, rather than simply the handful of resources that supported that profile.</p></td>
</tr>
</tbody>
</table>
@@ -1326,7 +1340,7 @@
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>,<code>false</code> (<code><em>false</em></code>)</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#__ugvro_simplified-representations_configuration-properties_object-property-values-only">discussion</a> below.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="../ugvro/ugvro.html#__ugvro_simplified-representations_configuration-properties_object-property-values-only">discussion</a> below.</p></td>
</tr>
</tbody>
</table>
@@ -1350,7 +1364,7 @@ isis.viewer.restfulobjects.suppressMemberDisabledReason=true</code></pre>
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>If these configuration settings are set in conjunction with using the <a href="#__ugvro_simplified-representations_apache-isis-profile">Apache Isis profile</a>, then the special <code>$$ro</code> property in the representations with reflect these settings.</p>
+ <p>If these configuration settings are set in conjunction with using the <a href="../ugvro/ugvro.html#__ugvro_simplified-representations_apache-isis-profile">Apache Isis profile</a>, then the special <code>$$ro</code> property in the representations with reflect these settings.</p>
</div> </td>
</tr>
</tbody>
@@ -1415,19 +1429,37 @@ isis.viewer.restfulobjects.suppressMemberDisabledReason=true</code></pre>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_hints-and-tips.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
+ <p>This chapter provides some solutions for problems we\u2019ve encountered ourselves or have been raised on the Apache Isis mailing lists.</p>
+ </div>
+ <div class="paragraph">
+ <p>See also hints-n-tips chapters in the:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>the <a href="../dg/dg.html#_dg_hints-and-tips">Developers'</a> guide</p> </li>
+ <li> <p>the <a href="../ugvw/ugvw.html#_ugvw_hints-and-tips">Wicket viewer</a> guide</p> </li>
+ <li> <p>the <a href="../ugvro/ugvro.html#_ugvro_hints-and-tips">Restful Objects viewer</a> guide (this chapter)</p> </li>
+ <li> <p>the <a href="../ugodn/ugodn.html#_ugodn_hints-and-tips">Datanucleus ObjectStore</a> guide</p> </li>
+ <li> <p>the <a href="../ugsec/ugsec.html#_ugsec_hints-and-tips">Security</a> guide</p> </li>
+ <li> <p>the <a href="../ugbtb/ugbtb.html#_ugbtb_hints-and-tips">Beyond the Basics</a> guide.</p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
<p>Since the Restful Objects viewer is designed for computer programs to interact with (rather than human beings), it can be a little difficult to explore and generally "grok" how it works.</p>
</div>
<div class="paragraph">
<p>This section provides a few hints-and-tips to help you on your way.</p>
</div>
<div class="sect2">
- <h3 id="_using_chrome_tools">6.1. Using Chrome Tools</h3>
+ <h3 id="_ugvro_hints-and-tips_using-chrome-devtools">6.1. Using Chrome Dev Tools</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_hints-and-tips_using-chrome-devtools.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>This <a href="https://www.youtube.com/watch?v=_-TOvVYWCHc">screencast</a> shows how to explore the Restful API using Chrome plugins/extensions, and how we use them to write end-2-end (TCK) tests for the Restful Objects viewer.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_angular_tips">6.2. Angular Tips</h3>
+ <h3 id="_ugvro_hints-and-tips_angular-tips">6.2. Angular Tips</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_hints-and-tips_angular-tips.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>The hypermedia API exposed by Apache Isis' Restful Objects viewer is intended be support both bespoke custom-written viewers as well as generic viewers. Indeed, we expect most clients consuming the API will be bespoke, not generic.</p>
</div>
@@ -1499,9 +1531,44 @@ findCustomer.get({<span class="key">queryString</span>: JSON.stringify(findCusto
</div>
</div>
<div class="sect2">
- <h3 id="_pretty_printing">6.3. Pretty printing</h3>
+ <h3 id="_ugvro_hints-and-tips_pretty-printing">6.3. Pretty printing</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_hints-and-tips_pretty-printing.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>The JSON representations generated by the Restful Objects viewer are in compact form if the <a href="../rgcfg/rgcfg.html#_rgcfg_deployment-types">deployment type</a> is SERVER (ie production), but will automatically be "pretty printed" (in other words indented) if the deployment type is PROTOTYPE.</p>
+ </div>
+ </div>
+ <div class="sect2">
+ <h3 id="_ugvro_hints-and-tips_restful-image-property">6.4. How parse images in RO viewer?</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvro/_ugvro_hints-and-tips_restful-image-property.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>From this <a href="http://markmail.org/message/4kcu7sml4ufdsah3">thread</a> on the Apache Isis users mailing list:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p><em>I am trying to display an image in a JavaScript client app, the image comes from an Isis RO web service as a string, but it won\u2019t show. Is there something I should do to change the message?</em></p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>The RO viewer returns the image as a string, in the form:</p>
+ </div>
+ <div class="literalblock">
+ <div class="content">
+ <pre>"Tacos.jpg:image/jpeg:/9j//4AAQSkZJRgABAQEAlgCWAAD/ ...."</pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>This is in the form:</p>
+ </div>
+ <div class="literalblock">
+ <div class="content">
+ <pre>(filename):(mime type):(binary data in base64)</pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>This is basically the <a href="../rgcms/rgcms.html#_rgcms_classes_value-types_Blob"><code>Blob</code></a> value type, in string form.</p>
+ </div>
<div class="paragraph">
- <p>The JSON representations generated by the Restful Objects viewer are in compact form if the <a href="rgcfg.html#_rgcfg_deployment-types">deployment type</a> is SERVER (ie production), but will automatically be "pretty printed" (in other words indented) if the deployment type is PROTOTYPE.</p>
+ <p>To use, split the parts then format the mime type and base64 data correctly before using as source in an <code><img></code> tag.</p>
</div>
</div>
</div>
@@ -1541,16 +1608,17 @@ findCustomer.get({<span class="key">queryString</span>: JSON.stringify(findCusto
<li><a href="#_ugvro_architecture">3. Architecture</a></li>
<li><a href="#_ugvro_simplified-representations">4. Simplified Representations</a>
<ul class="sectlevel2">
- <li><a href="#__ugvro_simplified-representations_apache-isis-profile">4.1. The Apache Isis "Profile"</a></li>
- <li><a href="#__ugvro_simplified-representations_domain-object">4.2. Domain Object</a></li>
- <li><a href="#__ugvro_simplified-representations_object-collection">4.3. Domain Object Collection</a></li>
- <li><a href="#__ugvro_simplified-representations_action-invocation">4.4. Action Invocation</a>
+ <li><a href="#_ugvro_simplified-representations_apache-isis-profile">4.1. The Apache Isis "Profile"</a></li>
+ <li><a href="#_ugvro_simplified-representations_domain-object">4.2. Domain Object</a></li>
+ <li><a href="#_ugvro_simplified-representations_object-collection">4.3. Domain Object Collection</a></li>
+ <li><a href="#_ugvro_simplified-representations_action-invocation">4.4. Action Invocation</a>
<ul class="sectlevel3">
<li><a href="#_returning_an_object">4.4.1. Returning an Object</a></li>
<li><a href="#_returning_a_list">4.4.2. Returning a List</a></li>
<li><a href="#_returning_scalar_nothing">4.4.3. Returning Scalar/Nothing</a></li>
</ul> </li>
- <li><a href="#__ugvro_simplified-representations_other-representations">4.5. Supporting other Representations</a></li>
+ <li><a href="#__ugvro_simplified-representations_other-representations">4.5. Other Representations</a></li>
+ <li><a href="#_ugvro_simplified-representations_configuration-properties">4.6. Global Config Props (Deprecated)</a></li>
</ul> </li>
<li><a href="#_ugvro_configuration-properties">5. Configuration Properties</a>
<ul class="sectlevel2">
@@ -1559,13 +1627,14 @@ findCustomer.get({<span class="key">queryString</span>: JSON.stringify(findCusto
</ul> </li>
<li><a href="#_ugvro_hints-and-tips">6. Hints and Tips</a>
<ul class="sectlevel2">
- <li><a href="#_using_chrome_tools">6.1. Using Chrome Tools</a></li>
- <li><a href="#_angular_tips">6.2. Angular Tips</a>
+ <li><a href="#_ugvro_hints-and-tips_using-chrome-devtools">6.1. Using Chrome Dev Tools</a></li>
+ <li><a href="#_ugvro_hints-and-tips_angular-tips">6.2. Angular Tips</a>
<ul class="sectlevel3">
<li><a href="#_invoking_a_get_link_eg_invoking_a_query_action">6.2.1. Invoking a GET link (eg invoking a query action)</a></li>
<li><a href="#_invoking_a_put_or_post_link">6.2.2. Invoking a PUT or POST link</a></li>
</ul> </li>
- <li><a href="#_pretty_printing">6.3. Pretty printing</a></li>
+ <li><a href="#_ugvro_hints-and-tips_pretty-printing">6.3. Pretty printing</a></li>
+ <li><a href="#_ugvro_hints-and-tips_restful-image-property">6.4. How parse images in RO viewer?</a></li>
</ul> </li>
</ul>
</div>
[14/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugfun/ugfun.html
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/ugfun.html b/content/guides/ugfun/ugfun.html
index 761561d..988fc47 100644
--- a/content/guides/ugfun/ugfun.html
+++ b/content/guides/ugfun/ugfun.html
@@ -377,10 +377,10 @@
<h2 id="__ugfun">1. Fundamentals</h2>
<div class="sectionbody">
<div class="paragraph">
- <p>This guide introduces the <a href="#_ugfun_core-concepts">core concepts</a> and ideas behind Apache Isis, and tells you how to <a href="#_ugfun_getting-started">get started</a> with a Maven archetype.</p>
+ <p>This guide introduces the <a href="../ugfun/ugfun.html#_ugfun_core-concepts">core concepts</a> and ideas behind Apache Isis, and tells you how to <a href="../ugfun/ugfun.html#_ugfun_getting-started">get started</a> with a Maven archetype.</p>
</div>
<div class="paragraph">
- <p>It also describes a number of <a href="#_ugfun_how-tos">how-to</a>s, describes how to influence the <a href="#_ugfun_object-layout">UI layout</a> of your domain objects (this is ultimately just a type of metadata), and it catalogues various <a href="#_ugfun_faqs.adoc">FAQ</a>s.</p>
+ <p>It also describes a number of <a href="../ugfun/ugfun.html#_ugfun_how-tos">how-to</a>s, describes how to influence the <a href="../ugvw/ugvw.html#_ugvw_layout">UI layout</a> of your domain objects (this is ultimately just a type of metadata), and it catalogues various <a href="../dg/dg.html#_dg_hints-and-tips.adoc">FAQ</a>s.</p>
</div>
<div class="sect2">
<h3 id="_other_guides">1.1. Other Guides</h3>
@@ -610,7 +610,7 @@
<p>Just as an ORM (such as <a href="http://datanucleus.org">DataNucleus</a> or <a href="http://hibernate.org">Hibernate</a>) maps domain entities to a database, you can think of the naked objects pattern as representing the concept of mapping domain objects to a user interface.</p>
</div>
<div class="paragraph">
- <p>This is the way that the <a href="http://metawidget.org/">MetaWidget</a> team, in particular Richard Kennard, the primary contributor, likes to describe their tool. MetaWidget has a number of ideas in common with Apache Isis (we compare Apache Isis' with MetaWidget <a href="#_ugfun_core-concepts_principles_apache-isis-vs_metawidget">here</a>), in particular the runtime generation of a UI for domain objects. You can hear more from Kennard and others on this <a href="http://devchat.tv/js-jabber/150-jsj-oims">Javascript Jabber podcast</a>.</p>
+ <p>This is the way that the <a href="http://metawidget.org/">MetaWidget</a> team, in particular Richard Kennard, the primary contributor, likes to describe their tool. MetaWidget has a number of ideas in common with Apache Isis (we compare Apache Isis' with MetaWidget <a href="../ugfun/ugfun.html#_ugfun_core-concepts_principles_apache-isis-vs_metawidget">here</a>), in particular the runtime generation of a UI for domain objects. You can hear more from Kennard and others on this <a href="http://devchat.tv/js-jabber/150-jsj-oims">Javascript Jabber podcast</a>.</p>
</div>
</div>
<div class="sect4">
@@ -680,7 +680,7 @@
<h4 id="_ugfun_core-concepts_philosophy_aop">2.1.4. Aspect Oriented</h4>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_philosophy_aop.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>Although not a book about object modelling, Evans' "Domain Driven Design" does use object orientation as its primary modelling tool; while <a href="#_ugfun_core-concepts_philosophy_naked-objects-pattern">naked objects pattern</a> very much comes from an OO background (it even has 'object' in its name). Richard Pawson\u2009\u2014\u2009the originator of Naked Objects pattern\u2009\u2014\u2009lists Alan Kay as a key influence.</p>
+ <p>Although not a book about object modelling, Evans' "Domain Driven Design" does use object orientation as its primary modelling tool; while <a href="../ugfun/ugfun.html#_ugfun_core-concepts_philosophy_naked-objects-pattern">naked objects pattern</a> very much comes from an OO background (it even has 'object' in its name). Richard Pawson\u2009\u2014\u2009the originator of Naked Objects pattern\u2009\u2014\u2009lists Alan Kay as a key influence.</p>
</div>
<div class="paragraph">
<p>It\u2019s certainly true that to develop an Apache Isis application you will need to have good object oriented modelling skills. But given that all the mainstream languages for developing business systems are object oriented (Java, C#, Ruby), that\u2019s not such a stretch.</p>
@@ -715,13 +715,13 @@
<p>Another example of interceptors are the <a href="http://github.com/isisaddons/isis-module-command">Isis addons' command</a> and <a href="http://github.com/isisaddons/isis-module-audit">Isis addons' audit</a> modules. The command module captures every user interaction that modifies the state of the system (the "cause" of a change) while the audit module captures every change to every object (the "effect" of a change). Again, this is all transparent to the user.</p>
</div>
<div class="paragraph">
- <p>Apache Isis also has an internal event bus (you can switch between an underlying implementation of Gauva or Axon). A domain event is fired whenever an object is interacted with, and this allows any subscribers to influence the operation (or even veto it). This is a key mechanism in ensuring that Isis applications are maintainable, and we discuss it in depth in the section on <a href="ugbtb.html#_ugbtb_decoupling">Decoupling</a>. But fundamentally its relying on this AOP concept of interceptors.</p>
+ <p>Apache Isis also has an internal event bus (you can switch between an underlying implementation of Gauva or Axon). A domain event is fired whenever an object is interacted with, and this allows any subscribers to influence the operation (or even veto it). This is a key mechanism in ensuring that Isis applications are maintainable, and we discuss it in depth in the section on <a href="../ugbtb/ugbtb.html#_ugbtb_decoupling">Decoupling</a>. But fundamentally its relying on this AOP concept of interceptors.</p>
</div>
<div class="paragraph">
- <p>Finally, Isis also a feature that is akin to AOP mix-ins. A "contributed action" is one that is implemented on a domain service but that appears to be a behaviour of rendered domain object. In other words, we can dissociate behaviour from data. That\u2019s not always the right thing to do of course. In Richard Pawson\u2019s description of the <a href="#_ugfun_core-concepts_philosophy_naked-objects-pattern">naked objects pattern</a> he talks about "behaviourally rich" objects, in other words where the business functionality encapsulated the data. But on the other hand sometimes the behaviour and data structures change at different rates. The <a href="http://en.wikipedia.org/wiki/Single_responsibility_principle">single responsibility principle</a> says we should only lump code together that changes at the same rate. Apache Isis' support for contributions (not only contributed actions, but also contributed properties and contributed collections) enables this. And again, to loop
back to the topic of this section, it\u2019s an AOP concept that being implemented by the framework.</p>
+ <p>Finally, Isis also a feature that is akin to AOP mix-ins. A "contributed action" is one that is implemented on a domain service but that appears to be a behaviour of rendered domain object. In other words, we can dissociate behaviour from data. That\u2019s not always the right thing to do of course. In Richard Pawson\u2019s description of the <a href="../ugfun/ugfun.html#_ugfun_core-concepts_philosophy_naked-objects-pattern">naked objects pattern</a> he talks about "behaviourally rich" objects, in other words where the business functionality encapsulated the data. But on the other hand sometimes the behaviour and data structures change at different rates. The <a href="http://en.wikipedia.org/wiki/Single_responsibility_principle">single responsibility principle</a> says we should only lump code together that changes at the same rate. Apache Isis' support for contributions (not only contributed actions, but also contributed properties and contributed collections) enables this.
And again, to loop back to the topic of this section, it\u2019s an AOP concept that being implemented by the framework.</p>
</div>
<div class="paragraph">
- <p>The nice thing about aspect orientation is that for the most part you can ignore these cross-cutting concerns and - at least initially at least - just focus on implementing your domain object. Later when your app starts to grow and you start to break it out into smaller modules, you can leverage Apache Isis' AOP support for (<a href="ugbtb.html#_ugbtb_decoupling_mixins">mixins</a>), (<a href="ugbtb.html#_ugbtb_decoupling_contributions">contributions</a>) and interceptors (the <a href="ugbtb.html#_ugbtb_decoupling_event-bus">event bus</a>) to ensure that your codebase remains maintainable.</p>
+ <p>The nice thing about aspect orientation is that for the most part you can ignore these cross-cutting concerns and - at least initially at least - just focus on implementing your domain object. Later when your app starts to grow and you start to break it out into smaller modules, you can leverage Apache Isis' AOP support for (<a href="../ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_mixins">mixins</a>), (<a href="../ugfun/ugfun.html#_ugfun_programming-model_domain-services_contributions">contributed services</a>) and interceptors (the <a href="../ugfun/ugfun.html#_ugfun_building-blocks_events_domain-events">event bus</a>) to ensure that your codebase remains maintainable.</p>
</div>
</div>
</div>
@@ -771,7 +771,7 @@
<p>We could generate UML diagrams and the like from code. That will work for some members of the business community, but not for everyone. Or we could generate a PDF document from Javadoc comments, but comments aren\u2019t code and so the document may be inaccurate. Anyway, even if we do create such a document, not everyone will read it.</p>
</div>
<div class="paragraph">
- <p>A better way to represent the model is to show it in action as a working prototype. As we show in the <a href="#_ugfun_getting-started">Getting Started</a> section, Apache Isis enables this with ease. Such prototypes bring the domain model to life, engaging the audience in a way that a piece of paper never can.</p>
+ <p>A better way to represent the model is to show it in action as a working prototype. As we show in the <a href="../ugfun/ugfun.html#_ugfun_getting-started">Getting Started</a> section, Apache Isis enables this with ease. Such prototypes bring the domain model to life, engaging the audience in a way that a piece of paper never can.</p>
</div>
<div class="paragraph">
<p>Moreover, with Apache Isis prototypes, the domain model will come shining through. If there are mistakes or misunderstandings in the domain model (inevitable when building any complex system), they will be obvious to all.</p>
@@ -816,7 +816,7 @@
<h3 id="_ugfun_core-concepts_principles">2.2. Principles and Values</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_principles.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>Apache Isis is primarily aimed at custom-built "enterprise" applications. The UI provided by the <a href="ugvw.html">Wicket viewer</a> is intended to be usable by domain experts, typically end-users within the organization. The REST API exposed by the <a href="ugvro.html">RestfulObjects viewer</a> allows custom apps to be developed\u2009\u2014\u2009eg using Angular or similar\u2009\u2014\u2009for use by those requiring more guidance; typically end-users outside of the organization. This section describes some of the core principles and values that the framework aims to honour and support.</p>
+ <p>Apache Isis is primarily aimed at custom-built "enterprise" applications. The UI provided by the <a href="../ugvw/ugvw.html">Wicket viewer</a> is intended to be usable by domain experts, typically end-users within the organization.pdf The REST API exposed by the <a href="../ugvro/ugvro.html">RestfulObjects viewer</a> allows custom apps to be developed\u2009\u2014\u2009eg using Angular or similar\u2009\u2014\u2009for use by those requiring more guidance; typically end-users outside of the organization. This section describes some of the core principles and values that the framework aims to honour and support.</p>
</div>
<div class="sect3">
<h4 id="_ugfun_core-concepts_principles_build-not-buy">2.2.1. Why Build instead of Buy?</h4>
@@ -896,7 +896,7 @@
</div>
</div>
<div class="paragraph">
- <p>Here, the presentation layer (<a href="ugvw.html">Wicket UI</a> or <a href="ugvro.html">REST API</a>) is handled by the framework, while the developer focusses on just the domain layer. The framework encourages splitting this functionality into modules; each such module has its counterpart (typically tables within a given RDBMS database schema) within the persistence layer.</p>
+ <p>Here, the presentation layer (<a href="../ugvw/ugvw.html">Wicket UI</a> or <a href="../ugvro/ugvro.html">REST API</a>) is handled by the framework, while the developer focusses on just the domain layer. The framework encourages splitting this functionality into modules; each such module has its counterpart (typically tables within a given RDBMS database schema) within the persistence layer.</p>
</div>
<div class="paragraph">
<p>This architecture means that it\u2019s impossible for business logic to leach out into the adjacent presentation layer because the developer doesn\u2019t (can\u2019t) write any code for presentation layer. We in effect have a "firewall" between the two layers.</p>
@@ -908,7 +908,7 @@
<ul>
<li> <p>dependency injection of services<br></p>
<div class="paragraph">
- <p>Both <a href="rgsvc.html">framework-defined domain services</a> and application-defined services (eg repositories and factories) are injected everywhere, using the regular <a href="rgant.html#_rgant-Inject"><code>@javax.inject.Inject</code></a> annotation.</p>
+ <p>Both <a href="../rgsvc/rgsvc.html">framework-defined domain services</a> and application-defined services (eg repositories and factories) are injected everywhere, using the regular <a href="../rgant/rgant.html#_rgant-Inject"><code>@javax.inject.Inject</code></a> annotation.</p>
</div> </li>
<li> <p>mixins allow functionality defined in one module to appear (in the UI) to be provided by some other module.<br></p>
<div class="paragraph">
@@ -921,7 +921,7 @@
</ul>
</div>
<div class="paragraph">
- <p>For those cases where a module needs to interact with other modules but does not know about their implementations, the module can either define its own <a href="https://en.wikipedia.org/wiki/Service_provider_interface">SPI</a> domain services or it can define custom domain events and fire them. This technique is also used extensively by the framework itself. For example, the <a href="rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditerService</code></a> SPI enables custom auditing, and the <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> SPI enables custom publishing</p>
+ <p>For those cases where a module needs to interact with other modules but does not know about their implementations, the module can either define its own <a href="https://en.wikipedia.org/wiki/Service_provider_interface">SPI</a> domain services or it can define custom domain events and fire them. This technique is also used extensively by the framework itself. For example, the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditerService</code></a> SPI enables custom auditing, and the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> SPI enables custom publishing</p>
</div>
<div class="paragraph">
<p>When building a modular application, it\u2019s important to consider the logical layering of the modules: we don\u2019t need every module to be completely decoupled from every other. The most important requirement is that there are no cyclic dependencies, because otherwise we run the risk of the application degrading into a <a href="https://en.wikipedia.org/wiki/Big_ball_of_mud">"big ball of mud"</a>. OO design techniques such as the <a href="https://en.wikipedia.org/wiki/Dependency_inversion_principle">dependency inversion principle</a> can be used to any such</p>
@@ -948,8 +948,8 @@
<p>Many other frameworks promise rapid application development and provide automatically generated user interfaces, so how do they compare to Apache Isis?</p>
</div>
<div class="sect3">
- <h4 id="_ugfun_core-concepts_apache-isis-vs_mvc-server-side-frameworks">2.3.1. vs MVC server-side frameworks</h4>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_mvc-server-side-frameworks.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <h4 id="_ugfun_core-concepts_apache-isis-vs_mvc-server-side">2.3.1. vs MVC server-side</h4>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_mvc-server-side.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>Some of most commonly used frameworks today are <a href="http://www.spring.io/">Spring MVC</a>, <a href="http://rubyonrails.org/">Ruby on Rails</a> and <a href="http://www.grails.org">Grails</a>, all of which implement one flavour or another of the server-side MVC pattern. The MVC 1.0 specification (originally scheduled for JavaEE 8 though since removed) is also similar.</p>
</div>
@@ -957,13 +957,13 @@
<p>These frameworks all use the classic <strong>model-view-controller</strong> ( <em>MVC</em>) pattern for web applications, with scaffolding, code-generation, and/or metaprogramming tools for the controllers and views, as well as convention over configuration to define how these components interact. The views provided out of the box by these frameworks tend to be simple <em>CRUD</em>-style interfaces. More sophisticated behavior is accomplished by customizing the generated controllers.</p>
</div>
<div class="paragraph">
- <p>The most obvious difference when developing an Apache Isis application is its deliberate lack of an explicit controller layer; non- <em>CRUD</em> behavior is automatically made available in its generic object-oriented _UI_s. More sophisticated UIs can be built either by <a href="ugvw.html#_ugvw_extending">extending Apache Isis' Wicket viewer</a> or by writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed by <a href="ugvro.html">Isis' Restful Objects viewer</a>. Other frameworks can also be used to implement REST APIs, of course, but generally they require a significant amount of development to get anywhere near the level of sophistication provided automatically by Apache Isis' REST API.</p>
+ <p>The most obvious difference when developing an Apache Isis application is its deliberate lack of an explicit controller layer; non- <em>CRUD</em> behavior is automatically made available in its generic object-oriented _UI_s. More sophisticated UIs can be built either by <a href="../ugvw/ugvw.html#_ugvw_extending">extending Apache Isis' Wicket viewer</a> or by writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed by <a href="../ugvro/ugvro.html">Isis' Restful Objects viewer</a>. Other frameworks can also be used to implement REST APIs, of course, but generally they require a significant amount of development to get anywhere near the level of sophistication provided automatically by Apache Isis' REST API.</p>
</div>
<div class="paragraph">
<p>Although these frameworks all provide their own ecosystems of extensions, Apache Isis' equivalent <a href="http://www.isisaddons.org">Isis Addons</a> (non-ASF) tend to work at a higher-level of abstraction. For example, each of these frameworks will integrate with various security mechanism, but the <a href="http://github.com/isisaddons/isis-module-security">Isis addons' security module</a> provides a full subdomain of users, roles, features and permissions that can be plugged into any Isis application. Similarly, the <a href="http://github.com/isisaddons/isis-module-command">Isis addons' command</a> and <a href="http://github.com/isisaddons/isis-module-audit">Isis addons' audit</a> modules in combination provide a support for auditing and traceability that can also be used for out of the box profiling. Again, these addons can be plugged into any Isis app.</p>
</div>
<div class="paragraph">
- <p>In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness. Apache Isis' support is similar. Where Apache Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests. Instead, Apache Isis provides a "<a href="ugtst.html#_ugtst_integ-test-support_wrapper-factory">WrapperFactory</a>" domain service that allows the generic UI provided to in essence be simulated. On a more pragmatic level, the <a href="http://github.com/isisaddons/isis-module-fakedata">Isis addons' fakedata</a> module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.</p>
+ <p>In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness. Apache Isis' support is similar. Where Apache Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests. Instead, Apache Isis provides a "<a href="../ugtst/ugtst.html#_ugtst_integ-test-support_wrapper-factory">WrapperFactory</a>" domain service that allows the generic UI provided to in essence be simulated. On a more pragmatic level, the <a href="http://github.com/isisaddons/isis-module-fakedata">Isis addons' fakedata</a> module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.</p>
</div>
</div>
<div class="sect3">
@@ -991,16 +991,16 @@
<p>There are other reasons though why a separate read model might make sense, such as to precompute particular queries, or against denormalized data. In these cases Apache Isis can often provide a reasonable alternative, namely to map domain entities against RDBMS views, either materialized views or dynamic. In such cases there is still only a single physical datastore, and so transactional integrity is retained.</p>
</div>
<div class="paragraph">
- <p>Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the <a href="rgsvc.html#_rgsvc_api_PublishingService"><code>PublishingService</code></a>, or using <a href="rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscribers</a> on the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a>. One can then use <a href="ugbtb.html#_ugbtb_view-models">view models</a> to surface the data in the external read datastore.</p>
+ <p>Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the <a href="../rgsvc/rgsvc.html#_rgsvc_api_PublishingService"><code>PublishingService</code></a>, or using <a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscribers</a> on the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a>. One can then use <a href="../ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_view-models">view models</a> to surface the data in the external read datastore.</p>
</div>
<div class="paragraph">
- <p>With respect to commands, Apache Isis does of course support the <a href="rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> which allows each business action to be reified into a <code>Command</code>. However, names are misleading here: Apache Isis' commands are relatively passive, merely recording the intent of the user to invoke some operation. In a CQRS architecture, though, commands take a more active role, locating and acting upon the domain objects. More significantly, in CQRS each command has its own class, such as <code>PlaceOrderCommand</code>, instantiated by the client and then executed. With Apache Isis, though, the end-user merely invokes the <code>placeOrder(\u2026\u200b)</code> action upon the domain object; the framework itself creates the <code>Command</code> as a side-effect of this.</p>
+ <p>With respect to commands, Apache Isis does of course support the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> which allows each business action to be reified into a <code>Command</code>. However, names are misleading here: Apache Isis' commands are relatively passive, merely recording the intent of the user to invoke some operation. In a CQRS architecture, though, commands take a more active role, locating and acting upon the domain objects. More significantly, in CQRS each command has its own class, such as <code>PlaceOrderCommand</code>, instantiated by the client and then executed. With Apache Isis, though, the end-user merely invokes the <code>placeOrder(\u2026\u200b)</code> action upon the domain object; the framework itself creates the <code>Command</code> as a side-effect of this.</p>
</div>
<div class="paragraph">
<p>In CQRS the commands correspond to the business logic that mutates the system. Whether this logic is part of the command class (<code>PlaceOrderCommand</code>) or whether that command delegates to methods on the domain object is an implementation detail; but it certainly is common for the business logic to be wholly within the command object and for the domain object to be merely a data holder of the data within the command/write datastore.</p>
</div>
<div class="paragraph">
- <p>In Apache Isis this same separation of business logic from the underlying data can be accomplished most straightforwardly using <a href="ugbtb.html#_ugbtb_decoupling_mixins">mixins</a> or <a href="#_ugfun_how-tos_contributed-members">contributions</a>. In the UI (surfaced by the <a href="ugvw.html">Wicket viewer</a>) or in the REST API (surfaced by the <a href="ugvro.html">RestfulObjects viewer</a>) the behaviour appears to reside on the domain object; however the behaviour actually resides on separate classes and is mixed in (like a trait) only at runtime.</p>
+ <p>In Apache Isis this same separation of business logic from the underlying data can be accomplished most straightforwardly using <a href="../ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_mixins">mixins</a> or <a href="../ugfun/ugfun.html#_ugfun_how-tos_contributed-members">contributions</a>. In the UI (surfaced by the <a href="../ugvw/ugvw.html">Wicket viewer</a>) or in the REST API (surfaced by the <a href="../ugvro/ugvro.html">RestfulObjects viewer</a>) the behaviour appears to reside on the domain object; however the behaviour actually resides on separate classes and is mixed in (like a trait) only at runtime.</p>
</div>
</div>
<div class="sect3">
@@ -1019,20 +1019,20 @@
<p>When combined with CQRS we see a command that triggers a business operation, and an event that results from it. So, a <code>PlaceOrderCommand</code> command can result in an <code>OrderPlacedEvent</code> event. A subscriber to this event might then generate a further command to act upon some other system (eg to dispatch the system). Note that the event might be dispatched and consumed in-process or alternatively this might occur out-of-process. If the latter, then the subscriber will operate within a separate transaction, meaning the usual eventual consistency concerns and also compensating actions if a rollback is required. CQRS/event sourcing advocates point out\u2009\u2014\u2009correctly\u2009\u2014\u2009that this is just how things are in the "real world" too.</p>
</div>
<div class="paragraph">
- <p>In Apache Isis every business action (and indeed, property and collection) emits domain events through the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a>, and can optionally also be published through the <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>. The former are dispatched and consumed in-process and within the same transaction, and for this reason the <a href="rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscribers</a> can also veto the events. The latter are intended for out-of-process consumption; the (non-ASF) <a href="http://github.com/isisaddons/isis-module-publishing">Isis addons' publishing</a> and <a href="http://github.com/isisaddons/isis-module-publishmq">Isis addons' publishmq</a> modules provide implementations for dispatching either through a RDBMS database table, or directly through to an <a href="http://camel.apache.org">ActiveMQ</a> message queue (eg wired up to <a href=
"http://camel.apache.org">Apache Camel</a> event bus).</p>
+ <p>In Apache Isis every business action (and indeed, property and collection) emits domain events through the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a>, and can optionally also be published through the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>. The former are dispatched and consumed in-process and within the same transaction, and for this reason the <a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractSubscriber">subscribers</a> can also veto the events. The latter are intended for out-of-process consumption; the (non-ASF) <a href="http://github.com/isisaddons/isis-module-publishing">Isis addons' publishing</a> and <a href="http://github.com/isisaddons/isis-module-publishmq">Isis addons' publishmq</a> modules provide implementations for dispatching either through a RDBMS database table, or directly through to an <a href="http://camel.apache.org">ActiveMQ</a> message que
ue (eg wired up to <a href="http://camel.apache.org">Apache Camel</a> event bus).</p>
</div>
</div>
<div class="sect3">
<h4 id="_ugfun_core-concepts_apache-isis-vs_metawidget">2.3.4. vs MetaWidget</h4>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_apache-isis-vs_metawidget.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>MetaWidget (mentioned <a href="#_ugfun_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping">earlier</a> has a number of ideas in common with Apache Isis, specifically the runtime generation of a UI for domain objects. And like Apache Isis, MetaWidget builds its own metamodel of the domain objects and uses this to render the object.</p>
+ <p>MetaWidget (mentioned <a href="../ugfun/ugfun.html#_ugfun_core-concepts_philosophy_naked-objects-pattern_object-interface-mapping">earlier</a> has a number of ideas in common with Apache Isis, specifically the runtime generation of a UI for domain objects. And like Apache Isis, MetaWidget builds its own metamodel of the domain objects and uses this to render the object.</p>
</div>
<div class="paragraph">
<p>However, there is a difference in philosophy in that MW is not a full-stack framework and does not (in their words) try to "own the UI". Rather they support a huge variety of UI technologies and allow the domain object to be rendered in any of them.</p>
</div>
<div class="paragraph">
- <p>In contrast, Apache Isis is full-stack and does generate a complete UI; we then allow you to customize or extend this UI (as per the various <a href="http://www.isisaddons.org">Isis Addons</a> (non-ASF), and we also provide a full REST API through the <a href="ugvro.html">Restful Objects viewer</a></p>
+ <p>In contrast, Apache Isis is full-stack and does generate a complete UI; we then allow you to customize or extend this UI (as per the various <a href="http://www.isisaddons.org">Isis Addons</a> (non-ASF), and we also provide a full REST API through the <a href="../ugvro/ugvro.html">Restful Objects viewer</a></p>
</div>
<div class="paragraph">
<p>Also, it\u2019s worth noting that MetaWidget does have an elegant pipeline architecture, with APIs to allow even its metamodel to be replaced. It would be feasible and probably quite straightforward to use Apache Isis' own metamodel as an implementation of the MetaWidget API. This would allow MetaWidget to be able to render an Apache Isis domain application.</p>
@@ -1040,27 +1040,172 @@
</div>
</div>
<div class="sect2">
- <h3 id="_ugfun_core-concepts_building-blocks">2.4. Building Blocks</h3>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_building-blocks.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <h3 id="_ugfun_core-concepts_deployment-options">2.4. Deployment Options</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_core-concepts_deployment-options.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>In this section we run through the main building blocks that make up an Apache Isis application.</p>
+ <p>Apache Isis is a mature platform suitable for production deployment, with its "sweet spot" being line-of-business enterprise applications. So if you\u2019re looking to develop that sort of application, we certainly hope you\u2019ll seriously evaluate it.</p>
+ </div>
+ <div class="paragraph">
+ <p>But there are other ways that you can make Apache Isis work for you; in this section we explore a few of them.</p>
+ </div>
+ <div class="sect3">
+ <h4 id="_deploy_to_production">2.4.1. Deploy to production</h4>
+ <div class="paragraph">
+ <p>Let\u2019s start though with the default use case for Apache Isis: building line-of-business enterprise applications, on top of its Wicket viewer.</p>
+ </div>
+ <div class="paragraph">
+ <p>Apache Wicket, and therefore Apache Isis in this configuration, is a stateful architecture. As a platform it is certainly capable of supporting user bases of several thousand (with perhaps one or two hundred concurrent); however it isn\u2019t an architecture that you should try to scale up to tens of thousands of concurrent users.</p>
+ </div>
+ <div class="paragraph">
+ <p>The UI generated by the Wicket viewer is well suited to many line-of-business apps, but it\u2019s also worth knowing that (with a little knowledge of the Wicket APIs) it relatively straightforward to extend. As described in <a href="../ugfun/ugfun.html#_ugfun_available-domain-services_isis-addons">Isis addons</a> chapter, the viewer already has integrations with <a href="https://github.com/isisaddons/isis-wicket-gmap3">google maps</a>, <a href="https://github.com/isisaddons/isis-wicket-fullcalendar2">a full calendar</a> and an <a href="https://github.com/isisaddons/isis-wicket-excel">export to Excel</a> component. We are also aware of integrations with SVG images (for floor maps of shopping center) and of custom widgets displaying a catalogue (text and images) of medical diseases.</p>
+ </div>
+ <div class="paragraph">
+ <p>Deploying on Apache Isis means that the framework also manages object persistence. For many line-of-business applications this will mean using a relational database. It is also possible (courtesy of its integratinon with <a href="http://www.datanucleus.org">DataNucleus</a>) to deploy an Isis app to a NoSQL store such as Neo4J or MongoDB; and it is also possible to deploy to cloud platforms such as <a href="https://cloud.google.com/appengine/docs">Google App Engine (GAE)</a>.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_prototyping">2.4.2. Prototyping</h4>
+ <div class="paragraph">
+ <p>Even if you don\u2019t intend to deploy your application on top of Apache Isis, there can be a lot of value in using Apache Isis for prototyping. Because all you need do to get an app running is write domain objects, you can very quickly explore a domain object model and validate ideas with a domain expert.</p>
+ </div>
+ <div class="paragraph">
+ <p>By focusing just on the domain, you\u2019ll also find that you start to develop a ubiquitous language - a set of terms and concepts that the entire team (business and technologists alike) have a shared understanding.</p>
+ </div>
+ <div class="paragraph">
+ <p>Once you\u2019ve sketched out your domain model, you can then "start-over" using your preferred platform.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_deploy_on_your_own_platform">2.4.3. Deploy on your own platform</h4>
+ <div class="paragraph">
+ <p>The programming model defined by Apache Isis deliberately minimizes the dependencies on the rest of the framework. In fact, the only hard dependency that the domain model classes have on Apache Isis is through the <code>org.apache.isis.applib</code> classes, mostly to pick up annotations such as <code>@Disabled</code>. So, if you have used Apache Isis for prototyping (discussed above), then note that it\u2019s quite feasible to take your domain model a the basis of your actual development effort; Apache Isis' annotations and programming conventions will help ensure that any subtle semantics you might have captured in your prototyping are not lost.</p>
+ </div>
+ <div class="paragraph">
+ <p>If you go this route, your deployment platform will of course need to provide similar capabilities to Apache Isis. In particular, you\u2019ll need to figure out a way to inject domain services into domain entities (eg using a JPA listener), and you\u2019ll also need to reimplement any domain services you have used that Apache Isis provides "out-of-the-box" (eg <a href="../rgsvc/rgsvc.html#_rgsvc_api_QueryResultsCache"><code>QueryResultsCache</code></a> domain service).</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_deploy_the_rest_api">2.4.4. Deploy the REST API</h4>
+ <div class="paragraph">
+ <p>REST (Representation State Transfer) is an architectural style for building highly scalable distributed systems, using the same principles as the World Wide Web. Many commercial web APIs (twitter, facebook, Amazon) are implemented as either pure REST APIs or some approximation therein.</p>
+ </div>
+ <div class="paragraph">
+ <p>The <a href="http://restfulobjects.org">Restful Objects specification</a> defines a means by a domain object model can be exposed as RESTful resources using JSON representations over HTTP. Apache Isis' <a href="../ugvro/ugvro.html">RestfulObjects viewer</a> is an implementation of that spec, making any Apache Isis domain object automatically available via REST.</p>
+ </div>
+ <div class="paragraph">
+ <p>There are a number of use cases for deploying Isis as a REST API, including:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>to allow a custom UI to be built against the RESTful API<br></p>
+ <div class="paragraph">
+ <p>For example, using Angular or some other RIA technology such as Flex, JavaFX, Silverlight</p>
+ </div> </li>
+ <li> <p>to enable integration between systems<br></p>
+ <div class="paragraph">
+ <p>REST is designed to be machine-readable, and so is an excellent choice for synchronous data interchange scenarios.</p>
+ </div> </li>
+ <li> <p>as a ready-made API for migrating data from one legacy system to its replacement.</p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>As for the auto-generated webapps, the framework manages object persistence. It is perfectly possible to deploy the REST API alongside an auto-generated webapp; both work from the same domain object model.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_implement_your_own_viewer">2.4.5. Implement your own viewer</h4>
+ <div class="paragraph">
+ <p>Isis' architecture was always designed to support multiple viewers; and indeed Apache Isis out-of-the-box supports two: the Wicket viewer, and the Restful Objects viewer (or three, if one includes the Wrapper Factory).</p>
+ </div>
+ <div class="paragraph">
+ <p>While we mustn\u2019t understate the effort involved here, it is feasible to implement your own viewers too. Indeed, one of Apache Isis' committers does indeed have a (closed source) viewer, based on <a href="http://www.wavemaker.com/">Wavemaker</a>.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="sect1">
+ <h2 id="_ugfun_building-blocks">3. Building Blocks</h2>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="sectionbody">
+ <div class="paragraph">
+ <p>In this section we run through the main building blocks that make up an Apache Isis application.</p>
+ </div>
+ <div class="sect2">
+ <h3 id="_ugfun_building-blocks_metamodel">3.1. A MetaModel</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_metamodel.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>At its core, Apache Isis is a metamodel that is built at runtime from the domain classes (eg <code>Customer.java</code>), along with optional supporting metadata (eg <code>Customer.layout.xml</code>).</p>
+ </div>
+ <div class="paragraph">
+ <p>The contents of this metamodel is inferred from the Java classes discovered on the classpath: the entities and supporting services, as well the members of those classes. The detail of the metamodel is generally explicit, usually represented by Java annotations such as <code>@Title</code> or <code>@Action</code>. Notably the metamodel is <a href="../ugbtb/ugbtb.html#_ugbtb_programming-model">extensible</a>; it is possible to teach Apache Isis new programming conventions/rules (and conversely to remove those that are built in).</p>
+ </div>
+ <div class="paragraph">
+ <p>Most of the annotations recognized by the framework are defined by the Apache Isis framework itself. For example the <code>@Title</code> annotation\u2009\u2014\u2009which identifies how the framework should derive a human-readable label for each rendered domain object\u2009\u2014\u2009is part of the <code>org.apache.isis.applib.annotations</code> package. However the framework also recognizes certain other JEE annotations such as <code>@javax.inject.Inject</code> (used for dependency injection).</p>
+ </div>
+ <div class="paragraph">
+ <p>The framework uses DataNucleus for its persistence mechanism. This is an ORM that implements the JDO and JPA APIs, and which can map domain objects either to an RDBMS or to various NoSQL objectstores such as MongoDB or Neo4J. Apache Isis recognizes a number of the JDO annotations such as <code>@javax.jdo.annotations.Column(allowsNull=\u2026\u200b)</code>.</p>
+ </div>
+ <div class="paragraph">
+ <p>In addition, the framework builds up the metamodel for each domain object using <a href="../ugvw/ugvw.html#_ugvw_layout">layout hints</a>, such as <code>Customer.layout.xml</code>. These provide metadata such as grouping elements of the UI together, using multi-column layouts, and so on. The layout file can be modified while the application is still running, and are picked up automatically; a useful way to speed up feedback.</p>
+ </div>
+ <div class="admonitionblock tip">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>At the time of writing Apache Isis only recognizes and supports the JDO API, though we expect JPA to be supported in the future.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="sect2">
+ <h3 id="_ugfun_building-blocks_types-of-domain-objects">3.2. Type of Domain Objects</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>Apache Isis supports recognises four main types of domain classes:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p><strong>domain entities</strong> - domain objects persisted to the database using JDO/DataNucleus; for example <code>Customer</code></p> </li>
+ <li> <p><strong>domain services</strong> - generally singletons, automatically injected, and providing various functionality; for example <code>CustomerRepository</code></p> </li>
+ <li> <p><strong>view models</strong> - domain objects that are a projection of some state held by the database, in support a particular use case; for example <code>CustomerDashboard</code> (to pull together commonly accessed information about a customer).</p> </li>
+ <li> <p><strong>mixins</strong> - allow functionality to be "contributed" in the UI by one module to another object, similar to traits or extension methods provided in some programming languages. This is an important capability to help keep large applications <a href="../ugbtb/ugbtb.html#_ugbtb_decoupling">decoupled</a>.</p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>From the end-user\u2019s perspective the UI displays a single domain object instance that has state (that is, a domain entity or a view model) per page. The end-user can then inspect and modify its state, and navigate to related objects.</p>
+ </div>
+ <div class="paragraph">
+ <p>Domain classes are generally recognized using annotations. Apache Isis defines its own set of annotations, while entities are annotated using JDO/DataNucleus (though XML can also be used if required). Apache Isis recognizes some of the JDO and JAXB annotations and infers domain semantics from these annotations. Similarly, JAXB annotations are typically used for view models. There is a smattering of other Java/JEE annotations that are also supported, such as <code>@javax.inject.Inject</code> and <code>@javax.annotation.Nullable</code>.</p>
+ </div>
+ <div class="paragraph">
+ <p>The following subsections explain this in further detail.</p>
</div>
<div class="sect3">
- <h4 id="__ugfun_core-concepts_building-blocks_metamodel">2.4.1. A MetaModel</h4>
+ <h4 id="_ugfun_building-blocks_types-of-domain-objects_domain-entities">3.2.1. Domain Entities</h4>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects_domain-entities.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>At its core, Apache Isis is a metamodel that is built at runtime from the domain classes (eg <code>Customer.java</code>), along with optional supporting metadata (eg <code>Customer.layout.xml</code>).</p>
+ <p>Most domain objects that the end-user interacts with are <em>domain entities</em>, such as <code>Customer</code>, <code>Order</code>, <code>Product</code> and so on. These are persistent objects and which are mapped to a database (usually relational), using JDO/DataNucleus annotations.</p>
</div>
<div class="paragraph">
- <p>The contents of this metamodel is inferred from the Java classes discovered on the classpath: the entities and supporting services, as well the members of those classes. The detail of the metamodel is generally explicit, usually represented by Java annotations such as <code>@Title</code> or <code>@Action</code>. Notably the metamodel is <a href="ugbtb.html#_ugbtb_programming-model">extensible</a>; it is possible to teach Apache Isis new programming conventions/rules (and conversely to remove those that are built in).</p>
+ <p>Some domain entities are really aggregates, a combination of multiple objects. A commonly cited example of this is an <code>Order</code>, which really consists of both a root <code>Order</code> entity and a collection of <code>OrderItem</code>s. From the end-users' perspective, when they talk of "order" they almost always mean the aggregate rather than just the <code>Order</code> root entity.</p>
</div>
<div class="paragraph">
- <p>Most of the annotations recognized by the framework are defined by the Apache Isis framework itself. For example the <code>@Title</code> annotation\u2009\u2014\u2009which identifies how the framework should derive a human-readable label for each rendered domain object\u2009\u2014\u2009is part of the <code>org.apache.isis.applib.annotations</code> package. However the framework also recognizes certain other JEE annotations such as <code>@javax.inject.Inject</code> (used for dependency injection).</p>
+ <p>Eric Evans' <a href="http://books.google.com/books/about/Domain_Driven_Design.html?id=hHBf4YxMnWMC">Domain Driven Design</a> has a lot to say about aggregate roots and their responsibilities: in particular that it is the responsibility of the aggregate root to maintain the invariants of its component pieces, and that roots may only reference other roots. There\u2019s good logic here: requiring only root-to-root relationships reduces the number of moving parts that the developer has to think about.</p>
</div>
<div class="paragraph">
- <p>The framework uses DataNucleus for its persistence mechanism. This is an ORM that implements the JDO and JPA APIs, and which can map domain objects either to an RDBMS or to various NoSQL objectstores such as MongoDB or Neo4J. Apache Isis recognizes a number of the JDO annotations such as <code>@javax.jdo.annotations.Column(allowsNull=\u2026\u200b)</code>.</p>
+ <p>On the other hand, this constraint can substantially complicate matters when mapping domain layer to the persistenec layer. DDD tends to de-emphasise such matters: it aims to be completely agnostic about the persistence layer, with the responsibilities for managing relationships moved (pretty much by definition) into the domain layer.</p>
</div>
<div class="paragraph">
- <p>In addition, the framework builds up the metamodel for each domain object using <a href="#_ugfun_object-layout">layout hints</a>, such as <code>Customer.layout.xml</code>. These provide metadata such as grouping elements of the UI together, using multi-column layouts, and so on. The layout file can be modified while the application is still running, and are picked up automatically; a useful way to speed up feedback.</p>
+ <p>As a framework though Apache Isis is less dogmatic about such things. Generally the domain objects are mapped to a relational database and so we can lean on the referential integrity capabilities of the persistence layer to maintain referential invariants. Said another way: we don\u2019t tend to require that only roots can maintain roots: we don\u2019t see anything wrong in an <code>InvoiceItem</code> referencing an <code>OrderItem</code>, for example.</p>
+ </div>
+ <div class="paragraph">
+ <p>Nonetheless the concepts of "aggregate" and "aggregate root" are worth holding onto. You\u2019ll likely find that you\u2019ll define a repository service (discussed in more detail below) for each aggregate root: for example <code>Order</code> will have a corresponding <code>OrderRepository</code> service. Similarly, you may also have a factory service, for example <code>OrderFactory</code>. However, you are less likely to have a repository service for the parts of an aggregate root: the role of retrieving <code>OrderItem</code>s should fall to the <code>Order</code> (typically by way of lazy loading of an "items" collection) rather than through an <code>OrderItemRepository</code> service. Again, this isn\u2019t a hard-n-fast rule, but a good rule of thumb.</p>
</div>
<div class="admonitionblock tip">
<table>
@@ -1069,7 +1214,7 @@
<td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
<td class="content">
<div class="paragraph">
- <p>At the time of writing Apache Isis only recognizes and supports the JDO API, though we expect JPA to be supported in the future.</p>
+ <p>Details on how to actually write a domain entity (the programming model for domain entities) is <a href="../ugfun/ugfun.html#_ugfun_programming-model_domain-entities">here</a>.</p>
</div> </td>
</tr>
</tbody>
@@ -1077,129 +1222,212 @@
</div>
</div>
<div class="sect3">
- <h4 id="__ugfun_core-concepts_building-blocks_types-of-domain-objects">2.4.2. Type of Domain Objects</h4>
- <div class="paragraph">
- <p>Most domain objects that the end-user interacts with are <strong>domain entities</strong>, such as <code>Customer</code>, <code>Order</code>, <code>Product</code> and so on. These are persistent objects and which are mapped to a database (usually relational), using JDO/DataNucleus annotations. From the end-user\u2019s perspective the UI displays a single domain object per page; they can then inspect and modify its state, and navigate to related objects.</p>
- </div>
- <div class="paragraph">
- <p>The next type of domain object to discuss is <strong>domain services</strong>. These are (usually) singleton stateless services that provide additional functionality. The behaviour of these services is rendered in various ways, though the most obvious is as the menu actions on the top-level menu bars in the <a href="ugvw.html">Wicket viewer</a>'s UI.</p>
- </div>
- <div class="paragraph">
- <p>Domain objects can also delegate to domain services; domain services are automatically injected into every other domain object; this includes domain entities as well as other services. This injection of domain services into entities is significant: it allows business logic to be implemented in the domain entities, rather than have it "leach away" into supporting service layers. Said another way: it is the means by which Apache Isis helps you avoid the anaemic domain model anti-pattern.</p>
- </div>
+ <h4 id="_ugfun_building-blocks_types-of-domain-objects_domain-services">3.2.2. Domain Services</h4>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects_domain-services.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>As well as domain entities\u2009\u2014\u2009mapped to a datastore\u2009\u2014\u2009Apache Isis also supports <strong>view models</strong>. End users interact with view models in the same way as a domain entity, indeed they are unlikely to distinguish one from the other. However view models are <em>not</em> mapped to the underlying database, rather they represent some aggregation of state from one or more underlying entities. Their state is serialized and recreated from their internal identifier; this identifier is visible as the object\u2019s URL in the <a href="ugvw.html">Wicket viewer</a> or <a href="ugvro.html">RestfulObjects viewer</a>.</p>
+ <p><em>Domain services</em> are (usually) singleton stateless services that provide additional functionality. Domain services consist of a set of logically grouped actions, and as such follow the same conventions as for entities. However, a service cannot have (persisted) properties, nor can it have (persisted) collections.</p>
</div>
<div class="paragraph">
- <p>There\u2019s no need though for the view model to aggregate the state of regular domain entities. A view model could also be used as a proxy for some externally managed entity, accessed over a web service or REST API; it could even be a representation of state held in-memory (such as user preferences, for example).</p>
+ <p>A very common type of domain service is a repository, that is used to look up existing instances of a domain entity. For example, for the <code>Customer</code> entity there may be a <code>CustomerRepository</code>, while for <code>Order</code> entity there may be an <code>OrderRepository</code>.</p>
</div>
<div class="paragraph">
- <p>There are also several types of domain services. Most easily described are those domain services (discussed above) that are represented as the menu actions on top-level menu bars. Another variation are <strong>contributed services</strong>: domain services that contribute behaviour or (derived) state to entities/view models. Finally domain services may also simply provide additional non-UI functionality; an example being to perform an address geocoding lookup against the google-maps API.</p>
+ <p>Similarly, entities might also have a corresponding factory service: a <code>CustomerFactory</code> or an <code>OrderFactory</code>; Evans' <a href="http://books.google.com/books/about/Domain_Driven_Design.html?id=hHBf4YxMnWMC">Domain Driven Design</a>, draws a clear distinction is made between a factory (that creates object) and a repository (that is used to find existing objects).</p>
</div>
<div class="paragraph">
- <p>Also worth mentioning: domain services can also be either singletons (discussed above) or request-scoped; the latter being annotated with <code>@javax.enterprise.context.RequestScoped</code>. An example of the request-scoped service is the <a href="rgsvc.html#_rgsvc_api_Scratchpad"><code>Scratchpad</code></a> service, for sharing arbitrary data between multiple objects.</p>
+ <p>On the other hand, from an end-users' perspective the act of finding an existing object vs creating a new one are quite closely related. For this reason, in Apache Isis it\u2019s therefore quite common to have a single domain service that acts as both a factory and a repository (and is usually called just a "repository").</p>
</div>
<div class="paragraph">
- <p>The final type of domain object is the <strong>mixin</strong>. These are similar to contributed services in that they also contribute (or rather, mixin) both behaviour or (derived) state to entities/view models. However, they provide a more control over contributed services, with a cleaner programming model similar to traits found in other languages.</p>
+ <p>The behaviour of these services is rendered in various ways, though the most obvious is as the menu actions on the top-level menu bars in the <a href="../ugvw/ugvw.html">Wicket viewer</a>'s UI.</p>
</div>
<div class="paragraph">
- <p>The diagram below summarizes the various types of domain object:</p>
- </div>
- <div class="imageblock">
- <div class="content">
- <a class="image" href="images/core-concepts/building-blocks/types-of-domain-object.png"><img src="images/core-concepts/building-blocks/types-of-domain-object.png" alt="types of domain object" width="860px"></a>
- </div>
- </div>
- <div class="paragraph">
- <p>The Apache Isis programming model uses annotations to distinguish these object types:</p>
+ <p>Domain services can also be used for a number of other purposes:</p>
</div>
<div class="ulist">
<ul>
- <li> <p><strong>view models</strong> are annotated either with <code>@DomainObject(nature=VIEW_MODEL)</code> or using <code>@ViewModel</code>. Which is used is a matter of personal preference. <br></p>
- <div class="paragraph">
- <p>It is also possible to implement the <code>ViewModel</code> interface, for finer-grained control.</p>
- </div> </li>
- <li> <p><strong>domain entities</strong> that are persisted to the database (as the vast majority will) are annotated with <code>@DomainObject(nature=ENTITY)</code>. In addition such domain entities are annotated with the JDO/DataNucleus annotation of <code>@javax.jdo.annotations.PersistenceCapable</code>.<br></p>
+ <li> <p>to provide additional non-UI functionality; an example being to perform an address geocoding lookup against the google-maps API, or to perform some calculation, or attach a barcode, send an email etc</p> </li>
+ <li> <p>to act as a subscribers to the event bus, potentially influencing events fired by some other module (a key technique for decoupling large applications)<br></p>
<div class="paragraph">
- <p>In addition, if a domain entity is a proxy for state managed in an external system, or merely for some state held in-memory, then <code>@DomainObject(nature=EXTERNAL_ENTITY)</code> or <code>@DomainObject(nature=INMEMORY_ENTITY)</code> can be used.</p>
+ <p>This is discussed in more detail below, in the section on <a href="../ugfun/ugfun.html#_ugfun_building-blocks_events">events</a>.</p>
</div> </li>
- <li> <p><strong>mixins</strong> are annotated either with <code>@DomainObject(nature=MIXIN)</code> or using <code>@Mixin</code>. As for view models, which is used is a matter of personal preference.</p> </li>
- <li> <p>finally, <strong>domain services</strong>` are annotated with <code>@DomainService(nature=\u2026\u200b)</code> where the nature is either <code>VIEW_MENU_ONLY</code> (for domain services whose actions appear on the top-level menu bars), or <code>VIEW_CONTRIBUTIONS_ONLY</code> (for domain services whose actions are contributed to entities or view models), or <code>DOMAIN</code> (for domain services whose functionality is simply for other domain objects to invoke programmatically).</p>
- <div class="paragraph">
- <p>It is also possible to specify a nature of simply <code>VIEW</code>, this combining <code>VIEW_MENU_ONLY</code> and <code>VIEW_CONTRIBUTIONS_ONLY</code>. This is in fact the default, useful for initial prototyping. A final nature is <code>VIEW_REST_ONLY</code> which is for domain services whose functionality is surfaced only by the <a href="ugvro.html">RestfulObjects viewer</a>.</p>
+ <li> <p>to implement an <a href="https://en.wikipedia.org/wiki/Service_provider_interface">SPI</a> of the Apache Isis framework, most notably cross-cutting concerns such as security, command profiling, auditing and publishing.</p> </li>
+ <li> <p>to contribute behaviour or (derived) state to entities/view models.<br></p>
+ <div class="admonitionblock note">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>Mixins can do everything that contributed services can, and have a cleaner programming model. As such, contributed services should be considered a deprecated feature; it may be removed in a future release.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
</div> </li>
</ul>
</div>
<div class="paragraph">
- <p>Worth emphasising is that domain entities and view models hold state, whereas domain services are generally stateless. If a domain service does hold state (eg the <code>Scratchpad</code> service noted above) then it should be <code>@RequestScoped</code> so that this state is short-lived and usable only within a single request.</p>
+ <p>Domain objects of any type (entities, other services, view models, mixins) can also delegate to domain services; domain services are automatically injected into every other domain object. This injection of domain services into entities is significant: it allows business logic to be implemented in the domain entities, rather than have it "leach away" into supporting service layers. Said another way: it is the means by which Apache Isis helps you avoid the anaemic domain model anti-pattern.</p>
+ </div>
+ <div class="paragraph">
+ <p>Domain services are instantiated once and once only by the framework, and are used to centralize any domain logic that does not logically belong in a domain entity or value.</p>
+ </div>
+ <div class="admonitionblock tip">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>Details on how to actually write a domain service (the programming model for domain services) is <a href="../ugfun/ugfun.html#_ugfun_programming-model_domain-services">here</a>.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="sect4">
+ <h5 id="_hexagonal_arch_services">Hexagonal Arch. + services</h5>
+ <div class="paragraph">
+ <p>It\u2019s worth extending the <a href="../ugfun/ugfun.html#_ugfun_core-concepts_philosophy_hexagonal-architecture">Hexagonal Architecture</a> to show where domain services fit in:</p>
+ </div>
+ <div class="imageblock">
+ <div class="content">
+ <img src="images/core-concepts/philosophy/hexagonal-architecture-addons.png" alt="hexagonal architecture addons" width="700px">
+ </div>
+ <div class="title">
+ Figure 4. The hexagonal architecture with Isis addons
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>The (non-ASF) <a href="http://isisaddons.org">Isis Addons</a> provide SPI implementations of the common cross-cutting concerns. They also provide a number of APIs for domain objects to invoke (not shown in the diagram). You can also write your own domain services as well, for example to interface with some external CMS system, say.</p>
+ </div>
</div>
</div>
<div class="sect3">
- <h4 id="__ugfun_core-concepts_building-blocks_objects-members">2.4.3. Object Members</h4>
+ <h4 id="_ugfun_building-blocks_types-of-domain-objects_view-models">3.2.3. View Models</h4>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_types-of-domain-objects_view-models.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>View models are similar to entities in that (unlike domain services) there can be many instances of any given type. End users interact with view models in the same way as a domain entity, indeed they are unlikely to distinguish one from the other.</p>
+ </div>
<div class="paragraph">
- <p>Every domain object in Apache Isis consists of (at most) three types of members:</p>
+ <p>However, whereas a domain entities is mapped to a datastore, view models are not. Instead they are recreated dynamically by serializing their state, ultimately into the URL itself (meaning their state it is in effect implicitly managed by the client browser). You will notice that the URL for view models (as shown in <a href="../ugvw/ugvw.html">Wicket viewer</a> or <a href="../ugvro/ugvro.html">RestfulObjects viewer</a>) tends to be quite long.</p>
+ </div>
+ <div class="paragraph">
+ <p>This capability opens up a number of more advanced use cases:</p>
</div>
<div class="ulist">
<ul>
- <li> <p>properties, such as a `Customer\u2019s `firstName</p> </li>
- <li> <p>collections, such as a <code>Customer\u2019s `orders</code> collection of <code>Order</code>s</p> </li>
- <li> <p>actions, such as a <code>Customer'`s `placeOrder(\u2026\u200b)</code> method.</p> </li>
+ <li> <p>In the same way that an (RDBMS) database view can aggregate and abstract from multiple underlying database tables, so a view model sits on top of one or many underlying entities.</p> </li>
+ <li> <p>A view model could also be used as a proxy for some externally managed entity, accessed over a web service or REST API; it could even be a representation of state held in-memory (such as user preferences, for example).</p> </li>
+ <li> <p>view models can also be used to support a particular use case. An example that comes to mind is to expose a list of scanned PDFs to be processed as an "intray", showing the list of PDFs on one side of the page, and the current PDF being viewed on the other. Such view models are part of the application layer, not part of the domain layer (where entities live).</p> </li>
</ul>
</div>
<div class="paragraph">
- <p>Some domain objects\u2009\u2014\u2009specifically domain services and mixins\u2009\u2014\u2009only have actions. In the case of contributing services and mixins these actions can (depending upon their semantics and signatures) be represented as derived properties or collections on the entity/view model to which they contribute/mix-in.</p>
+ <p>We explore these use cases in more detail below.</p>
+ </div>
+ <div class="admonitionblock tip">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>Details on how to actually write a view model (the programming model for view models) is <a href="../ugfun/ugfun.html#_ugfun_programming-model_view-models">here</a>.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
</div>
<div class="sect4">
- <h5 id="_properties">Properties</h5>
+ <h5 id="__ugfun_building-blocks_view-models_externally-managed-entities">Externally-managed entities</h5>
<div class="paragraph">
- <p>Properties follow the standard getter/setter pattern, with the return type being a scalar (a value object or another entity or view model).</p>
+ <p>Sometimes the entities that make up your application are persisted not in the local JDO/DataNucleus database but reside in some other system, for example accessible only through a SOAP web service. Logically that data might still be considered a domain entity and we might want to associate behaviour with it, however it cannot be modelled as a domain entity if only because JDO/DataNucleus doesn\u2019t know about the entity nor how to retrieve or update it.</p>
</div>
<div class="paragraph">
- <p>For example, with:</p>
+ <p>There are a couple of ways around this: we could either replicate the data somehow from the external system into the Isis-managed database (in which case it is once again just another domain entity), or we could set up a stub/proxy for the externally managed entity. This proxy would hold the reference to the externally-managed domain entity (eg an external id), as well as the "smarts" to know how to interact with that entity (by making SOAP web service calls etc).</p>
</div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">Customer</span>
- <span class="directive">private</span> <span class="predefined-type">String</span> firstName;
- <span class="directive">public</span> <span class="predefined-type">String</span> getFirstName() { <span class="keyword">return</span> firstName; }
- <span class="directive">public</span> <span class="type">void</span> setFirstName(<span class="predefined-type">String</span> firstName) { <span class="local-variable">this</span>.firstName = firstName; }
- ...
-}</code></pre>
- </div>
+ <div class="paragraph">
+ <p>The stub/proxy is a type of view model: a view\u2009\u2014\u2009if you like\u2009\u2014\u2009onto the domain entity managed by the external system.</p>
+ </div>
+ <div class="admonitionblock note">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>DataNucleus does in fact define its own <a href="http://www.datanucleus.org/documentation/extensions/store_manager.html">Store Manager</a> extension point, so an alternative architecture would be to implement this interface such that DataNucleus could make the calls to the external system; these externally-persisted domain entities would therefore be modelled as regular <code>@PersistenceCapable</code> entities after all. For entities not persisted externally the implementation would delegate down to the default RDBMS-specific <code>StoreManager</code> provided by DataNucleus itself.</p>
+ </div>
+ <div class="paragraph">
+ <p>An implementation that supported only reading from an external entity ought to be comparatively straight-forward, but implementing one that also supported updating external entities would need to carefully consider error conditions if the external system is unavailable; distributed transactions are most likely difficult/impossible to implement (and not desirable in any case).</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="sect4">
+ <h5 id="__ugfun_building-blocks_view-models_in-memory-entities">In-memory entities</h5>
+ <div class="paragraph">
+ <p>As a variation on the above, sometimes there are domain objects that are, conceptually at least entities, but whose state is not actually persisted anywhere, merely held in-memory (eg in a hash).</p>
</div>
<div class="paragraph">
- <p>the framework infers the <code>Customer</code> domain entity, which in turn has a <code>firstName</code> string <em>property</em>.</p>
+ <p>A simple example might be read-only configuration data that is read from a config file (eg log4j appender definitions) but thereafter is presented in the UI just like any other entity.</p>
</div>
</div>
<div class="sect4">
- <h5 id="_collections">Collections</h5>
+ <h5 id="__ugfun_building-blocks_view-models_application-layer-view-models">Application-layer view models</h5>
<div class="paragraph">
- <p>Collections are also represented by a getter and setter, however the return type is a <code>Collection</code> or subtype.</p>
+ <p>Domain entities (whether locally persisted using JDO/DataNucleus or managed externally) are the bread-and-butter of Apache Isis applications: the focus after all, should be on the business domain concepts and ensuring that they are solid. Generally those domain entities will make sense to the business domain experts: they form the <em>ubiquitous language</em> of the domain. These domain entities are part of the domain layer.</p>
</div>
<div class="paragraph">
- <p>For example, with:</p>
+ <p>That said, it may not always be practical to expect end-users of the application to interact solely with those domain entities. For example, it may be useful to show a dashboard of the most significant data in the system to a user, often pulling in and aggregating information from multiple points of the app. Obtaining this information by hand (by querying the respective services/repositories) would be tedious and slow; far better to have a dashboard do the job for the end user.</p>
</div>
- <div class="listingblock">
+ <div class="paragraph">
+ <p>A dashboard object is a model of the most relevant state to the end-user, in other words it is (quite literally) a view model. It is not a persisted entity, instead it belongs to the application layer.</p>
+ </div>
+ <div class="paragraph">
+ <p>A view model need not merely aggregate data; it could also provide actions of its own. Most likely these actions will be queries and will always ultimately just delegate down to the appropriate domain-layer service/repository. But in some cases such view model actions might also modify state of underlying domain entities.</p>
+ </div>
+ <div class="paragraph">
+ <p>Another common use for view models is to help co-ordinate complex business processes; for example to perform a quarterly invoicing run, or to upload annual interest rates from an Excel spreadsheet. In these cases the view model might have some state of its own, but in most cases that state does not need to be persisted per se.</p>
+ </div>
+ <div class="sidebarblock">
<div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">Customer</span>
- <span class="directive">private</span> <span class="predefined-type">SortedSet</span><Order> orders = <span class="keyword">new</span> <span class="predefined-type">TreeSet</span><Order>();
- <span class="directive">public</span> <span class="predefined-type">SortedSet</span><Order> getOrders() { <span class="keyword">return</span> orders; }
- <span class="directive">public</span> <span class="type">void</span> setOrders(<span class="predefined-type">SortedSet</span><Order> orders) { <span class="local-variable">this</span>.orders = orders; }
- ...
-}</code></pre>
+ <div class="title">
+ Desire Lines
+ </div>
+ <div class="paragraph">
+ <p>One way to think of application view models is as modelling the "desire line": the commonly-trod path that end-users must follow to get from point A to point B as quickly as possible.</p>
+ </div>
+ <div class="paragraph">
+ <p>To explain: there are <a href="http://ask.metafilter.com/62599/Where-the-sidewalk-ends">documented</a> <a href="https://sivers.org/walkways">examples</a> <a href="http://www.softpanorama.org/People/Wall/larry_wall_articles_and_interviews.shtml">that</a> architects of university campus will only add in paths some while after the campus buildings are complete: let the pedestrians figure out the routes they want to take. The name we like best for this idea is "desire lines", though it has also been called a "desire path", "paving the path" or "paving the sidewalk".</p>
+ </div>
+ <div class="paragraph">
+ <p>What that means is you should add view models <em>after</em> having built up the domain layer, rather than before. These view models pave that commonly-trod path, automating the steps that the end-user would otherwise have to do by hand.</p>
+ </div>
+ <div class="paragraph">
+ <p>It takes a little practice though, because even when building the domain layer "first", you should still bear in mind what the use cases are that those domain entities are trying to support. You certainly <em>shouldn\u2019t</em> try to build out a domain layer that could support every conceivable use case before starting to think about view models.</p>
+ </div>
+ <div class="paragraph">
+ <p>Instead, you should iterate. Identify the use case/story/end-user objective that you will deliver value to the business. Then build out the minimum domain entities to support that use case (refining the <a href="../ugfun/ugfun.html#__ugfun_core-concepts_philosophy_domain-driven-design_ubiquitous-language">ubiquitous language</a> as you go). Then, identify if there any view models that could be introduced which would simplify the end-user interactions with the system (perhaps automating several related use cases together).</p>
+ </div>
</div>
</div>
<div class="paragraph">
- <p>the framework infers the <code>orders</code> <em>collection</em>.</p>
+ <p>When developing an Apache Isis application you will most likely start off with the persistent domain entities: <code>Customer</code>, <code>Order</code>, <code>Product</code>, and so on. For some applications this may well suffice.</p>
</div>
- <div class="admonitionblock tip">
+ <div class="paragraph">
+ <p>However, if the application needs to integrate with other systems, or if the application needs to support reasonably complex business processes, then you may need to look beyond just domain entities; view models are the tool of choice.</p>
+ </div>
+ <div class="admonitionblock warning">
<table>
<tbody>
<tr>
- <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
+ <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td>
<td class="content">
<div class="paragraph">
- <p>The most commonly used collection type is <code>java.util.SortedSet</code>; entities are most commonly mapped to a relational database (ie a datastore with set semantics) and we recommend that all entities define a natural ordering so that when rendered in the UI they will be ordered "meaningfully" to the end-user.</p>
+ <p>We strongly recommend that you build your applications from the domain layer up, rather than from the view model down.</p>
</div> </td>
</tr>
</tbody>
@@ -1207,32 +1435,33 @@
</div>
</div>
<div class="sect4">
- <h5 id="_actions">Actions</h5>
+ <h5 id="__ugfun_building-blocks_view-models_dtos">DTOs</h5>
<div class="paragraph">
- <p>The third type of object member is actions. (To a first approximation), actions are all public methods that do not represent properties or collections.</p>
+ <p>DTOs (data transfer objects) are simple classes that (according to <a href="https://en.wikipedia.org/wiki/Data_transfer_object">wikipedia</a>) "carry data between processes".</p>
</div>
<div class="paragraph">
- <p>For example:</p>
+ <p>If those two processes are parts of the same overall application (the same team builds and deploys both server and client) then there\u2019s generally no need to define a DTO; just access the entities using Apache Isis' <a href="../ugvro/ugvro.html">RestfulObjects viewer</a>.</p>
</div>
- <div class="listingblock">
- <div class="content">
- <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">Customer</span>
- <span class="directive">public</span> Customer placeOrder(Product p, <span class="type">int</span> quantity) { ... }
- ...
-}</code></pre>
- </div>
+ <div class="paragraph">
+ <p>On the other hand, if the client consuming the DTO is a different application\u2009\u2014\u2009by which we mean developed/deployed by a different (possible third-party) team\u2009\u2014\u2009then the DTOs act as a formal contract between the provider and the consumer. In such cases, exposing domain entities over <a href="../ugvro/ugvro.html">RestfulObjects</a> would be "A Bad Thing"\u2122 because the consumer would in effect have access to implementation details that could then not be easily changed by the producer.</p>
</div>
<div class="paragraph">
- <p>corresponds to the <code>placeOrder</code> <em>action</em>.</p>
+ <p>To support this use case, a view model can be defined such that it can act as a DTO. This is done by annotating the class us
<TRUNCATED>
[22/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgfis/rgfis.html
----------------------------------------------------------------------
diff --git a/content/guides/rgfis/rgfis.html b/content/guides/rgfis/rgfis.html
index 6d58ae9..309570d 100644
--- a/content/guides/rgfis/rgfis.html
+++ b/content/guides/rgfis/rgfis.html
@@ -467,15 +467,15 @@
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_ContentNegotiationService"><code>o.a.i.v.ro.</code><br> <code>rendering.service.conneg.</code><br> <code>ContentNegotiationService</code></a></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Encodes the algorithm that delegates to any registered <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a>s.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_ContentNegotiationService"><code>o.a.i.v.ro.</code><br> <code>rendering.service.conneg.</code><br> <code>ContentNegotiationService</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Encodes the algorithm that delegates to any registered <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a>s.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ContentNegotiationService-</code><br> <code>XRoDomainType</code><br> <code>o.a.i.core</code><br> <code>isis-core-viewer-restfulobjects-rendering</code></p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_RepresentationService"><code>o.a.i.v.ro.</code><br> <code>rendering.service.</code><br> <code>RepresentationService</code></a></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Generates the representations, delegating to any registered <a href="#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>s.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_RepresentationService"><code>o.a.i.v.ro.</code><br> <code>rendering.service.</code><br> <code>RepresentationService</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Generates the representations, delegating to any registered <a href="../rgfis/rgfis.html#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>s.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>RepresentationService-</code><br> <code>ForRestfulObjects</code><br> <code>o.a.i.core</code><br> <code>isis-core-viewer-restfulobjects-rendering</code></p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
@@ -497,7 +497,7 @@
<div class="sect2">
<h3 id="_rgfis_spi_ContentNegotiationService">2.1. <code>ContentNegotiationService</code></h3>
<div class="paragraph">
- <p>The <code>ContentNegotiationService</code> is a plug-in point for the <a href="ugvro.html">RestfulObjects viewer</a> so that it can generate representations according to HTTP <code>Accept</code> header of the request. This idea is discussed in section 34.1 of the <a href="http://restfulobjects.org">Restful Objects spec</a> v1.0.</p>
+ <p>The <code>ContentNegotiationService</code> is a plug-in point for the <a href="../ugvro/ugvro.html">RestfulObjects viewer</a> so that it can generate representations according to HTTP <code>Accept</code> header of the request. This idea is discussed in section 34.1 of the <a href="http://restfulobjects.org">Restful Objects spec</a> v1.0.</p>
</div>
<div class="paragraph">
<p>The principal motivation is to allow more flexible representations to be generated for REST clients that (perhaps through their use of a certain Javascript library, say) expect, or at least works best with, a certain style of representation.</p>
@@ -510,11 +510,11 @@
</div>
<div class="ulist">
<ul>
- <li> <p>first is to solve the problem at the domain layer by defining a regular Apache Isis <a href="ugbtb.html#_ugbtb_view-models">view model</a>. This is then surfaced over the RO viewer. <br></p>
+ <li> <p>first is to solve the problem at the domain layer by defining a regular Apache Isis <a href="../ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_view-models">view model</a>. This is then surfaced over the RO viewer. <br></p>
<div class="paragraph">
<p>If the underlying entities change, then care must be taken to ensure that structure of the view model nevertheless is unchanged.</p>
</div> </li>
- <li> <p>a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then <a href="ugbtb.html#_ugbtb_other-techniques_mapping-rdbms-views">mapping this</a> to a (read-only) entity. Again this is surfaced by the RO viewer. <br></p>
+ <li> <p>a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then <a href="../ugodn/ugodn.html#_ugodn_jdo-mappings_mapping-to-a-view">mapping this</a> to a (read-only) entity. Again this is surfaced by the RO viewer. <br></p>
<div class="paragraph">
<p>If the underlying tables change (as the result of a change in their corresponding domain entities) then once more the view must be refactored so that it still presents the same structure.</p>
</div> </li>
@@ -523,7 +523,7 @@
<p>The <code>ContentNegotiationService</code> is responsible for inspecting the HTTP <code>Accept</code> header, and use this to select the correct representation to render. <br></p>
</div>
<div class="paragraph">
- <p>The Apache Isis framework provides three implementations of <code>ContentNegotiationService</code> which inspects different elements of the HTTP <code>Accept</code> header. One of these implementations, <code>ContentNegotiationServiceXRoDomainType</code> will further delegate down to the companion <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> service (if configured/available), based on the value of the "x-ro-domain-type" parameter of the header.<br></p>
+ <p>The Apache Isis framework provides three implementations of <code>ContentNegotiationService</code> which inspects different elements of the HTTP <code>Accept</code> header. One of these implementations, <code>ContentNegotiationServiceXRoDomainType</code> will further delegate down to the companion <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> service (if configured/available), based on the value of the "x-ro-domain-type" parameter of the header.<br></p>
</div>
<div class="paragraph">
<p>A typical implementation of <code>ContentMappingService</code> will convert the domain object into some sort of DTO (data transfer object) as specified by the "x-ro-domaintype". If this DTO is annotated with JAXB or Jackson mappings, then the RO viewer (courtesy of the underlying <a href="http://resteasy.jboss.org/">RestEasy</a> framework) can serialize these directly.<br></p>
@@ -651,7 +651,7 @@
</ul>
</div>
<div class="paragraph">
- <p>The value of the <code>x-ro-domain-type</code> parameter corresponds to the DTO to be mapped into by the <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a>.</p>
+ <p>The value of the <code>x-ro-domain-type</code> parameter corresponds to the DTO to be mapped into by the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a>.</p>
</div>
<div class="paragraph">
<p>If the DTO is annotated with JAXB, then also note that the runtime type must be annotated with the JAXB <code>javax.xml.bind.annotation.XmlRootElement</code> so that RestEasy is able to unambiguously serialize it.</p>
@@ -667,7 +667,7 @@
</div> </li>
<li> <p><code>ContentNegotiationServiceOrgApacheIsisV1</code><br></p>
<div class="paragraph">
- <p>which returns <a href="ugvro.html#_ugvro_simplified-representations">simplified representations</a></p>
+ <p>which returns <a href="../ugvro/ugvro.html#_ugvro_simplified-representations">simplified representations</a></p>
</div> </li>
</ul>
</div>
@@ -724,7 +724,7 @@
<div class="sect3">
<h4 id="_configuration">2.1.4. Configuration</h4>
<div class="paragraph">
- <p>The default <code>ContentNegotiationServiceXRoDomainType</code> implementation provides a <a href="rgcfg.html#_rgcfg_configuring-core">configuration property</a> which controls whether a mapped domain object is pretty-printed (formatted, indented) or not:</p>
+ <p>The default <code>ContentNegotiationServiceXRoDomainType</code> implementation provides a <a href="../rgcfg/rgcfg.html#_rgcfg_configuring-core">configuration property</a> which controls whether a mapped domain object is pretty-printed (formatted, indented) or not:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -732,41 +732,41 @@
</div>
</div>
<div class="paragraph">
- <p>If the property is not set, then the default depends on the <a href="rgcfg.html#_rgcfg_deployment-types">deployment type</a>; production mode will disable pretty printing, while prototyping mode will enable it.</p>
+ <p>If the property is not set, then the default depends on the <a href="../rgcfg/rgcfg.html#_rgcfg_deployment-types">deployment type</a>; production mode will disable pretty printing, while prototyping mode will enable it.</p>
</div>
</div>
<div class="sect3">
<h4 id="_registering_the_services">2.1.5. Registering the Services</h4>
<div class="paragraph">
- <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementations of <code>ContentNegotiationService</code> service are automatically registered and injected (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
+ <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="../rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementations of <code>ContentNegotiationService</code> service are automatically registered and injected (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
</div>
<div class="paragraph">
- <p>To use an alternative implementation, use <a href="rgant.html#_rgant-DomainServiceLayout_menuOrder"><code>@DomainServiceLayout#menuOrder()</code></a> (as explained in the <a href="rgsvc.html#__rgsvc_intro_overriding-the-services">introduction</a> to this guide).</p>
+ <p>To use an alternative implementation, use <a href="../rgant/rgant.html#_rgant-DomainServiceLayout_menuOrder"><code>@DomainServiceLayout#menuOrder()</code></a> (as explained in the <a href="../rgsvc/rgsvc.html#__rgsvc_intro_overriding-the-services">introduction</a> to this guide).</p>
</div>
</div>
<div class="sect3">
<h4 id="_related_services">2.1.6. Related Services</h4>
<div class="paragraph">
- <p>The default implementation of <code>ContentNegotiationService</code> delegates to <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> (if present) to convert domain entities into a stable form (eg DTO).</p>
+ <p>The default implementation of <code>ContentNegotiationService</code> delegates to <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> (if present) to convert domain entities into a stable form (eg DTO).</p>
</div>
<div class="paragraph">
- <p>The <code>ContentNegotiationService</code> is itself called by the (default implementation of) <a href="#_rgfis_spi_RepresentationService"><code>RepresentationService</code></a>.</p>
+ <p>The <code>ContentNegotiationService</code> is itself called by the (default implementation of) <a href="../rgfis/rgfis.html#_rgfis_spi_RepresentationService"><code>RepresentationService</code></a>.</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_rgfis_spi_RepresentationService">2.2. <code>RepresentationService</code></h3>
<div class="paragraph">
- <p>The <code>RepresentationService</code> is the main plug-in point for the <a href="ugvro.html">RestfulObjects viewer</a> to generate representations.</p>
+ <p>The <code>RepresentationService</code> is the main plug-in point for the <a href="../ugvro/ugvro.html">RestfulObjects viewer</a> to generate representations.</p>
</div>
<div class="paragraph">
- <p>The default implementation generates representations according to the <a href="http://restfulobjects.org">Restful Objects spec</a> v1.0. However, it also delegates to the <a href="#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a> which provides a mechanism for altering representations according to the HTTP <code>Accept</code> header.</p>
+ <p>The default implementation generates representations according to the <a href="http://restfulobjects.org">Restful Objects spec</a> v1.0. However, it also delegates to the <a href="../rgfis/rgfis.html#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a> which provides a mechanism for altering representations according to the HTTP <code>Accept</code> header.</p>
</div>
<div class="paragraph">
<p>The principal motivation is to allow more flexible representations to be generated for REST clients that (perhaps through their use of a certain Javascript library, say) expect, or at least works best with, a certain style of representation.</p>
</div>
<div class="paragraph">
- <p>In all there are three domain services that can influence the representations generated: this service, <a href="#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>and the <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a>. The diagram below shows how these collaborate:</p>
+ <p>In all there are three domain services that can influence the representations generated: this service, <a href="../rgfis/rgfis.html#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>and the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a>. The diagram below shows how these collaborate:</p>
</div>
<div class="imageblock">
<div class="content">
@@ -854,22 +854,22 @@
<div class="sect3">
<h4 id="_implementation_2">2.2.2. Implementation</h4>
<div class="paragraph">
- <p>As discussed in the introduction, the framework provides a default implementation, <code>o.a.i.v.ro.rendering.service.RepresentationServiceContentNegotiator</code>. This delegates to <a href="#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a> to generate an alternative representation; but if none is provided then it falls back on generating the representations as defined in the <a href="http://restfulobjects.org">Restful Objects spec</a> v1.0.</p>
+ <p>As discussed in the introduction, the framework provides a default implementation, <code>o.a.i.v.ro.rendering.service.RepresentationServiceContentNegotiator</code>. This delegates to <a href="../rgfis/rgfis.html#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a> to generate an alternative representation; but if none is provided then it falls back on generating the representations as defined in the <a href="http://restfulobjects.org">Restful Objects spec</a> v1.0.</p>
</div>
<div class="paragraph">
- <p>To use an alternative implementation, use <a href="rgant.html#_rgant-DomainServiceLayout_menuOrder"><code>@DomainServiceLayout#menuOrder()</code></a> (as explained in the <a href="rgsvc.html#__rgsvc_intro_overriding-the-services">introduction</a> to this guide).</p>
+ <p>To use an alternative implementation, use <a href="../rgant/rgant.html#_rgant-DomainServiceLayout_menuOrder"><code>@DomainServiceLayout#menuOrder()</code></a> (as explained in the <a href="../rgsvc/rgsvc.html#__rgsvc_intro_overriding-the-services">introduction</a> to this guide).</p>
</div>
</div>
<div class="sect3">
<h4 id="_registering_the_services_2">2.2.3. Registering the Services</h4>
<div class="paragraph">
- <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>RepresentationService</code> service is automatically registered and injected (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
+ <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="../rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>RepresentationService</code> service is automatically registered and injected (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
</div>
</div>
<div class="sect3">
<h4 id="_related_services_2">2.2.4. Related Services</h4>
<div class="paragraph">
- <p>The default implementation delegates to <a href="#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>, whose default implementation may delegate in turn to <a href="rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> (if present).</p>
+ <p>The default implementation delegates to <a href="../rgfis/rgfis.html#_rgfis_spi_ContentNegotiationService"><code>ContentNegotiationService</code></a>, whose default implementation may delegate in turn to <a href="../rgsvc/rgsvc.html#_rgsvc_spi_ContentMappingService"><code>ContentMappingService</code></a> (if present).</p>
</div>
</div>
</div>
@@ -905,7 +905,7 @@
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_AuthenticationSessionProvider"><code>o.a.i.core.commons.</code><br> <code>authentication.</code><br> <code>AuthenticationSessionProvider</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_AuthenticationSessionProvider"><code>o.a.i.core.commons.</code><br> <code>authentication.</code><br> <code>AuthenticationSessionProvider</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Simply responsible for obtaining the current <code>AuthenticationSession</code> (the framework\u2019s internal representation of the currently logged-in user).</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AuthenticationSession-</code><br> <code>ProviderDefault</code><br> <code>isis-core-runtime</code></p></td>
<td class="tableblock halign-left valign-top">
@@ -916,15 +916,15 @@
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_CommandDtoServiceInternal"><code>o.a.i.c.m.s.command</code><br> <code>CommandDtoServiceInternal</code></a></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Creates memento of current action invocation, for use as a serializable XML reified command. The most notable usage of this is to allow the execution of the <code>Command</code> to be deferred to run in the background (via <a href="rgant.html#_rgant-Action_command"><code>@Action#commandExecuteIn()</code></a> or <a href="rgant.html#_rgant-Property_command"><code>@Property#commandExecuteIn()</code></a>.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_CommandDtoServiceInternal"><code>o.a.i.c.m.s.command</code><br> <code>CommandDtoServiceInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Creates memento of current action invocation, for use as a serializable XML reified command. The most notable usage of this is to allow the execution of the <code>Command</code> to be deferred to run in the background (via <a href="../rgant/rgant.html#_rgant-Action_command"><code>@Action#commandExecuteIn()</code></a> or <a href="../rgant/rgant.html#_rgant-Property_command"><code>@Property#commandExecuteIn()</code></a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CommandDtoService-</code><br> <code>InternalServiceDefault</code><br> <code>isis-core-runtime</code></p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_MessageBrokerServiceInternal"><code>o.a.i.c.m.s.msgbroker</code><br> <code>MessageBrokerServiceInternal</code></a></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A wrapper around <a href="rgsvc.html#_rgsvc_api_MessageService"><code>MessageService</code></a>.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_MessageBrokerServiceInternal"><code>o.a.i.c.m.s.msgbroker</code><br> <code>MessageBrokerServiceInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">A wrapper around <a href="../rgsvc/rgsvc.html#_rgsvc_api_MessageService"><code>MessageService</code></a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">MessageBrokerService-`<br> <code>InternalDefault</code><br> <code>isis-core-runtime</code></p></td>
<td class="tableblock halign-left valign-top">
<div>
@@ -934,8 +934,8 @@
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_InteractionDtoServiceInternal"><code>o.a.i.c.m.s.ixn</code><br> <code>InteractionDtoServiceInternal</code></a></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Creates DTO for the current execution of an action invocation or property edit, for use either as a reified command or for implementations of the <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_InteractionDtoServiceInternal"><code>o.a.i.c.m.s.ixn</code><br> <code>InteractionDtoServiceInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Creates DTO for the current execution of an action invocation or property edit, for use either as a reified command or for implementations of the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CommandDtoService-</code><br> <code>InternalServiceDefault</code><br> <code>isis-core-metamodel</code></p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
@@ -979,14 +979,14 @@
</div>
</div>
<div class="paragraph">
- <p>If <a href="rgsvc.html#_rgsvc_api_SudoService"><code>SudoService</code></a> has been used to temporarily override the user and/or roles, then this service will report the overridden values.</p>
+ <p>If <a href="../rgsvc/rgsvc.html#_rgsvc_api_SudoService"><code>SudoService</code></a> has been used to temporarily override the user and/or roles, then this service will report the overridden values.</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_rgfis_spi_CommandDtoServiceInternal">3.2. <code>CommandDtoServiceInternal</code></h3>
<div class="paragraph">
- <p>The <code>CommandDtoServiceInternal</code> is responsible for creating an memento of the current action invocation or property edit, to store in the <code>Command</code> object (from <a href="rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a>). This memento is a JAXB DTO being an instance of the <a href="rgcms.html#_rgcms_schema-cmd">"cmd" schema</a>, so can be reified so that its execution can be deferred until later, as a <a href="rgsvc.html#_rgsvc_spi_BackgroundCommandService">background command</a>.</p>
+ <p>The <code>CommandDtoServiceInternal</code> is responsible for creating an memento of the current action invocation or property edit, to store in the <code>Command</code> object (from <a href="../rgsvc/rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a>). This memento is a JAXB DTO being an instance of the <a href="../rgcms/rgcms.html#_rgcms_schema-cmd">"cmd" schema</a>, so can be reified so that its execution can be deferred until later, as a <a href="../rgsvc/rgsvc.html#_rgsvc_spi_BackgroundCommandService">background command</a>.</p>
</div>
<div class="sect3">
<h4 id="_spi_implementation">3.2.1. SPI & Implementation</h4>
@@ -1028,7 +1028,7 @@
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>Returns a JAXB DTO being an instance of the <a href="rgcms.html#_rgcms_schema-cmd">"cmd" schema</a> (hence convertible to XML) that represents the <em>intention</em> to invoke an action on a target object (or possibly many targets, for bulk actions). If an action, it can also be either mixin action or a contributed action.</td>
+ <td>Returns a JAXB DTO being an instance of the <a href="../rgcms/rgcms.html#_rgcms_schema-cmd">"cmd" schema</a> (hence convertible to XML) that represents the <em>intention</em> to invoke an action on a target object (or possibly many targets, for bulk actions). If an action, it can also be either mixin action or a contributed action.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1036,11 +1036,11 @@
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
- <td>add the arguments of an action to an <code>ActionDto</code>. This is used when the command is actually executed (per <a href="rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a>) to populate the parameters of the equivalent <code>ActionInvocationDto</code>.</td>
+ <td>add the arguments of an action to an <code>ActionDto</code>. This is used when the command is actually executed (per <a href="../rgsvc/rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a>) to populate the parameters of the equivalent <code>ActionInvocationDto</code>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
- <td>add the new value argument of a property to a <code>PropertyDto</code>. This is used when the command is actually executed (per <a href="rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a>) to set the the new value of the equivalent <code>PropertyEditDto</code>.</td>
+ <td>add the new value argument of a property to a <code>PropertyDto</code>. This is used when the command is actually executed (per <a href="../rgsvc/rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a>) to set the the new value of the equivalent <code>PropertyEditDto</code>.</td>
</tr>
</tbody>
</table>
@@ -1052,14 +1052,14 @@
<div class="sect3">
<h4 id="_related_services_3">3.2.2. Related Services</h4>
<div class="paragraph">
- <p>The design of this service is similar to that of <a href="#_rgfis_spi_InteractionDtoServiceInternal"><code>InteractionDtoServiceInternal</code></a>, used to create the <code>MemberExecutionDto</code> (from the <a href="rgcms.html#_rgcms_schema-ixn">"ixn" schema</a>).</p>
+ <p>The design of this service is similar to that of <a href="../rgfis/rgfis.html#_rgfis_spi_InteractionDtoServiceInternal"><code>InteractionDtoServiceInternal</code></a>, used to create the <code>MemberExecutionDto</code> (from the <a href="../rgcms/rgcms.html#_rgcms_schema-ixn">"ixn" schema</a>).</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_rgfis_spi_MessageBrokerServiceInternal">3.3. <code>MessageBrokerServiceInternal</code></h3>
<div class="paragraph">
- <p>The (internal) <code>MessageBrokerServiceInternal</code> domain service is a wrapper around <a href="rgsvc.html#_rgsvc_api_MessageService"><code>MessageService</code></a>.</p>
+ <p>The (internal) <code>MessageBrokerServiceInternal</code> domain service is a wrapper around <a href="../rgsvc/rgsvc.html#_rgsvc_api_MessageService"><code>MessageService</code></a>.</p>
</div>
<div class="admonitionblock note">
<table>
@@ -1097,7 +1097,7 @@
<div class="ulist">
<ul>
<li> <p><code>MessageBrokerServiceInternalDefault</code> is provided by <code>isis-core-runtime</code>, and is used during normal use and integration tests</p> </li>
- <li> <p><code>MessageBrokerServiceInternalNoop</code> is provided as a fallback by <code>isis-core-metamodel</code>, and is provided to allow the <a href="#rgmvn.adoc">maven plugin</a> to be bootstrapped without any "backend" database.</p> </li>
+ <li> <p><code>MessageBrokerServiceInternalNoop</code> is provided as a fallback by <code>isis-core-metamodel</code>, and is provided to allow the <a href="../rgmvn/rgmvn.html">maven plugin</a> to be bootstrapped without any "backend" database.</p> </li>
</ul>
</div>
<div class="paragraph">
@@ -1108,7 +1108,7 @@
<div class="sect2">
<h3 id="_rgfis_spi_InteractionDtoServiceInternal">3.4. <code>InteractionDtoServiceInternal</code></h3>
<div class="paragraph">
- <p>The <code>InteractionDtoServiceInternal</code> internal domain service is used by the framework to create and update DTOs representing member executions, ie the invocation of an action or the editing of a property. The DTO is in all cases a subclass of <code>MemberExecutionDto</code>, from the <a href="rgcms.html#_rgcms_schema-ixn">"ixn" schema</a>, and subsequently accessible from the <code>Interaction</code> object (per the <a href="rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a> service).</p>
+ <p>The <code>InteractionDtoServiceInternal</code> internal domain service is used by the framework to create and update DTOs representing member executions, ie the invocation of an action or the editing of a property. The DTO is in all cases a subclass of <code>MemberExecutionDto</code>, from the <a href="../rgcms/rgcms.html#_rgcms_schema-ixn">"ixn" schema</a>, and subsequently accessible from the <code>Interaction</code> object (per the <a href="../rgsvc/rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a> service).</p>
</div>
<div class="sect3">
<h4 id="_spi_implementation_2">3.4.1. SPI & Implementation</h4>
@@ -1142,7 +1142,7 @@
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>called by the framework when editing a property, to create a DTO (for the <a href="rgcms.html#_rgcms_schema-ixn">"ixn" schema</a>) capturing the details of the property edit (target, new value etc).</td>
+ <td>called by the framework when editing a property, to create a DTO (for the <a href="../rgcms/rgcms.html#_rgcms_schema-ixn">"ixn" schema</a>) capturing the details of the property edit (target, new value etc).</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1158,7 +1158,7 @@
<div class="sect3">
<h4 id="_related_services_4">3.4.2. Related Services</h4>
<div class="paragraph">
- <p>The design of this service is similar to that of <a href="#_rgfis_spi_CommandDtoServiceInternal"><code>CommandDtoServiceInternal</code></a>, used to create the <code>CommandDto</code> (from the <a href="rgcms.html#_rgcms_schema-cmd">"cmd" schema</a>).</p>
+ <p>The design of this service is similar to that of <a href="../rgfis/rgfis.html#_rgfis_spi_CommandDtoServiceInternal"><code>CommandDtoServiceInternal</code></a>, used to create the <code>CommandDto</code> (from the <a href="../rgcms/rgcms.html#_rgcms_schema-cmd">"cmd" schema</a>).</p>
</div>
</div>
</div>
@@ -1194,35 +1194,35 @@
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_AuditingServiceInternal"><code>o.a.i.c.r.s.auditing.</code><br> <code>AuditingServiceInternal</code></a></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Co-ordinates between <a href="#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> and <a href="#_rgfis_spi_AuditerService"><code>AuditerService</code></a>.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_AuditingServiceInternal"><code>o.a.i.c.r.s.auditing.</code><br> <code>AuditingServiceInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Co-ordinates between <a href="../rgfis/rgfis.html#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> and <a href="../rgfis/rgfis.html#_rgfis_spi_AuditerService"><code>AuditerService</code></a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">concrete class.</p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_ChangedObjectsServiceInternal"><code>o.a.i.c.r.s.changes.</code><br> <code>ChangedObjectsServiceInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_ChangedObjectsServiceInternal"><code>o.a.i.c.r.s.changes.</code><br> <code>ChangedObjectsServiceInternal</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Request-scoped service holding objects enlisted into current transaction.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">concrete class.</p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_PersistenceSessionServiceInternal"><code>o.a.i.c.m.s.</code><br> <code>persistsession.</code><br> <code>PersistenceSessionServiceInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_PersistenceSessionServiceInternal"><code>o.a.i.c.m.s.</code><br> <code>persistsession.</code><br> <code>PersistenceSessionServiceInternal</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Acts as a facade to the underlying JDO persistence session / database connection. As such it provides methods for querying and for persisting objects.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>PersistenceSessionService-</code><br> <code>InternalDefault</code><br> <code>isis-core-runtime</code></p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_PublishingServiceInternal"><code>o.a.i.c.m.s.publishing.</code><br> <code>PublishingServiceInternal</code></a></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Co-ordinates between <a href="#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> and <a href="rgsvc.html#_rgsvc_api_MetricsService"><code>MetricsService</code></a> and the SPI services, <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> and (deprecated) <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_PublishingServiceInternal"><code>o.a.i.c.m.s.publishing.</code><br> <code>PublishingServiceInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Co-ordinates between <a href="../rgfis/rgfis.html#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> and <a href="../rgsvc/rgsvc.html#_rgsvc_api_MetricsService"><code>MetricsService</code></a> and the SPI services, <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> and (deprecated) <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>PublishingService-</code><br> <code>InternalDefault</code><br> <code>isis-core-runtime</code></p></td>
<td class="tableblock halign-left valign-top">
<div></div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgfis_spi_TransactionStateProviderInternal"><code>o.a.i.c.m.s.</code><br> <code>transtate.</code><br> <code>TransactionStateProviderInternal</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgfis/rgfis.html#_rgfis_spi_TransactionStateProviderInternal"><code>o.a.i.c.m.s.</code><br> <code>transtate.</code><br> <code>TransactionStateProviderInternal</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Simply provides the ability to check as to the state of the current transaction.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>TransactionStateProvider-</code><br> <code>InternalDefault</code><br> <code>isis-core-runtime</code></p></td>
<td class="tableblock halign-left valign-top">
@@ -1244,7 +1244,7 @@
<div class="sect2">
<h3 id="_rgfis_spi_AuditingServiceInternal">4.1. <code>AuditingServiceInternal</code></h3>
<div class="paragraph">
- <p>The (internal) <code>AuditingServiceInternal</code> domain service acts as an internal facade to any configured <a href="rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a> and <a href="rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditerService</code></a> services. It is responsible for obtaining the details of all changes to domain objects within an interaction, and then to call the configured <code>AuditingService</code> to actually create audit entries of those changes.</p>
+ <p>The (internal) <code>AuditingServiceInternal</code> domain service acts as an internal facade to any configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a> and <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditerService</code></a> services. It is responsible for obtaining the details of all changes to domain objects within an interaction, and then to call the configured <code>AuditingService</code> to actually create audit entries of those changes.</p>
</div>
<div class="admonitionblock note">
<table>
@@ -1253,7 +1253,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p><a href="rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a> is now deprecated, replaced by <a href="rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditerService</code></a>.</p>
+ <p><a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a> is now deprecated, replaced by <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditerService</code></a>.</p>
</div> </td>
</tr>
</tbody>
@@ -1277,11 +1277,11 @@
<tbody>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>minor performance optimization as to whether any auditing services are actually enabled; checks to see if any <a href="rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a> has been configured, also if any <a href="rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditService</code></a> are enabled.</td>
+ <td>minor performance optimization as to whether any auditing services are actually enabled; checks to see if any <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a> has been configured, also if any <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditerService"><code>AuditService</code></a> are enabled.</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>uses the <a href="#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> to obtain details of the changed properties, then call the configured <a href="rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a>.</td>
+ <td>uses the <a href="../rgfis/rgfis.html#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> to obtain details of the changed properties, then call the configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a>.</td>
</tr>
</tbody>
</table>
@@ -1293,23 +1293,23 @@
<div class="sect3">
<h4 id="_registering_the_service">4.1.2. Registering the Service</h4>
<div class="paragraph">
- <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>AuditingServiceInternal</code> class is automatically registered (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
+ <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="../rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>AuditingServiceInternal</code> class is automatically registered (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
</div>
</div>
<div class="sect3">
<h4 id="_related_classes">4.1.3. Related Classes</h4>
<div class="paragraph">
- <p>The service delegates between the (internal) <a href="#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> domain service to the configured <a href="rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a>. If no such <code>AuditingService</code> is configured, this service is in effect a no-op.</p>
+ <p>The service delegates between the (internal) <a href="../rgfis/rgfis.html#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> domain service to the configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_AuditingService"><code>AuditingService</code></a>. If no such <code>AuditingService</code> is configured, this service is in effect a no-op.</p>
</div>
<div class="paragraph">
- <p>The (internal) <a href="#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a> performs a similar function for the <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>, also collating details of the changed objects from <code>ChangedObjectsServiceInternal</code>.</p>
+ <p>The (internal) <a href="../rgfis/rgfis.html#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a> performs a similar function for the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>, also collating details of the changed objects from <code>ChangedObjectsServiceInternal</code>.</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_rgfis_spi_ChangedObjectsServiceInternal">4.2. <code>ChangedObjectsServiceInternal</code></h3>
<div class="paragraph">
- <p>The <code>ChangedObjectsServiceInternal</code> class is an (internal) request-scoped domain service that is responsible for collecting the details of all changes to domain objects within an interaction. This is then used by various other (internal) domain services, notably <a href="#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> and <a href="#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a>.</p>
+ <p>The <code>ChangedObjectsServiceInternal</code> class is an (internal) request-scoped domain service that is responsible for collecting the details of all changes to domain objects within an interaction. This is then used by various other (internal) domain services, notably <a href="../rgfis/rgfis.html#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> and <a href="../rgfis/rgfis.html#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a>.</p>
</div>
<div class="sect3">
<h4 id="_spi_and_implementation_3">4.2.1. SPI and Implementation</h4>
@@ -1345,15 +1345,15 @@
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>Used by the framework to determine whether to set the "persist hint" on the <code>Command</code> object (as per <a href="rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a>).</td>
+ <td>Used by the framework to determine whether to set the "persist hint" on the <code>Command</code> object (as per <a href="../rgsvc/rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a>).</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
- <td>Used by <a href="#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a> to obtain details of and counters of all objects changed within the transaction.</td>
+ <td>Used by <a href="../rgfis/rgfis.html#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a> to obtain details of and counters of all objects changed within the transaction.</td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
- <td>Used by <a href="#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> to obtain all pairs of pre/post values of changed properties</td>
+ <td>Used by <a href="../rgfis/rgfis.html#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> to obtain all pairs of pre/post values of changed properties</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
@@ -1372,13 +1372,13 @@
<div class="sect3">
<h4 id="_registering_the_service_2">4.2.2. Registering the Service</h4>
<div class="paragraph">
- <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>ChangedObjectsServiceInternal</code> class is automatically registered (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
+ <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="../rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>ChangedObjectsServiceInternal</code> class is automatically registered (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
</div>
</div>
<div class="sect3">
<h4 id="_related_classes_2">4.2.3. Related Classes</h4>
<div class="paragraph">
- <p>Both the <a href="#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> and <a href="#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a> (internal) domain services query this object.</p>
+ <p>Both the <a href="../rgfis/rgfis.html#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> and <a href="../rgfis/rgfis.html#_rgfis_spi_PublishingServiceInternal"><code>PublishingServiceInternal</code></a> (internal) domain services query this object.</p>
</div>
</div>
</div>
@@ -1509,7 +1509,7 @@
<div class="ulist">
<ul>
<li> <p><code>PersistenceSessionServiceInternalDefault</code> is provided by <code>isis-core-runtime</code>, and is used during normal use and integration tests</p> </li>
- <li> <p><code>PersistenceSessionServiceInternalNoop</code> is provided as a fallback by <code>isis-core-metamodel</code>, and is provided to allow the <a href="#rgmvn.adoc">maven plugin</a> to be bootstrapped without any "backend" database.</p> </li>
+ <li> <p><code>PersistenceSessionServiceInternalNoop</code> is provided as a fallback by <code>isis-core-metamodel</code>, and is provided to allow the <a href="../rgmvn/rgmvn.html">maven plugin</a> to be bootstrapped without any "backend" database.</p> </li>
</ul>
</div>
<div class="paragraph">
@@ -1520,13 +1520,13 @@
<div class="sect2">
<h3 id="_rgfis_spi_PublishingServiceInternal">4.4. <code>PublishingServiceInternal</code></h3>
<div class="paragraph">
- <p>The (internal) <code>PublishingServiceInternal</code> domain service acts as an internal facade to any configured <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> or (deprecated) <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a> domain services.</p>
+ <p>The (internal) <code>PublishingServiceInternal</code> domain service acts as an internal facade to any configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> or (deprecated) <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a> domain services.</p>
</div>
<div class="paragraph">
<p>For published action invocations/ property edits, it provides an API for those member executions to call.</p>
</div>
<div class="paragraph">
- <p>For published objects, it provides an API for the framework to call at the end of the interaction; it obtains details of the changed objects (from the <a href="#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a>) and filters them to just those objects that are to be published; these are then passed through to any configured <code>PublisherService</code> or <code>PublishingService</code> implementations.</p>
+ <p>For published objects, it provides an API for the framework to call at the end of the interaction; it obtains details of the changed objects (from the <a href="../rgfis/rgfis.html#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a>) and filters them to just those objects that are to be published; these are then passed through to any configured <code>PublisherService</code> or <code>PublishingService</code> implementations.</p>
</div>
<div class="sect3">
<h4 id="_spi_and_implementation_4">4.4.1. SPI and Implementation</h4>
@@ -1554,19 +1554,19 @@
<tbody>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>to publish an action invocation, as represented by the specified member <code>Execution</code> parameter and with the <a href="rgant.html#_rgant-Action_publishing"><code>@Action#publishing()</code></a> annotation attribute or equivalent, to any configured <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>. The <code>Execution</code> object will be an instance of <code>ActionInvocation</code> (see <a href="rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a> for details).</td>
+ <td>to publish an action invocation, as represented by the specified member <code>Execution</code> parameter and with the <a href="../rgant/rgant.html#_rgant-Action_publishing"><code>@Action#publishing()</code></a> annotation attribute or equivalent, to any configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>. The <code>Execution</code> object will be an instance of <code>ActionInvocation</code> (see <a href="../rgsvc/rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a> for details).</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>the remaining parameters are to support the publishing of the action to any configured <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a> services (deprecated).</td>
+ <td>the remaining parameters are to support the publishing of the action to any configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a> services (deprecated).</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
- <td>to publish a property edit, as as represented by the specified member <code>Execution</code> parameter and with the <a href="rgant.html#_rgant-Property_publishing"><code>@Property#publishing()</code></a> annotation attribute or equivalent, to any configured <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>. The <code>Execution</code> object will be an instance of <code>PropertyEdit</code> (see <a href="rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a> for details).</td>
+ <td>to publish a property edit, as as represented by the specified member <code>Execution</code> parameter and with the <a href="../rgant/rgant.html#_rgant-Property_publishing"><code>@Property#publishing()</code></a> annotation attribute or equivalent, to any configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>. The <code>Execution</code> object will be an instance of <code>PropertyEdit</code> (see <a href="../rgsvc/rgsvc.html#_rgsvc_api_InteractionContext"><code>InteractionContext</code></a> for details).</td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
- <td>to publish all changed objects that are to be published (with the <a href="rgant.html#_rgant-DomainObject_publishing"><code>@DomainObject#publishing()</code></a> annotation attribute or equivalent).</td>
+ <td>to publish all changed objects that are to be published (with the <a href="../rgant/rgant.html#_rgant-DomainObject_publishing"><code>@DomainObject#publishing()</code></a> annotation attribute or equivalent).</td>
</tr>
</tbody>
</table>
@@ -1578,16 +1578,16 @@
<div class="sect3">
<h4 id="_registering_the_service_3">4.4.2. Registering the Service</h4>
<div class="paragraph">
- <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>PublishingServiceInternal</code> class is automatically registered (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
+ <p>Assuming that the <code>configuration-and-annotation</code> services installer is configured (implicit if using the <code>AppManifest</code> to <a href="../rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping">bootstrap the app</a>) then Apache Isis' default implementation of <code>PublishingServiceInternal</code> class is automatically registered (it is annotated with <code>@DomainService</code>) so no further configuration is required.</p>
</div>
</div>
<div class="sect3">
<h4 id="_related_classes_3">4.4.3. Related Classes</h4>
<div class="paragraph">
- <p>The service delegates between the (internal) <a href="#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> domain service to the configured <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> and <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p>
+ <p>The service delegates between the (internal) <a href="../rgfis/rgfis.html#_rgfis_spi_ChangedObjectsServiceInternal"><code>ChangedObjectsServiceInternal</code></a> domain service to the configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a> and <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p>
</div>
<div class="paragraph">
- <p>The (internal) <a href="#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> performs a similar function for the <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>, also collating details of the changed objects from <code>ChangedObjectsServiceInternal</code>.</p>
+ <p>The (internal) <a href="../rgfis/rgfis.html#_rgfis_spi_AuditingServiceInternal"><code>AuditingServiceInternal</code></a> performs a similar function for the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>, also collating details of the changed objects from <code>ChangedObjectsServiceInternal</code>.</p>
</div>
</div>
</div>
@@ -1603,7 +1603,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>The service will probably be combined with <a href="rgsvc.html#_rgsvc_api_TransactionService"><code>TransactionService</code></a> in the future.</p>
+ <p>The service will probably be combined with <a href="../rgsvc/rgsvc.html#_rgsvc_api_TransactionService"><code>TransactionService</code></a> in the future.</p>
</div> </td>
</tr>
</tbody>
@@ -1630,7 +1630,7 @@
<div class="ulist">
<ul>
<li> <p><code>TransactionStateProviderInternalDefault</code> is provided by <code>isis-core-runtime</code>, and is used during normal use and integration tests</p> </li>
- <li> <p><code>TransactionStateProviderInternalNoop</code> is provided as a fallback by <code>isis-core-metamodel</code>, and is provided to allow the <a href="#rgmvn.adoc">maven plugin</a> to be bootstrapped without any "backend" database.</p> </li>
+ <li> <p><code>TransactionStateProviderInternalNoop</code> is provided as a fallback by <code>isis-core-metamodel</code>, and is provided to allow the <a href="../rgmvn/rgmvn.html">maven plugin</a> to be bootstrapped without any "backend" database.</p> </li>
</ul>
</div>
<div class="paragraph">
[08/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugtst/ugtst.html
----------------------------------------------------------------------
diff --git a/content/guides/ugtst/ugtst.html b/content/guides/ugtst/ugtst.html
index 03b6ccc..2a0c45a 100644
--- a/content/guides/ugtst/ugtst.html
+++ b/content/guides/ugtst/ugtst.html
@@ -498,7 +498,7 @@
<p>For most other frameworks that would require having to test the application in a very heavy weight/fragile fashion using a tool such as <a href="http://docs.seleniumhq.org/">Selenium</a>, 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.</p>
</div>
<div class="paragraph">
- <p>The <a href="rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a> domain service allows a test to wrap domain objects and thus to interact with said objects "as if" through the UI:</p>
+ <p>The <a href="../rgsvc/rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a> domain service allows a test to wrap domain objects and thus to interact with said objects "as if" through the UI:</p>
</div>
<div class="imageblock">
<div class="content">
@@ -593,7 +593,7 @@ CustomerRepository customers;</code></pre>
<p>For integration tests though it can be difficult to keep the "given" short; there could be a lot of prerequisite data that needs to exist before you can actually exercise your system. Moreover, however we do set up that data, but we also want to do so in a way that is resilient to the system changing over time.</p>
</div>
<div class="paragraph">
- <p>The solution that Apache Isis provides is a domain service called <a href="rgcms.html#_rgcms_classes_super_FixtureScripts">Fixture Scripts</a>, that defines a pattern and supporting classes to help ensure that the "data setup" for your tests are reusable and maintainable over time.</p>
+ <p>The solution that Apache Isis provides is a domain service called <a href="../rgcms/rgcms.html#_rgcms_classes_super_FixtureScripts">Fixture Scripts</a>, that defines a pattern and supporting classes to help ensure that the "data setup" for your tests are reusable and maintainable over time.</p>
</div>
</div>
<div class="sect2">
@@ -689,7 +689,7 @@ CustomerRepository customers;</code></pre>
<li> <p>first, <code>Set</code>s align more closely to the relational model than do <code>List</code>s. A <code>List</code> must have an additional index to specify order.</p> </li>
<li> <p>second, <code>SortedSet</code> is preferable to <code>Set</code> because then the order is well-defined and predictable (to an end user, to the programmer).<br></p>
<div class="paragraph">
- <p>The <a href="rgcms.html#_rgcms_classes_utility_ObjectContracts"><code>ObjectContracts</code></a> utility class substantially simplifies the task of implementing <code>Comparable</code> in your domain classes.</p>
+ <p>The <a href="../rgcms/rgcms.html#_rgcms_classes_utility_ObjectContracts"><code>ObjectContracts</code></a> utility class substantially simplifies the task of implementing <code>Comparable</code> in your domain classes.</p>
</div> </li>
<li> <p>third, if the relationship is bidirectional then JDO/Objectstore will automatically maintain the relationship.</p> </li>
</ul>
@@ -715,7 +715,7 @@ CustomerRepository customers;</code></pre>
<div class="sect3">
<h4 id="_bidirectional">3.1.2. Bidirectional</h4>
<div class="paragraph">
- <p>This contract test automatically checks that bidirectional 1:m or 1:1 associations are being maintained correctly (assuming that they follow the <a href="ugfun.html#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships">mutual registration pattern</a></p>
+ <p>This contract test automatically checks that bidirectional 1:m or 1:1 associations are being maintained correctly (assuming that they follow the <a href="../ugfun/ugfun.html#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships">mutual registration pattern</a></p>
</div>
<div class="admonitionblock tip">
<table>
@@ -724,7 +724,7 @@ CustomerRepository customers;</code></pre>
<td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
<td class="content">
<div class="paragraph">
- <p>(If using the JDO objectstore, then) there is generally no need to programmatically maintain 1:m relationships (indeed it may introduce subtle errors). For more details, see <a href="ugfun.html#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships">here</a>. Also check out the templates in the developers' guide (<a href="dg.html#<em>dg_ide_intellij_live-templates">live templates for IntelliJ</a> / <a href="dg.html#</em>dg_ide_eclipse_editor-templates">editor templates for Eclipse</a>) for further guidance.</p>
+ <p>(If using the JDO objectstore, then) there is generally no need to programmatically maintain 1:m relationships (indeed it may introduce subtle errors). For more details, see <a href="../ugfun/ugfun.html#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships">here</a>. Also check out the templates in the developers' guide (<a href="../dg/dg.html#<em>dg_ide_intellij_live-templates">live templates for IntelliJ</a> / <a href="../dg/dg.html#</em>dg_ide_eclipse_editor-templates">editor templates for Eclipse</a>) for further guidance.</p>
</div> </td>
</tr>
</tbody>
@@ -1096,7 +1096,7 @@ CustomerRepository customers;</code></pre>
<h3 id="_ugtst_unit-test-support_maven-configuration">3.4. Maven Configuration</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_unit-test-support_maven-configuration.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>Apache Isis' unit test support is automatically configured if you use the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. To set it up manually, update the <code>pom.xml</code> of your domain object model module:</p>
+ <p>Apache Isis' unit test support is automatically configured if you use the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. To set it up manually, update the <code>pom.xml</code> of your domain object model module:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -1230,7 +1230,7 @@ CustomerRepository customers;</code></pre>
<tbody>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>the <a href="rgcms.html#_rgcms_classes_super_FixtureScripts"><code>FixtureScripts</code></a> domain service is injected, providing us with the ability to run fixture scripts</td>
+ <td>the <a href="../rgcms/rgcms.html#_rgcms_classes_super_FixtureScripts"><code>FixtureScripts</code></a> domain service is injected, providing us with the ability to run fixture scripts</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
@@ -1356,10 +1356,10 @@ CustomerRepository customers;</code></pre>
<p>Nevertheless, we do need to bootstrap the runtime for the very first test.</p>
</div>
<div class="paragraph">
- <p>As of 1.9.0 the bootstrapping of integration tests and webapps has been simplified through the <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping"><code>AppManifest</code></a> class. Since this isn\u2019t mandatory, for now we present both techniques.</p>
+ <p>As of 1.9.0 the bootstrapping of integration tests and webapps has been simplified through the <a href="../rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping"><code>AppManifest</code></a> class. Since this isn\u2019t mandatory, for now we present both techniques.</p>
</div>
<div class="paragraph">
- <p>The example code in this section is taken from the app generated by the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
+ <p>The example code in this section is taken from the app generated by the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
</div>
<div class="sect3">
<h4 id="_system_initializer">4.2.1. System Initializer</h4>
@@ -1446,7 +1446,7 @@ CustomerRepository customers;</code></pre>
</div>
</div>
<div class="paragraph">
- <p>Further details on bootstrapping with the <code>AppManifest</code> can be found in the <a href="rgcms.html#_rgcms_classes_AppManifest-bootstrapping">reference guide</a>.</p>
+ <p>Further details on bootstrapping with the <code>AppManifest</code> can be found in the <a href="../rgcms/rgcms.html#_rgcms_classes_AppManifest-bootstrapping">reference guide</a>.</p>
</div>
</div>
<div class="sect4">
@@ -1800,7 +1800,7 @@ CustomerRepository customers;</code></pre>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
- <td>primarily exists to support the writing of <a href="#_ugtst_bdd-spec-support">BDD specifications</a>, but also enables finer-grained management of sessions/transactions (discussed below).</td>
+ <td>primarily exists to support the writing of <a href="../ugtst/ugtst.html#_ugtst_bdd-spec-support">BDD specifications</a>, but also enables finer-grained management of sessions/transactions (discussed below).</td>
</tr>
</tbody>
</table>
@@ -1845,7 +1845,7 @@ CustomerRepository customers;</code></pre>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>sets up a JMock context (using Apache Isis' extension to JMock as described in <a href="#_ugtst_unit-test-support_jmock-extensions">JMock Extensions</a>.</td>
+ <td>sets up a JMock context (using Apache Isis' extension to JMock as described in <a href="../ugtst/ugtst.html#_ugtst_unit-test-support_jmock-extensions">JMock Extensions</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1853,7 +1853,7 @@ CustomerRepository customers;</code></pre>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
- <td>to capture messages that require translation, as described in <a href="ugbtb.html#_ugbtb_i18n">i18 support</a>.</td>
+ <td>to capture messages that require translation, as described in <a href="../ugbtb/ugbtb.html#_ugbtb_i18n">i18 support</a>.</td>
</tr>
</tbody>
</table>
@@ -1866,15 +1866,15 @@ CustomerRepository customers;</code></pre>
</div>
<div class="ulist">
<ul>
- <li> <p><a href="rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a><br></p>
+ <li> <p><a href="../rgsvc/rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a><br></p>
<div class="paragraph">
<p>to wrap objects simulating interaction through the user interface)</p>
</div> </li>
- <li> <p><a href="rgsvc.html#_rgsvc_api_TransactionService"><code>TransactionService</code></a><br></p>
+ <li> <p><a href="../rgsvc/rgsvc.html#_rgsvc_api_TransactionService"><code>TransactionService</code></a><br></p>
<div class="paragraph">
<p>most commonly used to commit changes after the fixture setup) and,</p>
</div> </li>
- <li> <p><a href="rgsvc.html#_rgsvc_api_SessionManagementService"><code>SessionManagementService</code></a><br></p>
+ <li> <p><a href="../rgsvc/rgsvc.html#_rgsvc_api_SessionManagementService"><code>SessionManagementService</code></a><br></p>
<div class="paragraph">
<p>for tests that check interactions over multiple separate sessions.</p>
</div> </li>
@@ -1887,7 +1887,7 @@ CustomerRepository customers;</code></pre>
<h3 id="_ugtst_integ-test-support_wrapper-factory">4.3. Wrapper Factory</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_wrapper-factory.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>The <a href="rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a> service is responsible for wrapping a domain object in a dynamic proxy, of the same type as the object being proxied. And the role of this wrapper is to simulate the UI.</p>
+ <p>The <a href="../rgsvc/rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a> service is responsible for wrapping a domain object in a dynamic proxy, of the same type as the object being proxied. And the role of this wrapper is to simulate the UI.</p>
</div>
<div class="admonitionblock note">
<table>
@@ -1986,7 +1986,7 @@ Customer customer = (Customer)((WrappingObject)wrappedCustomer).__isis_wrapped()
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>In this respect the wrapper is more functional than the <a href="ugvw.html">Wicket viewer</a> (which does not expose the ability to mutate collections directly).</p>
+ <p>In this respect the wrapper is more functional than the <a href="../ugvw/ugvw.html">Wicket viewer</a> (which does not expose the ability to mutate collections directly).</p>
</div> </td>
</tr>
</tbody>
@@ -2058,7 +2058,7 @@ Customer customer = (Customer)((WrappingObject)wrappedCustomer).__isis_wrapped()
<tbody>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
- <td>inject <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> into this test</td>
+ <td>inject <a href="../rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> into this test</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
@@ -2101,7 +2101,7 @@ Customer customer = (Customer)((WrappingObject)wrappedCustomer).__isis_wrapped()
<h3 id="_ugtst_integ-test-support_maven-configuration">4.4. Maven Configuration</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_integ-test-support_maven-configuration.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>Apache Isis' integration test support is automatically configured if you use the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. To set it up manually, update the <code>pom.xml</code> of your domain object model module:</p>
+ <p>Apache Isis' integration test support is automatically configured if you use the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. To set it up manually, update the <code>pom.xml</code> of your domain object model module:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2189,7 +2189,7 @@ Customer customer = (Customer)((WrappingObject)wrappedCustomer).__isis_wrapped()
<tbody>
<tr>
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
- <td class="content"> some of these are also used by Apache Isis' <a href="#_ugtst_integ-test-support">Integration Test support</a>. </td>
+ <td class="content"> some of these are also used by Apache Isis' <a href="../ugtst/ugtst.html#_ugtst_integ-test-support">Integration Test support</a>. </td>
</tr>
</tbody>
</table>
@@ -2274,11 +2274,11 @@ Customer customer = (Customer)((WrappingObject)wrappedCustomer).__isis_wrapped()
<div class="paragraph">
<p>The <code>glue</code> attribute of the Cucumber-JVM JUnit runner eallows you to indicate which package(s) should be recursively searched to find any glue.</p>
</div> </li>
- <li> <p>a system initializer class. You can reuse the system initializer from any integration tests (as described in <a href="#_ugtst_integ-test-support">Integration Test Support</a>, bootstrapping section).</p> </li>
+ <li> <p>a system initializer class. You can reuse the system initializer from any integration tests (as described in <a href="../ugtst/ugtst.html#_ugtst_integ-test-support">Integration Test Support</a>, bootstrapping section).</p> </li>
</ul>
</div>
<div class="paragraph">
- <p>Here\u2019s an example of a feature from the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
+ <p>Here\u2019s an example of a feature from the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2311,7 +2311,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
<p>To support unit testing scope Apache Isis provides the <code>InMemoryDB</code> class; a glorified hashmap of "persisted" objects. Use of this utility class is optional.</p>
</div>
<div class="paragraph">
- <p>Writing a BDD spec that supports both modes of operation therefore takes more effort and we expect most users interested in BDD will use integration-testing scope; for these reasons we have chosen <em>not</em> to include unit-testing support in the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. For those who do require faster-executing test suite, it\u2019s worthwhile knowing that Apache Isis can support this.</p>
+ <p>Writing a BDD spec that supports both modes of operation therefore takes more effort and we expect most users interested in BDD will use integration-testing scope; for these reasons we have chosen <em>not</em> to include unit-testing support in the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. For those who do require faster-executing test suite, it\u2019s worthwhile knowing that Apache Isis can support this.</p>
</div> </td>
</tr>
</tbody>
@@ -2337,7 +2337,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
</div>
</div>
<div class="paragraph">
- <p>The JSON formatter allows integration with enhanced reports, for example as provided by <a href="http://www.masterthought.net/section/cucumber-reporting">Masterthought.net</a> (screenshots at end of page). (Commented out) configuration for this is provided in the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
+ <p>The JSON formatter allows integration with enhanced reports, for example as provided by <a href="http://www.masterthought.net/section/cucumber-reporting">Masterthought.net</a> (screenshots at end of page). (Commented out) configuration for this is provided in the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
</div>
<div class="paragraph">
<p>The bootstrapping of Apache Isis can be moved into a <code>BootstrappingGlue</code> step definition:</p>
@@ -2425,7 +2425,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
<h3 id="_ugtst_bdd-spec-support_maven-configuration">5.5. Maven Configuration</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugtst/_ugtst_bdd-spec-support_maven-configuration.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>Apache Isis' BDD spec support is automatically configured if you use the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. To set it up manually, update the <code>pom.xml</code> of your domain object model module:</p>
+ <p>Apache Isis' BDD spec support is automatically configured if you use the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>. To set it up manually, update the <code>pom.xml</code> of your domain object model module:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2573,13 +2573,13 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
<p>The original (pre-1.9.0) approach is to subclass subclass <code>FixtureScripts</code> domain service, with your subclass specifying which package to search for. Various other settings can also be provided, and - being a custom class - you can also add in additional actions. A common example is to provide a "one-shot" action to recreate a standard demo set of objects.</p>
</div>
<div class="paragraph">
- <p>As of 1.9.0 there is an alternative design. Instead of subclassing <code>FixtureScripts</code> you instead implement the <a href="rgsvc.html#_rgsvc_spi_FixtureScriptsSpecificationProvider"><code>FixtureScriptsSpecificationProvider</code></a> SPI. (As its name suggests), this provides a <code>FixtureScriptsSpecification</code> object that contains the same information as would otherwise have been in the <code>FixtureScripts</code> subclass.</p>
+ <p>As of 1.9.0 there is an alternative design. Instead of subclassing <code>FixtureScripts</code> you instead implement the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_FixtureScriptsSpecificationProvider"><code>FixtureScriptsSpecificationProvider</code></a> SPI. (As its name suggests), this provides a <code>FixtureScriptsSpecification</code> object that contains the same information as would otherwise have been in the <code>FixtureScripts</code> subclass.</p>
</div>
<div class="paragraph">
- <p>The actual implementation of the <code>FixtureScripts</code> service is then provided by the framework itself, namely the <a href="rgsvc.html#_rgsvc_api_FixtureScriptsDefault"><code>FixtureScriptsDefault</code></a> domain service, annotated to be rendered on the secondary "Prototyping" menu. This uses the <code>FixtureScriptsSpecificationProvider</code> to adjust itself accordinly.</p>
+ <p>The actual implementation of the <code>FixtureScripts</code> service is then provided by the framework itself, namely the <a href="../rgsvc/rgsvc.html#_rgsvc_api_FixtureScriptsDefault"><code>FixtureScriptsDefault</code></a> domain service, annotated to be rendered on the secondary "Prototyping" menu. This uses the <code>FixtureScriptsSpecificationProvider</code> to adjust itself accordinly.</p>
</div>
<div class="paragraph">
- <p>For example, here\u2019s the <code>FixtureScriptsSpecificationProvider</code> service that\u2019s generated by the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
+ <p>For example, here\u2019s the <code>FixtureScriptsSpecificationProvider</code> service that\u2019s generated by the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2607,7 +2607,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
- <td>if the same fixture script (class) is encountered more than once, then run anyway; more on this in <a href="#__ugtst_fixture-scripts_api-and-usage_organizing">Organizing Fixture scripts</a>], below.</td>
+ <td>if the same fixture script (class) is encountered more than once, then run anyway; more on this in <a href="../ugtst/ugtst.html#__ugtst_fixture-scripts_api-and-usage_organizing">Organizing Fixture scripts</a>], below.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -2676,7 +2676,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
- <td>if the same fixture script (class) is encountered more than once, then run anyway; more on this in <a href="#__ugtst_fixture-scripts_api-and-usage_organizing">Organizing Fixture scripts</a>], below.</td>
+ <td>if the same fixture script (class) is encountered more than once, then run anyway; more on this in <a href="../ugtst/ugtst.html#__ugtst_fixture-scripts_api-and-usage_organizing">Organizing Fixture scripts</a>], below.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
@@ -2728,7 +2728,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
</div>
</div>
<div class="paragraph">
- <p>You are free, of course, to add additional "convenience" actions into it if you wish for the most commonly used/demo\u2019d setups ; you\u2019ll find that the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a> adds this additional action:</p>
+ <p>You are free, of course, to add additional "convenience" actions into it if you wish for the most commonly used/demo\u2019d setups ; you\u2019ll find that the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a> adds this additional action:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2755,7 +2755,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
<p>A fixture script is ultimately just a block of code that can be executed, so it\u2019s up to you how you implement it to set up the system. However, we strongly recommend that you use it to invoke actions on business objects, in essence to replay what a real-life user would have done. That way, the fixture script will remain valid even if the underlying implementation of the system changes in the future.</p>
</div>
<div class="paragraph">
- <p>Here\u2019s the <code>RecreateSimpleObjects</code> fixture script from the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
+ <p>Here\u2019s the <code>RecreateSimpleObjects</code> fixture script from the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2914,7 +2914,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
- <td>wrap the injected <code>SimpleObjects</code> domain service (using the <a href="rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a>) to simulate interaction through the UI\u2026\u200b</td>
+ <td>wrap the injected <code>SimpleObjects</code> domain service (using the <a href="../rgsvc/rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a>) to simulate interaction through the UI\u2026\u200b</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
@@ -2938,7 +2938,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
<p>Fixture scripts can be called from integration tests just the same way that fixture scripts can call one another.</p>
</div>
<div class="paragraph">
- <p>For example, here\u2019s an integration test from the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
+ <p>For example, here\u2019s an integration test from the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -3004,7 +3004,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
</div>
<div class="ulist">
<ul>
- <li> <p>a fairly flat style, eg as in the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>, also as in the <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>;</p> </li>
+ <li> <p>a fairly flat style, eg as in the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>, also as in the <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>;</p> </li>
<li> <p>in a "composite pattern" style, eg as in the <a href="https://github.com/estatio/estatio/blob/ea20a6ce257acede50de6ce4fd2ff29713fcd689/estatioapp/fixture/src/main/java/org/estatio/fixture/invoice/InvoiceForLeaseItemTypeOfDiscountOneQuarterForOxfMiracle005.java#L66)">Estatio open source app</a>.</p> </li>
</ul>
</div>
@@ -3042,7 +3042,7 @@ Feature: <span class="predefined-type">List</span> and Create New Simple Objects
<p>Back in the earlier section we noted the <code>MultipleExecutionStrategy</code> setting. We can now explain the meaning of this: the enum value of <code>EXECUTE</code> is designed for the flat style (where every fixture script will be called), whereas the enum value of <code>IGNORE</code> is designed for the composite style, and ensures that any fixture scripts visited more than once (eg TearDown) are only every executed the first time.</p>
</div>
<div class="paragraph">
- <p>As already noted , the app generated by the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a> uses the flat structure, and we feel that it\u2019s a better at separating out the "how" (how we set up some graph of domain objects into a known state, eg a customer with shipped placed orders and a newly placed order) from the "what" (what data should we actually use for the customer\u2019s name, say).</p>
+ <p>As already noted , the app generated by the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a> uses the flat structure, and we feel that it\u2019s a better at separating out the "how" (how we set up some graph of domain objects into a known state, eg a customer with shipped placed orders and a newly placed order) from the "what" (what data should we actually use for the customer\u2019s name, say).</p>
</div>
<div class="paragraph">
<p>The composite style tends to combine these, which one could argue does not separate responsibilities well enough. On the other hand, one could also make an argument that the composite style is a good way to implement precanned personas, eg "Joe", the customer who has a newly placed order, from "Mary" customer who has none.</p>
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugtst/ugtst.pdf
----------------------------------------------------------------------
diff --git a/content/guides/ugtst/ugtst.pdf b/content/guides/ugtst/ugtst.pdf
index a4246ae..283cdc7 100644
--- a/content/guides/ugtst/ugtst.pdf
+++ b/content/guides/ugtst/ugtst.pdf
@@ -4,8 +4,8 @@
<< /Title (Testing)
/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:20170411195556+01'00')
-/ModDate (D:20170411195556+01'00')
+/CreationDate (D:20170420093420+01'00')
+/ModDate (D:20170420093420+01'00')
>>
endobj
2 0 obj
@@ -3517,7 +3517,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_WrapperFactory)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_WrapperFactory)
>>
/Subtype /Link
/Rect [70.62936067708333 658.746 144.12936067708333 669.246]
@@ -4617,7 +4617,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_super_FixtureScripts)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_super_FixtureScripts)
>>
/Subtype /Link
/Rect [393.1932666666666 67.47000000000014 468.34719999999993 81.75000000000014]
@@ -6808,7 +6808,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_utility_ObjectContracts)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_utility_ObjectContracts)
>>
/Subtype /Link
/Rect [88.05504166666667 149.97600000000025 166.80504166666668 160.47600000000025]
@@ -8877,7 +8877,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships)
+/URI (../ugfun/ugfun.pdf#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships)
>>
/Subtype /Link
/Rect [310.4565 549.8100000000002 447.544294921875 564.0900000000003]
@@ -8888,7 +8888,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships)
+/URI (../ugfun/ugfun.pdf#_ugfun_how-tos_entity-relationships_managed-1-to-m-bidirectional-relationships)
>>
/Subtype /Link
/Rect [187.83921794871793 486.4700000000003 210.67671794871796 500.7500000000003]
@@ -8899,7 +8899,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (dg.pdf#<em>dg_ide_intellij_live-templates)
+/URI (../dg/dg.pdf#<em>dg_ide_intellij_live-templates)
>>
/Subtype /Link
/Rect [516.7384999999999 486.4700000000003 535.04 500.7500000000003]
@@ -8910,7 +8910,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (dg.pdf#<em>dg_ide_intellij_live-templates)
+/URI (../dg/dg.pdf#<em>dg_ide_intellij_live-templates)
>>
/Subtype /Link
/Rect [125.80666666666667 470.69000000000034 228.52816666666666 484.9700000000003]
@@ -8921,7 +8921,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (dg.pdf#</em>dg_ide_eclipse_editor-templates)
+/URI (../dg/dg.pdf#</em>dg_ide_eclipse_editor-templates)
>>
/Subtype /Link
/Rect [236.9911666666667 470.69000000000034 374.1001666666667 484.9700000000003]
@@ -19011,7 +19011,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [416.53209531249996 307.78 524.7734782552083 322.05999999999995]
@@ -24591,7 +24591,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_super_FixtureScripts)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_super_FixtureScripts)
>>
/Subtype /Link
/Rect [83.499 499.1359999999999 156.999 509.6359999999999]
@@ -26298,7 +26298,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [48.239999999999995 118.05600000000001 105.99000000000001 128.556]
@@ -26309,7 +26309,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [408.746384765625 88.68 515.972384765625 102.96000000000001]
@@ -30975,7 +30975,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_AppManifest-bootstrapping)
>>
/Subtype /Link
/Rect [417.6087949218751 326.58000000000004 496.2117949218751 340.86]
@@ -37848,7 +37848,10 @@ endobj
endobj
150 0 obj
<< /Border [0 0 0]
-/Dest (_ugtst_bdd-spec-support)
+/A << /Type /Action
+/S /URI
+/URI (../ugtst/ugtst.pdf#_ugtst_bdd-spec-support)
+>>
/Subtype /Link
/Rect [287.61678629557287 283.36400000000026 382.9714700520833 297.64400000000023]
/Type /Annot
@@ -39377,7 +39380,10 @@ endobj
endobj
154 0 obj
<< /Border [0 0 0]
-/Dest (_ugtst_unit-test-support_jmock-extensions)
+/A << /Type /Action
+/S /URI
+/URI (../ugtst/ugtst.pdf#_ugtst_unit-test-support_jmock-extensions)
+>>
/Subtype /Link
/Rect [454.506 564.1999999999999 542.5065 578.48]
/Type /Annot
@@ -39387,7 +39393,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_i18n)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_i18n)
>>
/Subtype /Link
/Rect [368.87829492187507 520.6400000000001 425.6517949218751 534.9200000000001]
@@ -39398,7 +39404,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_WrapperFactory)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_WrapperFactory)
>>
/Subtype /Link
/Rect [66.24 407.33600000000007 139.74 417.83600000000007]
@@ -39409,7 +39415,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_TransactionService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_TransactionService)
>>
/Subtype /Link
/Rect [66.24 351.7760000000001 160.74 362.2760000000001]
@@ -39420,7 +39426,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_SessionManagementService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_SessionManagementService)
>>
/Subtype /Link
/Rect [66.24 296.21600000000024 192.24 306.7160000000002]
@@ -39434,7 +39440,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_WrapperFactory)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_WrapperFactory)
>>
/Subtype /Link
/Rect [70.33383763020832 194.57600000000025 143.83383763020834 205.07600000000025]
@@ -42402,7 +42408,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [424.5920811631944 402.82000000000033 497.2564380425347 417.1000000000003]
@@ -45112,7 +45118,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_EventBusService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EventBusService)
>>
/Subtype /Link
/Rect [95.2695 259.43600000000004 174.0195 269.93600000000004]
@@ -46275,7 +46281,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [492.49249999999995 755.5799999999999 547.04 769.86]
@@ -46286,7 +46292,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [48.24 739.8 98.19900000000001 754.08]
@@ -47228,7 +47234,10 @@ endobj
endobj
194 0 obj
<< /Border [0 0 0]
-/Dest (_ugtst_integ-test-support)
+/A << /Type /Action
+/S /URI
+/URI (../ugtst/ugtst.pdf#_ugtst_integ-test-support)
+>>
/Subtype /Link
/Rect [341.0354615885417 157.48000000000022 461.70351236979167 171.76000000000022]
/Type /Annot
@@ -50503,7 +50512,10 @@ endobj
endobj
204 0 obj
<< /Border [0 0 0]
-/Dest (_ugtst_integ-test-support)
+/A << /Type /Action
+/S /URI
+/URI (../ugtst/ugtst.pdf#_ugtst_integ-test-support)
+>>
/Subtype /Link
/Rect [130.54200000000003 645.15 252.17605078125 659.4300000000001]
/Type /Annot
@@ -50513,7 +50525,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [250.23900000000003 617.37 357.46500000000003 631.6500000000001]
@@ -50557,7 +50569,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [125.80666666666667 101.63000000000014 234.61305243844697 115.91000000000014]
@@ -53513,7 +53525,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [79.7715 521.3900000000001 186.99750000000003 535.6700000000001]
@@ -56094,7 +56106,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [417.7038953125 271.65999999999997 525.5546782552083 285.93999999999994]
@@ -59137,7 +59149,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_spi_FixtureScriptsSpecificationProvider)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_FixtureScriptsSpecificationProvider)
>>
/Subtype /Link
/Rect [128.68863636363636 404.3960000000003 312.43863636363636 414.8960000000003]
@@ -59148,7 +59160,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_FixtureScriptsDefault)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_FixtureScriptsDefault)
>>
/Subtype /Link
/Rect [112.35922727272728 329.2760000000003 222.60922727272728 339.7760000000003]
@@ -59159,7 +59171,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [48.24000000000001 268.3400000000003 155.466 282.62000000000035]
@@ -60690,7 +60702,10 @@ endobj
endobj
243 0 obj
<< /Border [0 0 0]
-/Dest (__ugtst_fixture-scripts_api-and-usage_organizing)
+/A << /Type /Action
+/S /URI
+/URI (../ugtst/ugtst.pdf#__ugtst_fixture-scripts_api-and-usage_organizing)
+>>
/Subtype /Link
/Rect [77.6505 445.23999999999995 208.218 459.5199999999999]
/Type /Annot
@@ -62562,7 +62577,10 @@ endobj
endobj
248 0 obj
<< /Border [0 0 0]
-/Dest (__ugtst_fixture-scripts_api-and-usage_organizing)
+/A << /Type /Action
+/S /URI
+/URI (../ugtst/ugtst.pdf#__ugtst_fixture-scripts_api-and-usage_organizing)
+>>
/Subtype /Link
/Rect [77.6505 334.64000000000004 208.218 348.92]
/Type /Annot
@@ -63792,7 +63810,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [327.5733333333333 244.9979077429984 437.544 259.2779077429984]
@@ -64976,7 +64994,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [328.653 428.0200000000002 435.879 442.3000000000002]
@@ -73221,7 +73239,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_WrapperFactory)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_WrapperFactory)
>>
/Subtype /Link
/Rect [400.75235898437495 667.7760000000001 474.25235898437495 678.2760000000001]
@@ -73235,7 +73253,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [289.172384765625 464.6600000000005 396.39838476562505 478.94000000000045]
@@ -75604,7 +75622,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [211.71750000000003 203.65999999999997 318.94350000000003 217.93999999999997]
@@ -76585,7 +76603,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started_simpleapp-archetype)
>>
/Subtype /Link
/Rect [277.9698830566406 259.40670050761423 386.42097119140624 273.6867005076142]
@@ -83005,399 +83023,399 @@ xref
0000067135 00000 n
0000067409 00000 n
0000067611 00000 n
-0000067812 00000 n
-0000085715 00000 n
-0000085771 00000 n
-0000102917 00000 n
-0000103186 00000 n
-0000103230 00000 n
-0000103286 00000 n
-0000103517 00000 n
-0000114768 00000 n
-0000115045 00000 n
-0000115089 00000 n
-0000115312 00000 n
-0000115367 00000 n
-0000115604 00000 n
-0000115839 00000 n
-0000116061 00000 n
-0000139642 00000 n
-0000139905 00000 n
-0000139949 00000 n
-0000140004 00000 n
-0000140207 00000 n
-0000140262 00000 n
-0000140498 00000 n
-0000171294 00000 n
-0000171591 00000 n
-0000171646 00000 n
-0000171909 00000 n
-0000172184 00000 n
-0000172399 00000 n
-0000172628 00000 n
-0000172857 00000 n
-0000196847 00000 n
-0000197129 00000 n
-0000197425 00000 n
-0000197469 00000 n
-0000197644 00000 n
-0000219558 00000 n
-0000219821 00000 n
-0000219865 00000 n
-0000220163 00000 n
-0000220218 00000 n
-0000220426 00000 n
-0000244574 00000 n
-0000244898 00000 n
-0000245122 00000 n
-0000245319 00000 n
-0000245506 00000 n
-0000245719 00000 n
-0000245949 00000 n
-0000246155 00000 n
-0000246467 00000 n
-0000257187 00000 n
-0000257465 00000 n
-0000257510 00000 n
-0000257706 00000 n
-0000257933 00000 n
-0000257989 00000 n
-0000307110 00000 n
-0000307352 00000 n
-0000307528 00000 n
-0000327404 00000 n
-0000327677 00000 n
-0000327723 00000 n
-0000328733 00000 n
-0000329363 00000 n
-0000329409 00000 n
-0000329638 00000 n
-0000340606 00000 n
-0000340834 00000 n
-0000369779 00000 n
-0000370038 00000 n
-0000370084 00000 n
-0000370141 00000 n
-0000370373 00000 n
-0000409778 00000 n
-0000410038 00000 n
-0000410248 00000 n
-0000435669 00000 n
-0000435974 00000 n
-0000436184 00000 n
-0000436391 00000 n
-0000436631 00000 n
-0000436677 00000 n
-0000436906 00000 n
-0000437131 00000 n
-0000471134 00000 n
-0000471375 00000 n
-0000471421 00000 n
-0000471478 00000 n
-0000471536 00000 n
-0000502314 00000 n
-0000502573 00000 n
-0000502799 00000 n
-0000502857 00000 n
-0000544517 00000 n
-0000544759 00000 n
-0000573824 00000 n
-0000574096 00000 n
-0000574142 00000 n
-0000574426 00000 n
-0000602830 00000 n
-0000603103 00000 n
-0000603160 00000 n
-0000603342 00000 n
-0000603400 00000 n
-0000626774 00000 n
-0000627116 00000 n
-0000627283 00000 n
-0000627491 00000 n
-0000627691 00000 n
-0000627893 00000 n
-0000628102 00000 n
-0000628160 00000 n
-0000628384 00000 n
-0000628598 00000 n
-0000628803 00000 n
-0000643232 00000 n
-0000643512 00000 n
-0000657868 00000 n
-0000657925 00000 n
-0000658094 00000 n
-0000687612 00000 n
-0000687923 00000 n
-0000687980 00000 n
-0000688175 00000 n
-0000688233 00000 n
-0000726214 00000 n
-0000726500 00000 n
-0000726705 00000 n
-0000744312 00000 n
-0000744579 00000 n
-0000744625 00000 n
-0000745358 00000 n
-0000745575 00000 n
-0000745778 00000 n
-0000761381 00000 n
-0000761722 00000 n
-0000761768 00000 n
-0000761988 00000 n
-0000762217 00000 n
-0000762411 00000 n
-0000762468 00000 n
-0000762683 00000 n
-0000762917 00000 n
-0000763145 00000 n
-0000763382 00000 n
-0000763440 00000 n
-0000763624 00000 n
-0000763682 00000 n
-0000783016 00000 n
-0000783283 00000 n
-0000783329 00000 n
-0000783386 00000 n
-0000783443 00000 n
-0000783500 00000 n
-0000813869 00000 n
-0000814181 00000 n
-0000814350 00000 n
-0000814579 00000 n
-0000814824 00000 n
-0000815055 00000 n
-0000815310 00000 n
-0000815552 00000 n
-0000855746 00000 n
-0000856008 00000 n
-0000856217 00000 n
-0000856446 00000 n
-0000856806 00000 n
-0000891560 00000 n
-0000891902 00000 n
-0000892280 00000 n
-0000892486 00000 n
-0000892717 00000 n
-0000892763 00000 n
-0000892965 00000 n
-0000893165 00000 n
-0000893391 00000 n
-0000893598 00000 n
-0000893644 00000 n
-0000893881 00000 n
-0000915051 00000 n
-0000915279 00000 n
-0000930026 00000 n
-0000930319 00000 n
-0000930365 00000 n
-0000930582 00000 n
-0000930846 00000 n
-0000944668 00000 n
-0000944943 00000 n
-0000944989 00000 n
-0000945046 00000 n
-0000945290 00000 n
-0000945520 00000 n
-0000945749 00000 n
-0000968326 00000 n
-0000968602 00000 n
-0000968787 00000 n
-0000968992 00000 n
-0000969228 00000 n
-0000995650 00000 n
-0000995910 00000 n
-0000996084 00000 n
-0001048032 00000 n
-0001049396 00000 n
-0001049674 00000 n
-0001049878 00000 n
-0001094910 00000 n
-0001095114 00000 n
-0001104389 00000 n
-0001104668 00000 n
-0001146250 00000 n
-0001146448 00000 n
-0001146676 00000 n
-0001163061 00000 n
-0001163320 00000 n
-0001163366 00000 n
-0001163584 00000 n
-0001230252 00000 n
-0001230512 00000 n
-0001230751 00000 n
-0001238665 00000 n
-0001238932 00000 n
-0001270883 00000 n
-0001271137 00000 n
-0001279494 00000 n
-0001279788 00000 n
-0001280011 00000 n
-0001280068 00000 n
-0001280307 00000 n
-0001313524 00000 n
-0001313813 00000 n
-0001313859 00000 n
-0001314101 00000 n
-0001314325 00000 n
-0001314724 00000 n
-0001336327 00000 n
-0001338665 00000 n
-0001338930 00000 n
-0001339123 00000 n
-0001348414 00000 n
-0001349235 00000 n
-0001349440 00000 n
-0001372528 00000 n
-0001380151 00000 n
-0001380431 00000 n
-0001380627 00000 n
-0001380867 00000 n
-0001380924 00000 n
-0001396650 00000 n
-0001396930 00000 n
-0001397153 00000 n
-0001397210 00000 n
-0001397434 00000 n
-0001452196 00000 n
-0001452451 00000 n
-0001452577 00000 n
-0001452697 00000 n
-0001452822 00000 n
-0001452948 00000 n
-0001453087 00000 n
-0001453227 00000 n
-0001453386 00000 n
-0001453536 00000 n
-0001453683 00000 n
-0001453832 00000 n
-0001453992 00000 n
-0001454165 00000 n
-0001454338 00000 n
-0001454500 00000 n
-0001454665 00000 n
-0001454821 00000 n
-0001454970 00000 n
-0001455121 00000 n
-0001455284 00000 n
-0001455438 00000 n
-0001455590 00000 n
-0001455735 00000 n
-0001455893 00000 n
-0001456044 00000 n
-0001456211 00000 n
-0001456371 00000 n
-0001456552 00000 n
-0001456727 00000 n
-0001456903 00000 n
-0001457081 00000 n
-0001457274 00000 n
-0001457471 00000 n
-0001457658 00000 n
-0001457847 00000 n
-0001458018 00000 n
-0001458189 00000 n
-0001458375 00000 n
-0001458561 00000 n
-0001458746 00000 n
-0001458931 00000 n
-0001459118 00000 n
-0001459305 00000 n
-0001459493 00000 n
-0001459683 00000 n
-0001459852 00000 n
-0001460021 00000 n
-0001460203 00000 n
-0001460385 00000 n
-0001460567 00000 n
-0001460749 00000 n
-0001460937 00000 n
-0001461125 00000 n
-0001461303 00000 n
-0001461483 00000 n
-0001461669 00000 n
-0001461857 00000 n
-0001462015 00000 n
-0001462184 00000 n
-0001462357 00000 n
-0001462540 00000 n
-0001462711 00000 n
-0001462895 00000 n
-0001463077 00000 n
-0001463364 00000 n
-0001463442 00000 n
-0001463579 00000 n
-0001463771 00000 n
-0001463996 00000 n
-0001464171 00000 n
-0001464400 00000 n
-0001464641 00000 n
-0001464893 00000 n
-0001465165 00000 n
-0001465401 00000 n
-0001465605 00000 n
-0001465833 00000 n
-0001466013 00000 n
-0001466214 00000 n
-0001466479 00000 n
-0001466676 00000 n
-0001466895 00000 n
-0001467115 00000 n
-0001467322 00000 n
-0001467616 00000 n
-0001467810 00000 n
-0001468007 00000 n
-0001468224 00000 n
-0001468431 00000 n
-0001468693 00000 n
-0001468883 00000 n
-0001469084 00000 n
-0001469312 00000 n
-0001469501 00000 n
-0001469708 00000 n
-0001469952 00000 n
-0001470135 00000 n
-0001470321 00000 n
-0001470693 00000 n
-0001479472 00000 n
-0001479688 00000 n
-0001481051 00000 n
-0001482107 00000 n
-0001489831 00000 n
-0001490052 00000 n
-0001491415 00000 n
-0001492494 00000 n
-0001493717 00000 n
-0001493928 00000 n
-0001494236 00000 n
-0001495151 00000 n
-0001499291 00000 n
-0001499521 00000 n
-0001500884 00000 n
-0001502001 00000 n
-0001506091 00000 n
-0001506317 00000 n
-0001507680 00000 n
-0001508784 00000 n
-0001514475 00000 n
-0001514689 00000 n
-0001516052 00000 n
-0001517105 00000 n
-0001518501 00000 n
-0001518719 00000 n
-0001520082 00000 n
-0001521221 00000 n
-0001523578 00000 n
-0001523792 00000 n
-0001524134 00000 n
-0001525272 00000 n
-0001526434 00000 n
-0001526650 00000 n
-0001526953 00000 n
+0000067821 00000 n
+0000085724 00000 n
+0000085780 00000 n
+0000102926 00000 n
+0000103195 00000 n
+0000103239 00000 n
+0000103295 00000 n
+0000103535 00000 n
+0000114786 00000 n
+0000115063 00000 n
+0000115107 00000 n
+0000115330 00000 n
+0000115385 00000 n
+0000115622 00000 n
+0000115857 00000 n
+0000116079 00000 n
+0000139660 00000 n
+0000139923 00000 n
+0000139967 00000 n
+0000140022 00000 n
+0000140225 00000 n
+0000140280 00000 n
+0000140525 00000 n
+0000171321 00000 n
+0000171618 00000 n
+0000171673 00000 n
+0000171945 00000 n
+0000172229 00000 n
+0000172450 00000 n
+0000172685 00000 n
+0000172920 00000 n
+0000196910 00000 n
+0000197192 00000 n
+0000197488 00000 n
+0000197532 00000 n
+0000197707 00000 n
+0000219621 00000 n
+0000219884 00000 n
+0000219928 00000 n
+0000220226 00000 n
+0000220281 00000 n
+0000220489 00000 n
+0000244637 00000 n
+0000244961 00000 n
+0000245185 00000 n
+0000245382 00000 n
+0000245569 00000 n
+0000245782 00000 n
+0000246012 00000 n
+0000246218 00000 n
+0000246530 00000 n
+0000257250 00000 n
+0000257528 00000 n
+0000257573 00000 n
+0000257769 00000 n
+0000257996 00000 n
+0000258052 00000 n
+0000307173 00000 n
+0000307415 00000 n
+0000307591 00000 n
+0000327467 00000 n
+0000327740 00000 n
+0000327786 00000 n
+0000328796 00000 n
+0000329426 00000 n
+0000329472 00000 n
+0000329710 00000 n
+0000340678 00000 n
+0000340906 00000 n
+0000369851 00000 n
+0000370110 00000 n
+0000370156 00000 n
+0000370213 00000 n
+0000370445 00000 n
+0000409850 00000 n
+0000410110 00000 n
+0000410329 00000 n
+0000435750 00000 n
+0000436055 00000 n
+0000436265 00000 n
+0000436472 00000 n
+0000436712 00000 n
+0000436758 00000 n
+0000436996 00000 n
+0000437230 00000 n
+0000471233 00000 n
+0000471474 00000 n
+0000471520 00000 n
+0000471577 00000 n
+0000471635 00000 n
+0000502413 00000 n
+0000502672 00000 n
+0000502907 00000 n
+0000502965 00000 n
+0000544625 00000 n
+0000544867 00000 n
+0000573932 00000 n
+0000574204 00000 n
+0000574250 00000 n
+0000574534 00000 n
+0000602938 00000 n
+0000603211 00000 n
+0000603268 00000 n
+0000603499 00000 n
+0000603557 00000 n
+0000626931 00000 n
+0000627273 00000 n
+0000627489 00000 n
+0000627706 00000 n
+0000627915 00000 n
+0000628126 00000 n
+0000628344 00000 n
+0000628402 00000 n
+0000628635 00000 n
+0000628849 00000 n
+0000629054 00000 n
+0000643483 00000 n
+0000643763 00000 n
+0000658119 00000 n
+0000658176 00000 n
+0000658345 00000 n
+0000687863 00000 n
+0000688174 00000 n
+0000688231 00000 n
+0000688434 00000 n
+0000688492 00000 n
+0000726473 00000 n
+0000726759 00000 n
+0000726973 00000 n
+0000744580 00000 n
+0000744847 00000 n
+0000744893 00000 n
+0000745626 00000 n
+0000745852 00000 n
+0000746064 00000 n
+0000761667 00000 n
+0000762008 00000 n
+0000762054 00000 n
+0000762274 00000 n
+0000762503 00000 n
+0000762697 00000 n
+0000762754 00000 n
+0000762969 00000 n
+0000763203 00000 n
+0000763431 00000 n
+0000763668 00000 n
+0000763726 00000 n
+0000763959 00000 n
+0000764017 00000 n
+0000783351 00000 n
+0000783618 00000 n
+0000783664 00000 n
+0000783721 00000 n
+0000783778 00000 n
+0000783835 00000 n
+0000814204 00000 n
+0000814516 00000 n
+0000814734 00000 n
+0000814972 00000 n
+0000815217 00000 n
+0000815448 00000 n
+0000815703 00000 n
+0000815954 00000 n
+0000856148 00000 n
+0000856410 00000 n
+0000856619 00000 n
+0000856857 00000 n
+0000857217 00000 n
+0000891971 00000 n
+0000892313 00000 n
+0000892691 00000 n
+0000892897 00000 n
+0000893128 00000 n
+0000893174 00000 n
+0000893376 00000 n
+0000893576 00000 n
+0000893802 00000 n
+0000894009 00000 n
+0000894055 00000 n
+0000894301 00000 n
+0000915471 00000 n
+0000915699 00000 n
+0000930446 00000 n
+0000930739 00000 n
+0000930785 00000 n
+0000931002 00000 n
+0000931266 00000 n
+0000945088 00000 n
+0000945363 00000 n
+0000945409 00000 n
+0000945466 00000 n
+0000945719 00000 n
+0000945958 00000 n
+0000946196 00000 n
+0000968773 00000 n
+0000969049 00000 n
+0000969283 00000 n
+0000969488 00000 n
+0000969724 00000 n
+0000996146 00000 n
+0000996406 00000 n
+0000996629 00000 n
+0001048577 00000 n
+0001049941 00000 n
+0001050219 00000 n
+0001050423 00000 n
+0001095455 00000 n
+0001095659 00000 n
+0001104934 00000 n
+0001105213 00000 n
+0001146795 00000 n
+0001146993 00000 n
+0001147230 00000 n
+0001163615 00000 n
+0001163874 00000 n
+0001163920 00000 n
+0001164147 00000 n
+0001230815 00000 n
+0001231075 00000 n
+0001231314 00000 n
+0001239228 00000 n
+0001239495 00000 n
+0001271446 00000 n
+0001271700 00000 n
+0001280057 00000 n
+0001280351 00000 n
+0001280583 00000 n
+0001280640 00000 n
+0001280888 00000 n
+0001314105 00000 n
+0001314394 00000 n
+0001314440 00000 n
+0001314691 00000 n
+0001314915 00000 n
+0001315314 00000 n
+0001336917 00000 n
+0001339255 00000 n
+0001339520 00000 n
+0001339713 00000 n
+0001349004 00000 n
+0001349825 00000 n
+0001350030 00000 n
+0001373118 00000 n
+0001380741 00000 n
+0001381021 00000 n
+0001381217 00000 n
+0001381466 00000 n
+0001381523 00000 n
+0001397249 00000 n
+0001397529 00000 n
+0001397752 00000 n
+0001397809 00000 n
+0001398033 00000 n
+0001452795 00000 n
+0001453050 00000 n
+0001453176 00000 n
+0001453296 00000 n
+0001453421 00000 n
+0001453547 00000 n
+0001453686 00000 n
+0001453826 00000 n
+0001453985 00000 n
+0001454135 00000 n
+0001454282 00000 n
+0001454431 00000 n
+0001454591 00000 n
+0001454764 00000 n
+0001454937 00000 n
+0001455099 00000 n
+0001455264 00000 n
+0001455420 00000 n
+0001455569 00000 n
+0001455720 00000 n
+0001455883 00000 n
+0001456037 00000 n
+0001456189 00000 n
+0001456334 00000 n
+0001456492 00000 n
+0001456643 00000 n
+0001456810 00000 n
+0001456970 00000 n
+0001457151 00000 n
+0001457326 00000 n
+0001457502 00000 n
+0001457680 00000 n
+0001457873 00000 n
+0001458070 00000 n
+0001458257 00000 n
+0001458446 00000 n
+0001458617 00000 n
+0001458788 00000 n
+0001458974 00000 n
+0001459160 00000 n
+0001459345 00000 n
+0001459530 00000 n
+0001459717 00000 n
+0001459904 00000 n
+0001460092 00000 n
+0001460282 00000 n
+0001460451 00000 n
+0001460620 00000 n
+0001460802 00000 n
+0001460984 00000 n
+0001461166 00000 n
+0001461348 00000 n
+0001461536 00000 n
+0001461724 00000 n
+0001461902 00000 n
+0001462082 00000 n
+0001462268 00000 n
+0001462456 00000 n
+0001462614 00000 n
+0001462783 00000 n
+0001462956 00000 n
+0001463139 00000 n
+0001463310 00000 n
+0001463494 00000 n
+0001463676 00000 n
+0001463963 00000 n
+0001464041 00000 n
+0001464178 00000 n
+0001464370 00000 n
+0001464595 00000 n
+0001464770 00000 n
+0001464999 00000 n
+0001465240 00000 n
+0001465492 00000 n
+0001465764 00000 n
+0001466000 00000 n
+0001466204 00000 n
+0001466432 00000 n
+0001466612 00000 n
+0001466813 00000 n
+0001467078 00000 n
+0001467275 00000 n
+0001467494 00000 n
+0001467714 00000 n
+0001467921 00000 n
+0001468215 00000 n
+0001468409 00000 n
+0001468606 00000 n
+0001468823 00000 n
+0001469030 00000 n
+0001469292 00000 n
+0001469482 00000 n
+0001469683 00000 n
+0001469911 00000 n
+0001470100 00000 n
+0001470307 00000 n
+0001470551 00000 n
+0001470734 00000 n
+0001470920 00000 n
+0001471292 00000 n
+0001480071 00000 n
+0001480287 00000 n
+0001481650 00000 n
+0001482706 00000 n
+0001490430 00000 n
+0001490651 00000 n
+0001492014 00000 n
+0001493093 00000 n
+0001494316 00000 n
+0001494527 00000 n
+0001494835 00000 n
+0001495750 00000 n
+0001499890 00000 n
+0001500120 00000 n
+0001501483 00000 n
+0001502600 00000 n
+0001506690 00000 n
+0001506916 00000 n
+0001508279 00000 n
+0001509383 00000 n
+0001515074 00000 n
+0001515288 00000 n
+0001516651 00000 n
+0001517704 00000 n
+0001519100 00000 n
+0001519318 00000 n
+0001520681 00000 n
+0001521820 00000 n
+0001524177 00000 n
+0001524391 00000 n
+0001524733 00000 n
+0001525871 00000 n
+0001527033 00000 n
+0001527249 00000 n
+0001527552 00000 n
trailer
<< /Size 436
/Root 2 0 R
/Info 1 0 R
>>
startxref
-1528090
+1528689
%%EOF
[04/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/ugvw.html
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/ugvw.html b/content/guides/ugvw/ugvw.html
index 7d0da78..c31d0fa 100644
--- a/content/guides/ugvw/ugvw.html
+++ b/content/guides/ugvw/ugvw.html
@@ -374,8 +374,7 @@
<div id="doc-content">
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/ugvw.adoc"" style="float: right; font-size: small; padding: 6px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sect1">
- <h2 id="_ugvw">1. Wicket Viewer</h2>
- <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <h2 id="__ugvw">1. Wicket Viewer</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Wicket Viewer automatically exposes an Apache Isis domain object model for use by end-users. The viewer is implemented using <a href="http://wicket.apache.org">Apache Wicket</a>.</p>
@@ -450,7 +449,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/recent-pages/recent-pages.png"><img src="images/wicket-viewer/recent-pages/recent-pages.png" alt="recent pages" width="800px"></a>
+ <a class="image" href="images/recent-pages/recent-pages.png"><img src="images/recent-pages/recent-pages.png" alt="recent pages" width="800px"></a>
</div>
</div>
<div class="admonitionblock note">
@@ -460,7 +459,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Note that this screenshot show an earlier version of the <a href="#">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
+ <p>Note that this screenshot show an earlier version of the <a href="../ugvw/ugvw.html">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
</div> </td>
</tr>
</tbody>
@@ -482,7 +481,7 @@
<div class="sect3">
<h4 id="_related_functionality">2.1.4. Related functionality</h4>
<div class="paragraph">
- <p>The <a href="#_ugvw_features_bookmarked-pages">bookmarked pages</a> (sliding panel) also provides links to recently visited objects, but only those explicitly marked as <code>@DomainObject(bookmarking=\u2026\u200b)</code>. The bookmarks panel also nests related objects together hierarchically (the recent pages drop-down does not).</p>
+ <p>The <a href="../ugvw/ugvw.html#_ugvw_features_bookmarked-pages">bookmarked pages</a> (sliding panel) also provides links to recently visited objects, but only those explicitly marked as <code>@DomainObject(bookmarking=\u2026\u200b)</code>. The bookmarks panel also nests related objects together hierarchically (the recent pages drop-down does not).</p>
</div>
</div>
<div class="sect3">
@@ -496,7 +495,7 @@
<h3 id="_ugvw_features_bookmarked-pages">2.2. Bookmarked pages</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_features_bookmarked-pages.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>The Wicket viewer supports the bookmarking of both domain objects and query-only (<a href="rgant.html#_rgant-Action_semantics">@Action(semantics=\u2026\u200b)</a>) actions.</p>
+ <p>The Wicket viewer supports the bookmarking of both domain objects and query-only (<a href="../rgant/rgant.html#_rgant-Action_semantics">@Action(semantics=\u2026\u200b)</a>) actions.</p>
</div>
<div class="paragraph">
<p>Domain objects, if bookmarkable, can be nested.</p>
@@ -511,7 +510,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/bookmarked-pages/panel.png"><img src="images/wicket-viewer/bookmarked-pages/panel.png" alt="panel" width="800px"></a>
+ <a class="image" href="images/bookmarked-pages/panel.png"><img src="images/bookmarked-pages/panel.png" alt="panel" width="800px"></a>
</div>
</div>
<div class="admonitionblock note">
@@ -521,7 +520,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Note that these screenshots show an earlier version of the <a href="#">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
+ <p>Note that these screenshots show an earlier version of the <a href="../ugvw/ugvw.html">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
</div> </td>
</tr>
</tbody>
@@ -535,7 +534,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/bookmarked-pages/panel-estatio.png"><img src="images/wicket-viewer/bookmarked-pages/panel-estatio.png" alt="panel estatio" width="800px"></a>
+ <a class="image" href="images/bookmarked-pages/panel-estatio.png"><img src="images/bookmarked-pages/panel-estatio.png" alt="panel estatio" width="800px"></a>
</div>
</div>
<div class="paragraph">
@@ -545,7 +544,7 @@
<div class="sect3">
<h4 id="_domain_code_2">2.2.2. Domain Code</h4>
<div class="paragraph">
- <p>To indicate a class is bookmarkable, use the <a href="rgant.html#_rgant-DomainObjectLayout">@DomainObjectLayout</a> annotation:</p>
+ <p>To indicate a class is bookmarkable, use the <a href="../rgant/rgant.html#_rgant-DomainObjectLayout">@DomainObjectLayout</a> annotation:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -567,7 +566,7 @@
</div>
</div>
<div class="paragraph">
- <p>To indicate that a safe (query only) action is bookmarkable, use the <a href="rgant.html#_rgant-ActionLayout">@ActionLayout</a> annotation:</p>
+ <p>To indicate that a safe (query only) action is bookmarkable, use the <a href="../rgant/rgant.html#_rgant-ActionLayout">@ActionLayout</a> annotation:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -608,7 +607,7 @@
<div class="sect4">
<h5 id="_related_functionality_2">Related functionality</h5>
<div class="paragraph">
- <p>The <a href="#_ugvw_features_recent-pages">Recent Pages</a> also lists recently visited pages, selected from a drop-down.</p>
+ <p>The <a href="../ugvw/ugvw.html#_ugvw_features_recent-pages">Recent Pages</a> also lists recently visited pages, selected from a drop-down.</p>
</div>
</div>
</div>
@@ -648,7 +647,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/copy-link/010-copy-link-button.png"><img src="images/wicket-viewer/copy-link/010-copy-link-button.png" alt="010 copy link button" width="800px"></a>
+ <a class="image" href="images/copy-link/010-copy-link-button.png"><img src="images/copy-link/010-copy-link-button.png" alt="010 copy link button" width="800px"></a>
</div>
</div>
<div class="admonitionblock note">
@@ -658,7 +657,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Note that these screenshots show an earlier version of the <a href="#">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
+ <p>Note that these screenshots show an earlier version of the <a href="../ugvw/ugvw.html">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
</div> </td>
</tr>
</tbody>
@@ -669,7 +668,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/copy-link/020-copy-link-dialog.png"><img src="images/wicket-viewer/copy-link/020-copy-link-dialog.png" alt="020 copy link dialog" width="800px"></a>
+ <a class="image" href="images/copy-link/020-copy-link-dialog.png"><img src="images/copy-link/020-copy-link-dialog.png" alt="020 copy link dialog" width="800px"></a>
</div>
</div>
<div class="paragraph">
@@ -691,7 +690,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/copy-link/030-hints.png"><img src="images/wicket-viewer/copy-link/030-hints.png" alt="030 hints" width="800px"></a>
+ <a class="image" href="images/copy-link/030-hints.png"><img src="images/copy-link/030-hints.png" alt="030 hints" width="800px"></a>
</div>
</div>
<div class="paragraph">
@@ -702,7 +701,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/copy-link/040-copy-link-with-hints.png"><img src="images/wicket-viewer/copy-link/040-copy-link-with-hints.png" alt="040 copy link with hints" width="800px"></a>
+ <a class="image" href="images/copy-link/040-copy-link-with-hints.png"><img src="images/copy-link/040-copy-link-with-hints.png" alt="040 copy link with hints" width="800px"></a>
</div>
</div>
<div class="paragraph">
@@ -724,7 +723,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/copy-link/050-title-url.png"><img src="images/wicket-viewer/copy-link/050-title-url.png" alt="050 title url" width="800px"></a>
+ <a class="image" href="images/copy-link/050-title-url.png"><img src="images/copy-link/050-title-url.png" alt="050 title url" width="800px"></a>
</div>
</div>
</div>
@@ -833,7 +832,7 @@
<td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
<td class="content">
<div class="paragraph">
- <p>It is also possible to configure the Wicket viewer to <a href="#_ugvw_configuration-properties_abbreviating-titles">abbreviate titles or suppress them</a> completely.</p>
+ <p>It is also possible to configure the Wicket viewer to <a href="../ugvw/ugvw.html#_ugvw_configuration-properties_abbreviating-titles">abbreviate titles or suppress them</a> completely.</p>
</div> </td>
</tr>
</tbody>
@@ -844,7 +843,7 @@
<h3 id="_ugvw_features_blob-attachments">2.5. File upload/download</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_features_blob-attachments.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>The Isis application library provides the <a href="rgcms.html#_rgcms_classes_value-types_Blob">Blob</a> value type (binary large objects) and also the <a href="rgcms.html#_rgcms_classes_value-types_Clob">Clob</a> value type (character large object), each of which also includes metadata about the data (specifically the filename and mime type).</p>
+ <p>The Isis application library provides the <a href="../rgcms/rgcms.html#_rgcms_classes_value-types_Blob">Blob</a> value type (binary large objects) and also the <a href="../rgcms/rgcms.html#_rgcms_classes_value-types_Clob">Clob</a> value type (character large object), each of which also includes metadata about the data (specifically the filename and mime type).</p>
</div>
<div class="paragraph">
<p>A class can define a property using either of these types, for example:</p>
@@ -861,7 +860,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/blob-attachments/010-attachment-field.png"><img src="images/wicket-viewer/blob-attachments/010-attachment-field-940.png" alt="010 attachment field 940" width="800px"></a>
+ <a class="image" href="images/blob-attachments/010-attachment-field.png"><img src="images/blob-attachments/010-attachment-field-940.png" alt="010 attachment field 940" width="800px"></a>
</div>
</div>
<div class="admonitionblock note">
@@ -871,7 +870,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Note that these screenshots show an earlier version of the <a href="#">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
+ <p>Note that these screenshots show an earlier version of the <a href="../ugvw/ugvw.html">Wicket viewer</a> UI (specifically, pre 1.8.0).</p>
</div> </td>
</tr>
</tbody>
@@ -885,7 +884,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/blob-attachments/020-edit-choose-file.png"><img src="images/wicket-viewer/blob-attachments/020-edit-choose-file-940.png" alt="020 edit choose file 940" width="800px"></a>
+ <a class="image" href="images/blob-attachments/020-edit-choose-file.png"><img src="images/blob-attachments/020-edit-choose-file-940.png" alt="020 edit choose file 940" width="800px"></a>
</div>
</div>
</div>
@@ -896,7 +895,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/blob-attachments/030-choose-file-using-browser.png"><img src="images/wicket-viewer/blob-attachments/030-choose-file-using-browser-520.png" alt="030 choose file using browser 520" width="520px"></a>
+ <a class="image" href="images/blob-attachments/030-choose-file-using-browser.png"><img src="images/blob-attachments/030-choose-file-using-browser-520.png" alt="030 choose file using browser 520" width="520px"></a>
</div>
</div>
<div class="paragraph">
@@ -904,7 +903,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/blob-attachments/040-edit-chosen-file-indicated.png"><img src="images/wicket-viewer/blob-attachments/040-edit-chosen-file-indicated-940.png" alt="040 edit chosen file indicated 940" width="800px"></a>
+ <a class="image" href="images/blob-attachments/040-edit-chosen-file-indicated.png"><img src="images/blob-attachments/040-edit-chosen-file-indicated-940.png" alt="040 edit chosen file indicated 940" width="800px"></a>
</div>
</div>
</div>
@@ -915,7 +914,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/blob-attachments/050-ok-if-image-then-rendered.png"><img src="images/wicket-viewer/blob-attachments/050-ok-if-image-then-rendered-940.png" alt="050 ok if image then rendered 940" width="800px"></a>
+ <a class="image" href="images/blob-attachments/050-ok-if-image-then-rendered.png"><img src="images/blob-attachments/050-ok-if-image-then-rendered-940.png" alt="050 ok if image then rendered 940" width="800px"></a>
</div>
</div>
</div>
@@ -926,7 +925,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/blob-attachments/060-download.png"><img src="images/wicket-viewer/blob-attachments/060-download-940.png" alt="060 download 940" width="800px"></a>
+ <a class="image" href="images/blob-attachments/060-download.png"><img src="images/blob-attachments/060-download-940.png" alt="060 download 940" width="800px"></a>
</div>
</div>
</div>
@@ -937,7 +936,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/blob-attachments/070-edit-clear.png"><img src="images/wicket-viewer/blob-attachments/070-edit-clear-940.png" alt="070 edit clear 940" width="800px"></a>
+ <a class="image" href="images/blob-attachments/070-edit-clear.png"><img src="images/blob-attachments/070-edit-clear-940.png" alt="070 edit clear 940" width="800px"></a>
</div>
</div>
</div>
@@ -1009,9 +1008,9 @@
</div>
<div class="ulist">
<ul>
- <li> <p>the <a href="rgsvc.html#_rgsvc_spi_UserRegistrationService">user registration service</a>, which provides an API to create the user account</p> </li>
- <li> <p>the <a href="rgsvc.html#_rgsvc_spi_EmailNotificationService">email notification service</a>, which provides an API for to send the verification emails</p> </li>
- <li> <p>the <a href="rgsvc.html#_rgsvc_api_EmailService">email service</a>, that is used by the email notification service to actually send the email.</p> </li>
+ <li> <p>the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_UserRegistrationService">user registration service</a>, which provides an API to create the user account</p> </li>
+ <li> <p>the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_EmailNotificationService">email notification service</a>, which provides an API for to send the verification emails</p> </li>
+ <li> <p>the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EmailService">email service</a>, that is used by the email notification service to actually send the email.</p> </li>
</ul>
</div>
<div class="paragraph">
@@ -1037,7 +1036,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/user-registration/login-page-default.png"><img src="images/wicket-viewer/user-registration/login-page-default.png" alt="login page default" width="300px"></a>
+ <a class="image" href="images/user-registration/login-page-default.png"><img src="images/user-registration/login-page-default.png" alt="login page default" width="300px"></a>
</div>
</div>
<div class="paragraph">
@@ -1045,7 +1044,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/user-registration/sign-up-page.png"><img src="images/wicket-viewer/user-registration/sign-up-page.png" alt="sign up page" width="300px"></a>
+ <a class="image" href="images/user-registration/sign-up-page.png"><img src="images/user-registration/sign-up-page.png" alt="sign up page" width="300px"></a>
</div>
</div>
<div class="paragraph">
@@ -1053,7 +1052,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/user-registration/sign-up-login-page-after-sign-up.png"><img src="images/wicket-viewer/user-registration/sign-up-login-page-after-sign-up.png" alt="sign up login page after sign up" width="300px"></a>
+ <a class="image" href="images/user-registration/sign-up-login-page-after-sign-up.png"><img src="images/user-registration/sign-up-login-page-after-sign-up.png" alt="sign up login page after sign up" width="300px"></a>
</div>
</div>
<div class="paragraph">
@@ -1061,7 +1060,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/user-registration/sign-up-email-with-verification-link.png"><img src="images/wicket-viewer/user-registration/sign-up-email-with-verification-link.png" alt="sign up email with verification link" width="500px"></a>
+ <a class="image" href="images/user-registration/sign-up-email-with-verification-link.png"><img src="images/user-registration/sign-up-email-with-verification-link.png" alt="sign up email with verification link" width="500px"></a>
</div>
</div>
<div class="paragraph">
@@ -1069,7 +1068,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/user-registration/sign-up-registration-page.png"><img src="images/wicket-viewer/user-registration/sign-up-registration-page.png" alt="sign up registration page" width="300px"></a>
+ <a class="image" href="images/user-registration/sign-up-registration-page.png"><img src="images/user-registration/sign-up-registration-page.png" alt="sign up registration page" width="300px"></a>
</div>
</div>
<div class="paragraph">
@@ -1077,7 +1076,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/wicket-viewer/user-registration/sign-up-after-registration.png"><img src="images/wicket-viewer/user-registration/sign-up-after-registration.png" alt="sign up after registration" width="800px"></a>
+ <a class="image" href="images/user-registration/sign-up-after-registration.png"><img src="images/user-registration/sign-up-after-registration.png" alt="sign up after registration" width="800px"></a>
</div>
</div>
</div>
@@ -1088,22 +1087,990 @@
</div>
<div class="ulist">
<ul>
- <li> <p>register an implementation of the <a href="rgsvc.html#_rgsvc_spi_UserRegistrationService">user registration service</a> (eg by using the <a href="https://github.com/isisaddons/isis-module-security">Isis addons security module</a>)</p> </li>
- <li> <p>configure the <a href="rgsvc.html#_rgsvc_api_EmailService">email service</a></p> </li>
+ <li> <p>register an implementation of the <a href="../rgsvc/rgsvc.html#_rgsvc_spi_UserRegistrationService">user registration service</a> (eg by using the <a href="https://github.com/isisaddons/isis-module-security">Isis addons security module</a>)</p> </li>
+ <li> <p>configure the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EmailService">email service</a></p> </li>
</ul>
</div>
<div class="paragraph">
<p>The latter is required if you are using the default email notification service and email service. If you are using your own alternative implementation of the email notification service then it may be omitted (and configure your own alternative implementation as required).</p>
</div>
<div class="paragraph">
- <p>It is also possible to configure the Wicket viewer to suppress <a href="#_ugvw_configuration-properties_suppressing-sign-up">the sign-up page link</a> and/or the <a href="#_ugvw_configuration-properties_suppressing-password-reset">password reset page</a>.</p>
+ <p>It is also possible to configure the Wicket viewer to suppress <a href="../ugvw/ugvw.html#_ugvw_configuration-properties_suppressing-sign-up">the sign-up page link</a> and/or the <a href="../ugvw/ugvw.html#_ugvw_configuration-properties_suppressing-password-reset">password reset page</a>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
- <h2 id="_ugvw_configuration-properties">3. Configuration Properties</h2>
+ <h2 id="_ugvw_layout">3. Layout</h2>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="sectionbody">
+ <div class="paragraph">
+ <p>In implementing the <a href="http://en.wikipedia.org/wiki/Naked_objects">naked objects pattern</a>, Apache Isis aims to infer as much information from the domain classes as possible. Nevertheless, some metadata relating solely to the UI is inevitably required. This chapter describes how this is done both for domain objects using either annotations or using an associated layout file.</p>
+ </div>
+ <div class="paragraph">
+ <p>It also describes how to layout the application menu items (containing domain service' actions), as more well as more advanced topics such as customising which columns appear in tables.</p>
+ </div>
+ <div class="sect2">
+ <h3 id="_ugvw_layout_annotation-based">3.1. Annotation-based Layout</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_annotation-based.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>Metadata providing UI hints can be specified either using annotations, or using a <a href="../ugvw/ugvw.html#_ugvw_layout_file-based"><code>layout.xml</code></a> file.</p>
+ </div>
+ <div class="paragraph">
+ <p>In most cases you will probably want to use the file-based approach: changes to file layouts are picked up dynamically, and using a file also allows tabs and tab groups to be specified: this is not supported using annotations.</p>
+ </div>
+ <div class="paragraph">
+ <p>Nevertheless, annotations are still supported and are sometimes useful for very simple objects or just when prototyping. This section explains how.</p>
+ </div>
+ <div class="sect3">
+ <h4 id="__code_memberorder_code">3.1.1. <code>@MemberOrder</code></h4>
+ <div class="paragraph">
+ <p>The <a href="../rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a> annotation is used to specify the relative order of domain class properties, collections and actions.</p>
+ </div>
+ <div class="paragraph">
+ <p>The annotation defines two attributes, <a href="../rgant/rgant.html#_rgant-MemberOrder_name"><code>name()</code></a> and <a href="../rgant/rgant.html#_rgant-MemberOrder_sequence"><code>sequence()</code></a>. Their usage depends on the member type:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>for properties, the <code>name()</code> is used to group properties together into a member group (also called a property group or a fieldset. The <code>sequence()</code> then orders properties within these groups. If no <code>name()</code> is specified then the property is placed in a fallback "General" group, called "General".<br></p>
+ <div class="paragraph">
+ <p>The name of these member groups/fieldsets are then referenced by <a href="../rgant/rgant.html#_rgant-MemberGroupLayout"><code>@MemberGroupLayout</code></a>.</p>
+ </div> </li>
+ <li> <p>for collections, the <code>name()</code> attribute is (currently) unused. The <code>sequence()</code> orders collections relative to one another</p> </li>
+ <li> <p>for actions, the <code>name()</code> attribute associates an action with either a property or with a collection.<br></p>
+ <div class="ulist">
+ <ul>
+ <li> <p>If the <code>name()</code> attribute matches a property name, then the action\u2019s button is rendered close to the property, according to <a href="../rgant/rgant.html#_rgant-ActionLayout_position"><code>@ActionLayout#position()</code></a> attribute.<br></p> </li>
+ <li> <p>On the other hand if the `name() attribute matches a collection name, then the action\u2019s button is rendered on the collection\u2019s header.</p> </li>
+ <li> <p>If there is no <code>name()</code> value, then the action is considered to pertain to the object as a whole, and its button is rendered close to the object\u2019s icon and title.</p> </li>
+ </ul>
+ </div> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>Within any of these, the <code>sequence()</code> then determines the relative ordering of the action with respect to other actions that have been similarly associated with properties/collections or left as "free-standing".</p>
+ </div>
+ <div class="paragraph">
+ <p>For example:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItem</span> {
+ <span class="annotation">@MemberOrder</span>(sequence=<span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="predefined-type">String</span> getDescription() { ... }
+ <span class="annotation">@MemberOrder</span>(sequence=<span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="predefined-type">String</span> getCategory() { ... }
+ <span class="annotation">@MemberOrder</span>(sequence=<span class="string"><span class="delimiter">"</span><span class="content">3</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="type">boolean</span> isComplete() { ... }
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">Detail</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> LocalDate getDueBy() { ... }
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">Detail</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="predefined-type">BigDecimal</span> getCost() { ... }
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">Detail</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">4</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="predefined-type">String</span> getNotes() { ... }
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">Misc</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">99</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="predefined-type">Long</span> getVersionSequence() { ... }
+ ...
+}</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>This defines three property (or member) groups, "General", "Detail" and "Misc"; "General" is the default if no <code>name</code> attribute is specified. Properties in the same member group are rendered together, as a fieldset.</p>
+ </div>
+ <div class="paragraph">
+ <p>In addition, actions can optionally be associated (rendered close to) either properties or actions. This is done by overloading the <code>@MemberOrder</code>'s <a href="../rgant/rgant.html#_rgant-MemberOrder_name"><code>name()</code></a> attribute, holding the value of the property or collection.</p>
+ </div>
+ <div class="paragraph">
+ <p>For example:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItem</span> {
+ <span class="annotation">@MemberOrder</span>(sequence=<span class="string"><span class="delimiter">"</span><span class="content">3</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="type">boolean</span> isComplete() { ... }
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">complete</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> ToDoItem completed() { ...}
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">complete</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> ToDoItem notYetCompleted() { ...}
+
+ <span class="annotation">@MemberOrder</span>(sequence=<span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> <span class="predefined-type">SortedSet</span><ToDoItem> getDependencies() { ... }
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">dependencies</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">1</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> ToDoItem add(ToDoItem t) { ...}
+ <span class="annotation">@MemberOrder</span>(name=<span class="string"><span class="delimiter">"</span><span class="content">dependencies</span><span class="delimiter">"</span></span>, sequence=<span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span>)
+ <span class="directive">public</span> ToDoItem remove(ToDoItem t) { ...}
+ ...
+}</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>will associate the <code>completed()</code> and <code>notYetCompleted()</code> actions with the <code>complete</code> property, and will associate the <code>add()</code> and <code>remove()</code> actions with the <code>dependencies</code> collection.</p>
+ </div>
+ <div class="paragraph">
+ <p>The value of <a href="../rgant/rgant.html#_rgant-MemberOrder_sequence"><code>sequence()</code></a> is a string. The simplest convention (as shown in the example above) is to use numbers\u2009\u2014\u20091, 2, 3\u2009\u2014\u2009though it is a better idea to leave gaps in the numbers\u2009\u2014\u200910, 20, 30 perhaps\u2009\u2014\u2009such that a new member may be added without having to edit existing numbers.</p>
+ </div>
+ <div class="paragraph">
+ <p>Even better is to adopt the 'dewey-decimal' notation\u2009\u2014\u20091, 1.1, 1.2, 2, 3, 5.1.1, 5.2.2, 5.2, 5.3\u2009\u2014\u2009which allows for an indefinite amount of future insertion. It also allows subclasses to insert their class members as required.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="__code_membergrouplayout_code">3.1.2. <code>@MemberGroupLayout</code></h4>
+ <div class="paragraph">
+ <p>The <a href="../rgant/rgant.html#_rgant-MemberGroupLayout"><code>@MemberGroupLayout</code></a> annotation specifies the relative positioning of property groups/fieldsets as being either in a left column, a middle column or in a right column. The annotation also specifies the relative width of the columns.</p>
+ </div>
+ <div class="paragraph">
+ <p>The property groups/fieldsets in this case are those that are inferred from the <code>@MemberOrder#name()</code> attribute.</p>
+ </div>
+ <div class="admonitionblock tip">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>It is also possible to combine <code>@MemberOrder</code> with a <a href="../ugvw/ugvw.html#_ugvw_layout_xml">file-based layout</a>. The layout file defines only the regions of a grid structure (fieldsets/columns etc), but does <em>not</em> specify the properties/collections/actions within those grid regions. The <code>@MemberOrder</code> annotation in effect "binds" the properties or collections to those regions of the grid.</p>
+ </div>
+ <div class="paragraph">
+ <p>When file-based layouts are used this way, the <a href="../rgant/rgant.html#_rgant-MemberGroupLayout"><code>@MemberGroupLayout</code></a> annotation is essentially ignored, but the metadata from the <a href="../rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a> annotation (and the other layout annotations, <a href="../rgant/rgant.html#_rgant-ActionLayout"><code>@ActionLayout</code></a>, <a href="../rgant/rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a> and <a href="../rgant/rgant.html#_rgant-CollectionLayout"><code>@CollectionLayout</code></a>) are all still honoured.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="paragraph">
+ <p>For example:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@MemberGroupLayout</span>(
+ columnSpans={<span class="integer">3</span>,<span class="integer">3</span>,<span class="integer">0</span>,<span class="integer">6</span>},
+ left={<span class="string"><span class="delimiter">"</span><span class="content">General</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">Misc</span><span class="delimiter">"</span></span>},
+ middle=<span class="string"><span class="delimiter">"</span><span class="content">Detail</span><span class="delimiter">"</span></span>
+ )
+<span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItem</span> {
+ ...
+}</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>Four values are given in the <code>columnSpans</code> attribute. The first three are the relative widths of the three columns of property groups. The fourth, meanwhile, indicates the width of a final column that holds all the collections of the object.</p>
+ </div>
+ <div class="paragraph">
+ <p>The values of these spans are taken as proportions of 12 virtual columns across the page (this taken from the <a href="http://getbootstrap.com/2.3.2/">Bootstrap</a> library).</p>
+ </div>
+ <div class="paragraph">
+ <p>For example:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p><code>{3,3,0,6}</code> indicates:</p>
+ <div class="ulist">
+ <ul>
+ <li> <p>a left column of properties taking up 25% of the width</p> </li>
+ <li> <p>a middle column of properties taking up 25% of the width</p> </li>
+ <li> <p>a right column of collections taking up 50% of the width</p> </li>
+ </ul>
+ </div> </li>
+ <li> <p><code>{2,6,0,4}</code> indicates:</p>
+ <div class="ulist">
+ <ul>
+ <li> <p>a left column of properties taking up ~16% of the width</p> </li>
+ <li> <p>a middle column of properties taking up 50% of the width</p> </li>
+ <li> <p>a right column of collections taking up ~33% of the width</p> </li>
+ </ul>
+ </div> </li>
+ <li> <p><code>{2,3,3,4}</code> indicates:</p>
+ <div class="ulist">
+ <ul>
+ <li> <p>a left column of properties taking up ~16% of the width</p> </li>
+ <li> <p>a middle column of properties taking up 25% of the width</p> </li>
+ <li> <p>a right column of properties taking up 25% of the width</p> </li>
+ <li> <p>a far right column of collections taking up ~33% of the width</p> </li>
+ </ul>
+ </div> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>If the sum of all the columns exceeds 12, then the collections are placed underneath the properties, taking up the full span. For example:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>{4,4,4,12} indicates:</p>
+ <div class="ulist">
+ <ul>
+ <li> <p>a left column of properties taking up ~33% of the width</p> </li>
+ <li> <p>a middle column of properties taking up ~33% of the width</p> </li>
+ <li> <p>a right column of properties taking up ~33% of the width</p> </li>
+ <li> <p>the collections underneath the property columns, taking up the full width</p> </li>
+ </ul>
+ </div> </li>
+ </ul>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_example_layouts">3.1.3. Example Layouts</h4>
+ <div class="paragraph">
+ <p>Below are sketches for the layout of the <a href="https://github.com/apache/isis/blob/f38fdb92941172eabb12e0943509f239e6d5925f/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java">ToDoItem</a> class of the Isis addons example <a href="https://github.com/isisaddons/isis-app-todoapp/">todoapp</a> (not ASF):</p>
+ </div>
+ <div class="paragraph">
+ <p>The first divides the properties into two equal sized columns (6-6-0) and puts the collections underneath (12):</p>
+ </div>
+ <div class="imageblock">
+ <div class="content">
+ <a class="image" href="images/reference-layout/6-6-0-12.png"><img src="images/reference-layout/6-6-0-12.png" alt="6 6 0 12" width="720px"></a>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>The next divides the collections into three equal sized columns (4-4-4) and again puts the collections underneath (12):</p>
+ </div>
+ <div class="imageblock">
+ <div class="content">
+ <a class="image" href="images/reference-layout/4-4-4-12.png"><img src="images/reference-layout/4-4-4-12.png" alt="4 4 4 12" width="720px"></a>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>The last puts the properties into a single column (4-0) and places the collections into the other larger column (8-0):</p>
+ </div>
+ <div class="imageblock">
+ <div class="content">
+ <a class="image" href="images/reference-layout/4-0-8-0.png"><img src="images/reference-layout/4-0-8-0.png" alt="4 0 8 0" width="720px"></a>
+ </div>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_other_annotations">3.1.4. Other Annotations</h4>
+ <div class="paragraph">
+ <p>As of 1.8.0, all the layout annotations have been consolidated into the various <code>XxxLayout</code> annotations: <a href="../rgant/rgant.html#_rgant-ActionLayout, "><code>@ActionLayout</code></a> <a href="../rgant/rgant.html#_rgant-CollectionLayout"><code>@CollectionLayout</code></a>, <a href="../rgant/rgant.html#_rgant-DomainObjectLayout"><code>@DomainObjectLayout</code></a>, <a href="../rgant/rgant.html#_rgant-DomainServiceLayout"><code>@DomainServiceLayout</code></a>, <a href="../rgant/rgant.html#_rgant-ParameterLayout"><code>@ParameterLayout</code></a>, <a href="../rgant/rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a>, and <a href="../rgant/rgant.html#_rgant-ViewModelLayout"><code>@ViewModelLayout</code></a></p>
+ </div>
+ </div>
+ </div>
+ <div class="sect2">
+ <h3 id="_ugvw_layout_file-based">3.2. File-based Layouts</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>Metadata providing UI hints can be specified either <a href="../ugvw/ugvw.html#_ugvw_layout_annotation-based">using annotations</a>, or using an <code>Xxx.layout.xml</code> file (where <code>Xxx</code> is the entity or view model object to be rendered).</p>
+ </div>
+ <div class="paragraph">
+ <p>Using a file-based layout has the huge benefit that the layout can be updated without requiring a recompile of the code and redeploy of the app. Many developers also find it easier to rationalize about layout when all the hints are collated together in a single place (rather than scattered across the class members as annotations).</p>
+ </div>
+ <div class="paragraph">
+ <p>Another benefit of file-based layout is that UI hints can be provided for <a href="../ugfun/ugfun.html#_ugfun_how-tos_contributed-members">contributed associations and actions</a> that are synthesised at runtime.</p>
+ </div>
+ <div class="paragraph">
+ <p>It is also possible to download an initial <code>.layout.xml</code> - capturing any existing layout metadata - using the <a href="../rgsvc/rgsvc.html#_rgsvc_api_LayoutService"><code>LayoutService</code></a> (exposed on the prototyping menu) or using a <a href="../rgcms/rgcms.html#_rgcms_classes_mixins_Object">mixin action</a> contributed to every domain object.</p>
+ </div>
+ <div class="paragraph">
+ <p>The main downsides of using file-based layouts are a lack of typesafety (a typo will result in the metadata not being picked up for the element) and syntactic fragility (an invalid XML document will result in no metadata for the entire class).</p>
+ </div>
+ <div class="paragraph">
+ <p>Also, file-based layouts have no notion of inheritance, whereas the dewey-decimal format <code>@MemberOrder</code> annotation allows the metadata of the subclass its superclasses to fit together relatively seamlessly.</p>
+ </div>
+ <div class="paragraph">
+ <p>The <code>Xxx.layout.xml</code> file is just the serialized form of a <a href="../rgcms/rgcms.html#_rgcms_classes_layout"><code>Grid</code></a> layout class defined within Apache Isis' applib. These are JAXB-annotated classes with corresponding XSD schemas; the upshot of that is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making iteasy to author such layout files.</p>
+ </div>
+ <div class="admonitionblock note">
+ <table>
+ <tbody>
+ <tr>
+ <td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
+ <td class="content">
+ <div class="paragraph">
+ <p>It is also possible to describe layouts using a <code>.layout.json</code> file. However, <code>.layout.json</code> support is deprecated; the <code>.layout.xml</code> file also enables much more sophisticated layouts than those afforded by <code>.layout.json</code>.</p>
+ </div>
+ <div class="paragraph">
+ <p>If you have an application with older <code>.layout.json</code> files, then it is possible to download initial <code>.layout.xml</code> files using the <a href="../rgsvc/rgsvc.html#_rgsvc_api_LayoutService"><code>LayoutService</code></a> (exposed as an action on the prototyping menu). The <code>.layout.json</code> file will be ignored once a <code>.layout.xml</code> file is present.</p>
+ </div> </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="sect3">
+ <h4 id="_grids_vs_components">3.2.1. Grids vs Components</h4>
+ <div class="paragraph">
+ <p>The layout file distinguishes between two types of element:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>those that define a grid structure, of: rows, columns, tab groups and tabs.<br></p>
+ <div class="paragraph">
+ <p>The rows and columns are closely modelled on <a href="getbootstrap.com">Bootstrap 3</a> (used in the implementation of the <a href="../ugvw/ugvw.html">Wicket viewer</a>).</p>
+ </div> </li>
+ <li> <p>those that defines common components, of: fieldsets (previously called member groups or property groups), properties, collections, actions and also the title/icon of the domain object itself.</p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>More information about these classes can be found in <a href="../rgcms/rgcms.html#_rgcms_classes_layout">the reference guide</a>. More information on Bootstrap 3\u2019s grid system can be found <a href="http://getbootstrap.com/css/#grid">here</a>.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_screencast">3.2.2. Screencast</h4>
+ <div class="paragraph">
+ <p>This <a href="https://www.youtube.com/watch?v=MxewC5Pve5k">screencast</a> describes the feature.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_examples">3.2.3. Examples</h4>
+ <div class="paragraph">
+ <p>Probably the easiest way to understand dynamic XML layouts is by example. For this we\u2019ll use the <code>ToDoItem</code> from the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>:</p>
+ </div>
+ <div class="imageblock">
+ <div class="content">
+ <a class="image" href="images/layout-dynamic-xml/ToDoItem.png"><img src="images/layout-dynamic-xml/ToDoItem.png" alt="ToDoItem" width="940px"></a>
+ </div>
+ </div>
+ <div class="sect4">
+ <h5 id="_namespaces">Namespaces</h5>
+ <div class="paragraph">
+ <p>First things first; every <code>.layout.xml</code> file must properly declare the XSD namespaces and schemas. There are two: one for the grid classes, and one for the common component classes:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="xml"><span class="preprocessor"><?xml version="1.0" encoding="UTF-8" standalone="yes"?></span>
+<span class="tag"><bs3:grid</span>
+ <span class="attribute-name">xsi:schemaLocation</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://isis.apache.org/applib/layout/component</span> <span class="content">http://isis.apache.org/applib/layout/component/component.xsd</span> <span class="content">http://isis.apache.org/applib/layout/grid/bootstrap3</span> <span class="content">http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd</span><span class="delimiter">"</span></span>
+ <span class="attribute-name">xmlns:bs3</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://isis.apache.org/applib/layout/grid/bootstrap3</span><span class="delimiter">"</span></span>
+ <span class="attribute-name">xmlns:c</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://isis.apache.org/applib/layout/component</span><span class="delimiter">"</span></span>
+ <span class="attribute-name">xmlns:xsi</span>=<span class="string"><span class="delimiter">"</span><span class="content">http://www.w3.org/2001/XMLSchema-instance</span><span class="delimiter">"</span></span><span class="tag">></span>
+ ...
+<span class="tag"></bs3:grid></span></code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>Most IDEs will automatically download the XSD schemas from the specified schema locations, thereby providing "intellisense" help as you edit the file.</p>
+ </div>
+ </div>
+ <div class="sect4">
+ <h5 id="_rows_full_width_cols_and_tabs">Rows, full-width cols, and tabs</h5>
+ <div class="paragraph">
+ <p>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.</p>
+ </div>
+ <div class="paragraph">
+ <p>This corresponds to the following XML:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="xml"> <span class="tag"><bs3:row></span>
+ <span class="tag"><bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span> <span class="attribute-name">unreferencedActions</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:domainObject</span> <span class="attribute-name">bookmarking</span>=<span class="string"><span class="delimiter">"</span><span class="content">AS_ROOT</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></bs3:col></span>
+ <span class="tag"></bs3:row></span>
+ <span class="tag"><bs3:row></span>
+ <span class="tag"><bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><bs3:tabGroup></span>
+ <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Properties</span><span class="delimiter">"</span></span><span class="tag">></span>...<span class="tag"></bs3:tab></span>
+ <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Other</span><span class="delimiter">"</span></span><span class="tag">></span>...<span class="tag"></bs3:tab></span>
+ <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Metadata</span><span class="delimiter">"</span></span><span class="tag">></span>...<span class="tag"></bs3:tab></span>
+ <span class="tag"></bs3:tabGroup></span>
+ <span class="tag"></bs3:col></span>
+ <span class="tag"></bs3:row></span>
+ <span class="tag"><bs3:row></span>
+ <span class="tag"><bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><bs3:tabGroup</span> <span class="attribute-name">unreferencedCollections</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Similar to</span><span class="delimiter">"</span></span><span class="tag">></span>...<span class="tag"></bs3:tab></span>
+ <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Dependencies</span><span class="delimiter">"</span></span><span class="tag">></span>...<span class="tag"></bs3:tab></span>
+ <span class="tag"></bs3:tabGroup></span>
+ <span class="tag"></bs3:col></span>
+ <span class="tag"></bs3:row></span></code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>You will notice that one of the <code>col</code>umns has an <code>unreferencedActions</code> attribute, while one of the <code>tabGroup</code>s has a similar <code>unreferencedCollections</code> attribute. This topic is discussed in more detail <a href="../ugfun/ugfun.html#__ugvw_layout_file-based_unreferenced">below</a>.</p>
+ </div>
+ </div>
+ <div class="sect4">
+ <h5 id="_fieldsets">Fieldsets</h5>
+ <div class="paragraph">
+ <p>The first tab containing properties is divided into two columns, each of which holds a single fieldset of multiple properties. Those properties in turn can have associated actions.</p>
+ </div>
+ <div class="paragraph">
+ <p>This corresponds to the following XML:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="xml"> <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Properties</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><bs3:row></span>
+ <span class="tag"><bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">6</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:fieldSet</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">General</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">general</span><span class="delimiter">"</span></span> <span class="attribute-name">unreferencedProperties</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">duplicate</span><span class="delimiter">"</span></span> <span class="attribute-name">position</span>=<span class="string"><span class="delimiter">"</span><span class="content">PANEL_DROPDOWN</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">delete</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"><c:property</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">description</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"><c:property</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">category</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"><c:property</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">subcategory</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">updateCategory</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">analyseCategory</span><span class="delimiter">"</span></span> <span class="attribute-name">position</span>=<span class="string"><span class="delimiter">"</span><span class="content">RIGHT</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></c:property></span>
+ <span class="tag"><c:property</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">complete</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">completed</span><span class="delimiter">"</span></span> <span class="attribute-name">cssClassFa</span>=<span class="string"><span class="delimiter">"</span><span class="content">fa-thumbs-up</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">notYetCompleted</span><span class="delimiter">"</span></span> <span class="attribute-name">cssClassFa</span>=<span class="string"><span class="delimiter">"</span><span class="content">fa-thumbs-down</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></c:property></span>
+ <span class="tag"></c:fieldSet></span>
+ <span class="tag"></bs3:col></span>
+ <span class="tag"><bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">6</span><span class="delimiter">"</span></span><span class="tag">></span>
+ ...
+ <span class="tag"></bs3:col></span>
+ <span class="tag"></bs3:row></span>
+ <span class="tag"></bs3:tab></span></code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>The tab defines two columns, each span of 6 (meaning half the width of the page).</p>
+ </div>
+ <div class="paragraph">
+ <p>In the first column there is a single fieldset. Notice how actions - such as <code>duplicate</code> and <code>delete</code> - can be associated with this fieldset directly, meaning that they should be rendered on the fieldset\u2019s top panel.</p>
+ </div>
+ <div class="paragraph">
+ <p>Thereafter the fieldset lists the properties in order. Actions can be associated with properties too; here they are rendered underneath or to the right of the field.</p>
+ </div>
+ <div class="paragraph">
+ <p>Note also the <code>unreferencedProperties</code> attribute for the fieldset; this topic is discussed in more detail <a href="../ugfun/ugfun.html#__ugvw_layout_file-based_unreferenced">below</a>.</p>
+ </div>
+ </div>
+ <div class="sect4">
+ <h5 id="_collections">Collections</h5>
+ <div class="paragraph">
+ <p>In the final row the collections are placed in tabs, simply one collection per tab. This corresponds to the following XML:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="xml"> <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Similar to</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><bs3:row></span>
+ <span class="tag"><bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:collection</span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">similarTo</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></bs3:col></span>
+ <span class="tag"></bs3:row></span>
+ <span class="tag"></bs3:tab></span>
+ <span class="tag"><bs3:tab</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">Dependencies</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><bs3:row></span>
+ <span class="tag"><bs3:col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:collection</span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">dependencies</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">add</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"><c:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">remove</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></c:collection></span>
+ <span class="tag"></bs3:col></span>
+ <span class="tag"></bs3:row></span>
+ <span class="tag"></bs3:tab></span></code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>As with properties, actions can be associated with collections; this indicates that they should be rendered in the collection\u2019s header.</p>
+ </div>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="__ugvw_layout_file-based_unreferenced">3.2.4. Unreferenced Members</h4>
+ <div class="paragraph">
+ <p>As noted in the preceding discussion, several of the grid\u2019s regions have either an <code>unreferencedActions</code>, <code>unreferencedCollections</code> or <code>unreferencedProperties</code> attribute.</p>
+ </div>
+ <div class="paragraph">
+ <p>The rules are:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p><code>unreferencedActions</code> attribute can be specified either on a column or on a fieldset. <br></p>
+ <div class="paragraph">
+ <p>It would normally be typical to use the column holding the <code><domainObject/></code> icon/title, that is as shown in the example. The unreferenced actions then appear as top-level actions for the domain object.</p>
+ </div> </li>
+ <li> <p><code>unreferencedCollections</code> attribute can be specified either on a column or on a tabgroup.<br></p>
+ <div class="paragraph">
+ <p>If specified on a column, then that column will contain each of the unreferenced collections, stacked one on top of the other. If specified on a tab group, then a separate tab will be created for each collection, with that tab containing only that single collection.</p>
+ </div> </li>
+ <li> <p><code>unreferencedProperties</code> attribute can be specified only on a fieldset.</p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>The purpose of these attributes is to indicate where in the layout any unreferenced members should be rendered. Every grid <em>must</em> nominate one region for each of these three member types, the reason being that to ensure that the layout can be used even if it is incomplete with respect to the object members inferred from the Java source code. This might be because the developer forgot to update the layout, or it might be because of a new mixin (property, collection or action) contributed to many objects.</p>
+ </div>
+ <div class="paragraph">
+ <p>The framework ensures that in any given grid exactly one region is specified for each of the three <code>unreferenced\u2026\u200b</code> attributes. If the grid fails this validation, then a warning message will be displayed, and the invalid XML logged. The layout XML will then be ignored.</p>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_more_advanced_features">3.2.5. More advanced features</h4>
+ <div class="paragraph">
+ <p>This section decribes a number of more features useful in more complex layouts.</p>
+ </div>
+ <div class="sect4">
+ <h5 id="_multiple_references_to_a_feature">Multiple references to a feature</h5>
+ <div class="paragraph">
+ <p>One feature worth being aware of is that it is possible to render a single feature more than once.</p>
+ </div>
+ <div class="paragraph">
+ <p>For example, the dashboard home page for the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a> shows the "not yet complete" collection of todo items twice, once as a table and also as a calendar:</p>
+ </div>
+ <div class="imageblock">
+ <div class="content">
+ <a class="image" href="images/layout-dynamic-xml/ToDoAppDashboard.png"><img src="images/layout-dynamic-xml/ToDoAppDashboard.png" alt="ToDoAppDashboard" width="940px"></a>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>This is accomplished using the following (slightly abbreviated) layout:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag"><grid</span> <span class="attribute-name">...</span><span class="tag">></span>
+ <span class="tag"><row></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span> <span class="attribute-name">unreferencedActions</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span><span class="tag">></span>
+ ...
+ <span class="tag"></col></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">5</span><span class="delimiter">"</span></span> <span class="attribute-name">unreferencedCollections</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span> <span class="attribute-name">cssClass</span>=<span class="string"><span class="delimiter">"</span><span class="content">custom-padding-top-20</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><ns2:collection</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">notYetComplete</span><span class="delimiter">"</span></span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">calendar</span><span class="delimiter">"</span></span><span class="tag">/></span> <i class="conum" data-value="1"></i><b>(1)</b>
+ <span class="tag"></col></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">5</span><span class="delimiter">"</span></span> <span class="attribute-name">cssClass</span>=<span class="string"><span class="delimiter">"</span><span class="content">custom-padding-top-20</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><ns2:collection</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">notYetComplete</span><span class="delimiter">"</span></span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span> <span class="attribute-name">paged</span>=<span class="string"><span class="delimiter">"</span><span class="content">5</span><span class="delimiter">"</span></span><span class="tag">/></span> <i class="conum" data-value="2"></i><b>(2)</b>
+ <span class="tag"><ns2:collection</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">complete</span><span class="delimiter">"</span></span> <span class="attribute-name">defaultView</span>=<span class="string"><span class="delimiter">"</span><span class="content">table</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></col></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">0</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><ns2:fieldSet</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">General</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">general</span><span class="delimiter">"</span></span> <span class="attribute-name">unreferencedProperties</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></col></span>
+ <span class="tag"></row></span>
+<span class="tag"></grid></span></code></pre>
+ </div>
+ </div>
+ <div class="colist arabic">
+ <table>
+ <tbody>
+ <tr>
+ <td><i class="conum" data-value="1"></i><b>1</b></td>
+ <td>render the collection in "calendar" view</td>
+ </tr>
+ <tr>
+ <td><i class="conum" data-value="2"></i><b>2</b></td>
+ <td>also render the collection in "table" view</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="paragraph">
+ <p>In the middle column the <code>notYetComplete</code> collection is rendered in "calendar" view, while in the right-most column it is rendered in "table" view.</p>
+ </div>
+ <div class="paragraph">
+ <p>It is also possible to reference object properties and actions more than once. This might be useful for a complex domain object with multiple tabs; certain properties or actions might appear on a summary tab (that shows the most commonly used info), but also on detail tabs.</p>
+ </div>
+ </div>
+ <div class="sect4">
+ <h5 id="_custom_css">Custom CSS</h5>
+ <div class="paragraph">
+ <p>The ToDoApp\u2019s dashboard (above) also shows how custom CSS styles can be associated with specific regions of the layout:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag"><grid</span> <span class="attribute-name">...</span><span class="tag">></span>
+ <span class="tag"><row></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span> <span class="attribute-name">unreferencedActions</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span><span class="tag">></span>
+ <span class="tag"><ns2:domainObject</span><span class="tag">/></span>
+ <span class="tag"><row></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">12</span><span class="delimiter">"</span></span> <span class="attribute-name">cssClass</span>=<span class="string"><span class="delimiter">"</span><span class="content">custom-width-100</span><span class="delimiter">"</span></span><span class="tag">></span> <i class="conum" data-value="1"></i><b>(1)</b>
+ <span class="tag"><ns2:action</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">exportToWordDoc</span><span class="delimiter">"</span></span><span class="tag">/></span>
+ <span class="tag"></col></span>
+ <span class="tag"></row></span>
+ ...
+ <span class="tag"></col></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">5</span><span class="delimiter">"</span></span> <span class="attribute-name">unreferencedCollections</span>=<span class="string"><span class="delimiter">"</span><span class="content">true</span><span class="delimiter">"</span></span> <span class="attribute-name">cssClass</span>=<span class="string"><span class="delimiter">"</span><span class="content">custom-padding-top-20</span><span class="delimiter">"</span></span><span class="tag">></span> <i class="conum" data-value="2"></i><b>(2)</b>
+ ...
+ <span class="tag"></col></span>
+ <span class="tag"><col</span> <span class="attribute-name">span</span>=<span class="string"><span class="delimiter">"</span><span class="content">5</span><span class="delimiter">"</span></span> <span class="attribute-name">cssClass</span>=<span class="string"><span class="delimiter">"</span><span class="content">custom-padding-top-20</span><span class="delimiter">"</span></span><span class="tag">></span> <i class="conum" data-value="3"></i><b>(3)</b>
+ ...
+ <span class="tag"></col></span>
+ <span class="tag"></row></span>
+<span class="tag"></grid></span></code></pre>
+ </div>
+ </div>
+ <div class="colist arabic">
+ <table>
+ <tbody>
+ <tr>
+ <td><i class="conum" data-value="1"></i><b>1</b></td>
+ <td>Render the column with the <code>custom-width-100</code> CSS class.</td>
+ </tr>
+ <tr>
+ <td><i class="conum" data-value="2"></i><b>2</b></td>
+ <td>Render the column with the <code>custom-padding-top-20</code> CSS class.</td>
+ </tr>
+ <tr>
+ <td><i class="conum" data-value="3"></i><b>3</b></td>
+ <td>Ditto</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="paragraph">
+ <p>For example the <code>custom-width-100</code> style is used to "stretch" the button for the <code>exportToWordDoc</code> action in the left-most column. This is accomplished with the following CSS in <code>application.css</code>:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="css"><span class="class">.custom-width-100</span> <span class="tag">ul</span>,
+<span class="class">.custom-width-100</span> <span class="tag">ul</span> <span class="tag">li</span>,
+<span class="class">.custom-width-100</span> <span class="tag">ul</span> <span class="tag">li</span> <span class="tag">a</span><span class="class">.btn</span> {
+ <span class="key">width</span>: <span class="float">100%</span>;
+}</code></pre>
+ </div>
+ </div>
+ <div class="paragraph">
+ <p>Similarly, the middle and right columns are rendered using the <code>custom-padding-top-20</code> CSS class. This shifts them down from the top of the page slightly, using the following CSS:</p>
+ </div>
+ <div class="listingblock">
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="css"><span class="class">.custom-padding-top-20</span> {
+ <span class="key">padding-top</span>: <span class="float">20px</span>;
+}</code></pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="sect3">
+ <h4 id="_migrating_from_earlier_versions">3.2.6. Migrating from earlier versions</h4>
+ <div class="paragraph">
+ <p>As noted earlier on, it is possible to download layout XML files using the <a href="../rgsvc/rgsvc.html#_rgsvc_api_LayoutService"><code>LayoutService</code></a> (exposed on the prototyping menu); this will download a ZIP file of layout XML files for all domain entities and view models. Alternatively the layout XML for a single domain object can be downloaded using the <a href="../rgcms/rgcms.html#_rgcms_classes_mixins_Object">mixin action</a> (contributed to every domain object).</p>
+ </div>
+ <div class="paragraph">
+ <p>There are four "styles":</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>current</p> </li>
+ <li> <p>complete</p> </li>
+ <li> <p>normalized</p> </li>
+ <li> <p>minimal</p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>Ignorig the "current" style (which merely downloads the currently cached layout), the other three styles allow the developer to choose how much metadata is to be specified in the XML, and how much (if any) will be obtained elsewhere, either from annotations in the metamodel or from an earlier <code>.layout.json</code> file if present. The table below summarises the choices:</p>
+ </div>
+ <table class="tableblock frame-all grid-all spread">
+ <caption class="title">
+ Table 1. Table caption
+ </caption>
+ <colgroup>
+ <col style="width: 25%;">
+ <col style="width: 25%;">
+ <col style="width: 25%;">
+ <col style="width: 25%;">
+ </colgroup>
+ <thead>
+ <tr>
+ <th class="tableblock halign-left valign-bottom">Style</th>
+ <th class="tableblock halign-center valign-bottom"><a href="../rgant/rgant.html#_rgant-MemberGroupLayout"><code>@MemberGroupLayout</code></a></th>
+ <th class="tableblock halign-center valign-bottom"><a href="../rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a></th>
+ <th class="tableblock halign-center valign-bottom"><a href="../rgant/rgant.html#_rgant-ActionLayout"><code>@ActionLayout</code></a>, <a href="../rgant/rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a>, <a href="../rgant/rgant.html#_rgant-CollectionLayout"><code>@CollectionLayout</code></a></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="tableblock halign-left valign-bottom"><p class="tableblock"><code>COMPLETE</code></p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">serialized as XML</p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">serialized as XML</p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">serialized as XML</p></td>
+ </tr>
+ <tr>
+ <td class="tableblock halign-left valign-bottom"><p class="tableblock"><code>NORMALIZED</code></p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">serialized as XML</p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">serialized as XML</p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">not in the XML</p></td>
+ </tr>
+ <tr>
+ <td class="tableblock halign-left valign-bottom"><p class="tableblock"><code>MINIMAL</code></p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">serialized as XML</p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">not in the XML</p></td>
+ <td class="tableblock halign-center valign-bottom"><p class="tableblock">not in the XML</p></td>
+ </tr>
+ </tbody>
+ </table>
+ <div class="paragraph">
+ <p>As a developer, you therefore have a choice as to how
<TRUNCATED>
[27/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgant/rgant.html
----------------------------------------------------------------------
diff --git a/content/guides/rgant/rgant.html b/content/guides/rgant/rgant.html
index c757d5e..44fca97 100644
--- a/content/guides/rgant/rgant.html
+++ b/content/guides/rgant/rgant.html
@@ -472,7 +472,7 @@
<td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Most UI semantics can also be specified using <a href="ugfun.html#_ugfun_object-layout_dynamic">dynamic object layout</a>.</p>
+ <p>Most UI semantics can also be specified using <a href="../ugvw/ugvw.html#_ugvw_layout_file-based">dynamic object layout</a>.</p>
</div> </td>
</tr>
</tbody>
@@ -496,12 +496,12 @@
<th class="tableblock halign-left valign-top">Annotation</th>
<th class="tableblock halign-left valign-top">Purpose</th>
<th class="tableblock halign-left valign-top">Layer</th>
- <th class="tableblock halign-left valign-top"><a href="ugfun.html#_ugfun_object-layout_dynamic">Dynamic layout</a>?</th>
+ <th class="tableblock halign-left valign-top"><a href="../ugvw/ugvw.html#_ugvw_layout_file-based">File-based layout</a>?</th>
</tr>
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action"><code>@Action</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action"><code>@Action</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -512,7 +512,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-ActionLayout"><code>@ActionLayout</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-ActionLayout"><code>@ActionLayout</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -523,7 +523,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Collection"><code>@Collection</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Collection"><code>@Collection</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -534,7 +534,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-CollectionLayout"><code>@CollectionLayout</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-CollectionLayout"><code>@CollectionLayout</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -545,7 +545,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-DomainObject"><code>@DomainObject</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-DomainObject"><code>@DomainObject</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -556,7 +556,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-DomainObjectLayout"><code>@DomainObjectLayout</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-DomainObjectLayout"><code>@DomainObjectLayout</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -567,7 +567,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-DomainService"><code>@DomainService</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-DomainService"><code>@DomainService</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -578,7 +578,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-DomainServiceLayout"><code>@DomainServiceLayout</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-DomainServiceLayout"><code>@DomainServiceLayout</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -589,7 +589,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Parameter"><code>@Parameter</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Parameter"><code>@Parameter</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -600,7 +600,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-ParameterLayout"><code>@ParameterLayout</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-ParameterLayout"><code>@ParameterLayout</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -611,7 +611,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Property"><code>@Property</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Property"><code>@Property</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -622,7 +622,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-PropertyLayout"><code>@PropertyLayout</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-PropertyLayout"><code>@PropertyLayout</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -633,7 +633,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-ViewModel"><code>@ViewModel</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-ViewModel"><code>@ViewModel</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -644,7 +644,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-ViewModelLayout"><code>@ViewModelLayout</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-ViewModelLayout"><code>@ViewModelLayout</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -678,12 +678,12 @@
<th class="tableblock halign-left valign-top">Annotation</th>
<th class="tableblock halign-left valign-top">Purpose</th>
<th class="tableblock halign-left valign-top">Layer</th>
- <th class="tableblock halign-left valign-top"><a href="ugfun.html#_ugfun_object-layout_dynamic">Dynamic layout</a>?</th>
+ <th class="tableblock halign-left valign-top"><a href="../ugvw/ugvw.html#_ugvw_layout_file-based">File-based layout</a>?</th>
</tr>
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Facets"><code>@Facets</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Facets"><code>@Facets</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -694,7 +694,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-HomePage"><code>@HomePage</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-HomePage"><code>@HomePage</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -705,7 +705,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-MemberOrder"><code>@MemberOrder</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -716,7 +716,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-MinLength"><code>@MinLength</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-MinLength"><code>@MinLength</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -727,7 +727,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Programmatic"><code>@Programmatic</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Programmatic"><code>@Programmatic</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -785,7 +785,7 @@
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Column"><code>@javax.jdo.annotations.</code><br> <code>Column</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Column"><code>@javax.jdo.annotations.</code><br> <code>Column</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -796,46 +796,46 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Property</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Discriminator"><code>@javax.jdo.annotations.</code><br> <code>Discriminator</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Discriminator"><code>@javax.jdo.annotations.</code><br> <code>Discriminator</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>Override for the object type, as used in `Bookmark`s, URLs for <a href="ugvro.html">RestfulObjects viewer</a> and elsewhere.<br></p>
+ <p>Override for the object type, as used in `Bookmark`s, URLs for <a href="../ugvro/ugvro.html">RestfulObjects viewer</a> and elsewhere.<br></p>
</div>
<div class="paragraph">
- <p>Note that the discriminator overrides the object type that may otherwise be inferred from the <a href="#_rgant-PersistenceCapable"><code>@PersistenceCapable</code></a> annotation.</p>
+ <p>Note that the discriminator overrides the object type that may otherwise be inferred from the <a href="../rgant/rgant.html#_rgant-PersistenceCapable"><code>@PersistenceCapable</code></a> annotation.</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain / persistence</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-NotPersistent"><code>@javax.jdo.annotations.</code><br> <code>NotPersistent</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-NotPersistent"><code>@javax.jdo.annotations.</code><br> <code>NotPersistent</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>Used to determine whether to enforce or skip some <a href="ugbtb.html#_ugbtb_programming-model_custom-validator">metamodel validation</a> for <code>@Column</code> versus equivalent Isis annotations.</p>
+ <p>Used to determine whether to enforce or skip some <a href="../ugbtb/ugbtb.html#_ugbtb_programming-model_custom-validator">metamodel validation</a> for <code>@Column</code> versus equivalent Isis annotations.</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain / persistence</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Property</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-PersistenceCapable"><code>@javax.jdo.annotations.</code><br> <code>PersistenceCapable</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-PersistenceCapable"><code>@javax.jdo.annotations.</code><br> <code>PersistenceCapable</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
<p>Used to build Apache Isis' own internal identifier for objects.<br></p>
</div>
<div class="paragraph">
- <p>If the <code>schema()</code> attribute is specified (and if <a href="#<em>rgant-Discriminator"><code>@Discriminator</code></a> _hasn\u2019t been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for <a href="ugvro.html">RestfulObjects viewer</a> and elsewhere.</p>
+ <p>If the <code>schema()</code> attribute is specified (and if <a href="../rgant/rgant.html#<em>rgant-Discriminator"><code>@Discriminator</code></a> _hasn\u2019t been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for <a href="../ugvro/ugvro.html">RestfulObjects viewer</a> and elsewhere.</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain / persistence</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-PrimaryKey"><code>@javax.jdo.annotations.</code><br> <code>PrimaryKey</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-PrimaryKey"><code>@javax.jdo.annotations.</code><br> <code>PrimaryKey</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -929,12 +929,12 @@
<th class="tableblock halign-left valign-top">Annotation</th>
<th class="tableblock halign-left valign-top">Purpose</th>
<th class="tableblock halign-left valign-top">Layer</th>
- <th class="tableblock halign-left valign-top"><a href="ugfun.html#_ugfun_object-layout_dynamic">Dynamic layout</a>?</th>
+ <th class="tableblock halign-left valign-top"><a href="../ugvw/ugvw.html#_ugvw_layout_file-based">File-based layout</a>?</th>
</tr>
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Digits"><code>@javax.validation.</code><br> <code>constraints.</code><br> <code>Digits</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Digits"><code>@javax.validation.</code><br> <code>constraints.</code><br> <code>Digits</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -945,7 +945,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Inject"><code>@javax.inject.</code><br> <code>Inject</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Inject"><code>@javax.inject.</code><br> <code>Inject</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -956,7 +956,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Digits"><code>@javax.annotation.</code><br> <code>Nullable</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Digits"><code>@javax.annotation.</code><br> <code>Nullable</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -967,29 +967,29 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-PostConstruct"><code>@javax.annotation.</code><br> <code>PostConstruct</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-PostConstruct"><code>@javax.annotation.</code><br> <code>PostConstruct</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>Callback for domain services (either singleton or <a href="#_rgant-RequestScoped">request-scoped</a>) to initialize themselves once instantiated.</p>
+ <p>Callback for domain services (either singleton or <a href="../rgant/rgant.html#_rgant-RequestScoped">request-scoped</a>) to initialize themselves once instantiated.</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-PreDestroy"><code>@javax.annotation.</code><br> <code>PreDestroy</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-PreDestroy"><code>@javax.annotation.</code><br> <code>PreDestroy</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>Callback for domain services (either singleton or <a href="#_rgant-RequestScoped">request-scoped</a>) to clean up resources prior to destruction.</p>
+ <p>Callback for domain services (either singleton or <a href="../rgant/rgant.html#_rgant-RequestScoped">request-scoped</a>) to clean up resources prior to destruction.</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-RequestScoped"><code>@javax.enterprise.</code><br> <code>context.</code><br> <code>RequestScoped</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-RequestScoped"><code>@javax.enterprise.</code><br> <code>context.</code><br> <code>RequestScoped</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -1000,7 +1000,7 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-XmlRootElement"><code>javax.xml.bind</code><br> <code>.annotation</code><br> <code>XmlRootElement</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-XmlRootElement"><code>javax.xml.bind</code><br> <code>.annotation</code><br> <code>XmlRootElement</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
@@ -1011,11 +1011,11 @@
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-XmlJavaTypeAdapter"><code>javax.xml.bind</code><br> <code>.annotation</code><br> <code>XmlJavaTypeAdapter</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-XmlJavaTypeAdapter"><code>javax.xml.bind</code><br> <code>.annotation</code><br> <code>XmlJavaTypeAdapter</code></a></p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>JAXB annotation defining how to serialize an entity. Used in conjunction with the (framework provided) <code>PersistentEntityAdapter</code> class to serialize persistent entities into a canonical OID (equivalent to the <code>Bookmark</code> provided by the <a href="rgsvc.html#_rgsvc_api_BookmarkService"><code>BookmarkService</code></a>).</p>
+ <p>JAXB annotation defining how to serialize an entity. Used in conjunction with the (framework provided) <code>PersistentEntityAdapter</code> class to serialize persistent entities into a canonical OID (equivalent to the <code>Bookmark</code> provided by the <a href="../rgsvc/rgsvc.html#_rgsvc_api_BookmarkService"><code>BookmarkService</code></a>).</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1031,7 +1031,7 @@
<p>As Apache Isis has evolved and grown, we found ourselves adding more and more annotations; but most of these related to either an object type (entity, view model, service) or an object member (property, collection, action). Over time it became harder and harder for end programmers to discover these new features.</p>
</div>
<div class="paragraph">
- <p>Accordingly, (in v1.8.0) we decided to unify the semantics into the main (core) annotations listed <a href="#_rgant-aaa_main">above</a>.</p>
+ <p>Accordingly, (in v1.8.0) we decided to unify the semantics into the main (core) annotations listed <a href="../rgant/rgant.html#_rgant-aaa_main">above</a>.</p>
</div>
<div class="paragraph">
<p>The annotations listed in the table below are still supported by Apache Isis, but will be retired in Apache Isis v2.0.</p>
@@ -1053,7 +1053,7 @@
<th class="tableblock halign-left valign-top">Purpose</th>
<th class="tableblock halign-left valign-top">Use instead</th>
<th class="tableblock halign-left valign-top">Layer</th>
- <th class="tableblock halign-left valign-top"><a href="ugfun.html#_ugfun_object-layout_dynamic">Dynamic layout</a>?</th>
+ <th class="tableblock halign-left valign-top"><a href="../ugvw/ugvw.html#_ugvw_layout_file-based">File-based layout</a>?</th>
</tr>
</thead>
<tbody>
@@ -1068,7 +1068,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-MemberOrder"><code>@MemberOrder</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1085,7 +1085,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_domainEvent"><code>@Action#domainEvent()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_domainEvent"><code>@Action#domainEvent()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1102,7 +1102,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_semantics"><code>@Action#semantics()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_semantics"><code>@Action#semantics()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1119,7 +1119,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObject_auditing"><code>@DomainObject#</code><br> <code>auditing()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObject_auditing"><code>@DomainObject#</code><br> <code>auditing()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1136,7 +1136,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObject_autoCompleteRepository"><code>@DomainObject</code><br> <code>#autoCompleteRepository()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObject_autoCompleteRepository"><code>@DomainObject</code><br> <code>#autoCompleteRepository()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI/Domain</p></td>
@@ -1153,7 +1153,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObjectLayout_bookmarking"><code>@DomainObjectLayout</code><br> <code>#bookmarking()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObjectLayout_bookmarking"><code>@DomainObjectLayout</code><br> <code>#bookmarking()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1170,7 +1170,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObject_bounded"><code>@DomainObject#bounded()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObject_bounded"><code>@DomainObject#bounded()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1187,7 +1187,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_invokeOn"><code>@Action#invokeOn()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_invokeOn"><code>@Action#invokeOn()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI, Domain</p></td>
@@ -1204,7 +1204,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Collection_domainEvent"><code>@Collection#domainEvent()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Collection_domainEvent"><code>@Collection#domainEvent()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1221,7 +1221,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_command"><code>@Action#command()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_command"><code>@Action#command()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1238,7 +1238,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#cssClass()</code> attribute for: <a href="#_rgant-DomainObjectLayout_cssClass"><code>@DomainObjectLayout</code></a>, <a href="#_rgant-PropertyLayout_cssClass"><code>@PropertyLayout</code></a>, <a href="#_rgant-CollectionLayout_cssClass"><code>@CollectionLayout</code></a>, <a href="#_rgant-ActionLayout_cssClass"><code>@ActionLayout</code></a> and <a href="#_rgant-ParameterLayout_cssClass"><code>@ParameterLayout</code></a></p>
+ <p><code>#cssClass()</code> attribute for: <a href="../rgant/rgant.html#_rgant-DomainObjectLayout_cssClass"><code>@DomainObjectLayout</code></a>, <a href="../rgant/rgant.html#_rgant-PropertyLayout_cssClass"><code>@PropertyLayout</code></a>, <a href="../rgant/rgant.html#_rgant-CollectionLayout_cssClass"><code>@CollectionLayout</code></a>, <a href="../rgant/rgant.html#_rgant-ActionLayout_cssClass"><code>@ActionLayout</code></a> and <a href="../rgant/rgant.html#_rgant-ParameterLayout_cssClass"><code>@ParameterLayout</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1255,7 +1255,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>cssClassFa()</code> attribute for: <a href="#_rgant-ActionLayout_cssClassFa"><code>@ActionLayout</code></a>, <a href="#_rgant-DomainObjectLayout_cssClassFa"><code>DomainObjectLayout</code></a> and <a href="#_rgant-ViewModelLayout_cssClassFa"><code>ViewModelLayout</code></a></p>
+ <p><code>cssClassFa()</code> attribute for: <a href="../rgant/rgant.html#_rgant-ActionLayout_cssClassFa"><code>@ActionLayout</code></a>, <a href="../rgant/rgant.html#_rgant-DomainObjectLayout_cssClassFa"><code>DomainObjectLayout</code></a> and <a href="../rgant/rgant.html#_rgant-ViewModelLayout_cssClassFa"><code>ViewModelLayout</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1272,7 +1272,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>Not supported by either the <a href="ugvw.html">Wicket viewer</a> or the <a href="ugvro.html">RestfulObjects viewer</a>; use prototype mode instead (<a href="#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a>)</p>
+ <p>Not supported by either the <a href="../ugvw/ugvw.html">Wicket viewer</a> or the <a href="../ugvro/ugvro.html">RestfulObjects viewer</a>; use prototype mode instead (<a href="../rgant/rgant.html#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a>)</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1289,7 +1289,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#describedAs()</code> attribute for <a href="#_rgant-DomainObject_describedAs"><code>@DomainObjectLayout</code></a>, <a href="#_rgant-PropertyLayout_describedAs"><code>@PropertyLayout</code></a>, <a href="#_rgant-CollectionLayout_describedAs"><code>@CollectionLayout</code></a>, <a href="#_rgant-ActionLayout_describedAs"><code>@ActionLayout</code></a> and <a href="#_rgant-ParameterLayout_describedAs"><code>@ParameterLayout</code></a></p>
+ <p><code>#describedAs()</code> attribute for <a href="../rgant/rgant.html#_rgant-DomainObject_describedAs"><code>@DomainObjectLayout</code></a>, <a href="../rgant/rgant.html#_rgant-PropertyLayout_describedAs"><code>@PropertyLayout</code></a>, <a href="../rgant/rgant.html#_rgant-CollectionLayout_describedAs"><code>@CollectionLayout</code></a>, <a href="../rgant/rgant.html#_rgant-ActionLayout_describedAs"><code>@ActionLayout</code></a> and <a href="../rgant/rgant.html#_rgant-ParameterLayout_describedAs"><code>@ParameterLayout</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1306,7 +1306,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#editing()</code> attribute for <a href="#_rgant-Property_editing"><code>@Property</code></a>, <a href="#_rgant-Collection_editing"><code>@Collection</code></a> and <a href="#_rgant-DomainObject_editing"><code>@DomainObject</code></a></p>
+ <p><code>#editing()</code> attribute for <a href="../rgant/rgant.html#_rgant-Property_editing"><code>@Property</code></a>, <a href="../rgant/rgant.html#_rgant-Collection_editing"><code>@Collection</code></a> and <a href="../rgant/rgant.html#_rgant-DomainObject_editing"><code>@DomainObject</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI, Domain</p></td>
@@ -1323,7 +1323,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>Not supported by either the <a href="ugvw.html">Wicket viewer</a> or the <a href="ugvro.html">RestfulObjects viewer</a>; use prototype mode instead (<a href="#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a>)</p>
+ <p>Not supported by either the <a href="../ugvw/ugvw.html">Wicket viewer</a> or the <a href="../ugvro/ugvro.html">RestfulObjects viewer</a>; use prototype mode instead (<a href="../rgant/rgant.html#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a>)</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1340,7 +1340,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-MemberOrder"><code>@MemberOrder</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-MemberOrder"><code>@MemberOrder</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1357,7 +1357,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>For domain object members, use <code>#hidden()</code> attribute of <a href="#_rgant-Action_hidden"><code>Action</code></a>, <a href="#_rgant-Property_hidden"><code>Property</code></a> or <a href="#_rgant-Collection_hidden"><code>Collection</code></a>. <br> For domain service, use <a href="#_rgant-DomainService_nature"><code>@DomainService(</code><br> <code>nature=DOMAIN)</code></a></p>
+ <p>For domain object members, use <code>#hidden()</code> attribute of <a href="../rgant/rgant.html#_rgant-Action_hidden"><code>Action</code></a>, <a href="../rgant/rgant.html#_rgant-Property_hidden"><code>Property</code></a> or <a href="../rgant/rgant.html#_rgant-Collection_hidden"><code>Collection</code></a>. <br> For domain service, use <a href="../rgant/rgant.html#_rgant-DomainService_nature"><code>@DomainService(</code><br> <code>nature=DOMAIN)</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI, Domain</p></td>
@@ -1374,7 +1374,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_semantics"><code>@Action#semantics</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_semantics"><code>@Action#semantics</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1391,7 +1391,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Programmatic"><code>@Programmatic</code></a>.<br></p>
+ <p><a href="../rgant/rgant.html#_rgant-Programmatic"><code>@Programmatic</code></a>.<br></p>
</div>
<div class="paragraph">
<p><code>@Ignore</code> was deprecated because it can easily clash with <code>@org.junit.Ignore</code>.</p>
@@ -1411,7 +1411,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObject_editing"><code>@DomainObject#editing()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObject_editing"><code>@DomainObject#editing()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1445,7 +1445,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#maxLength()</code> attribute for <a href="#_rgant-Property_maxLength"><code>@Property</code></a> or <a href="#_rgant-Parameter_maxLength"><code>@Parameter</code></a></p>
+ <p><code>#maxLength()</code> attribute for <a href="../rgant/rgant.html#_rgant-Property_maxLength"><code>@Property</code></a> or <a href="../rgant/rgant.html#_rgant-Parameter_maxLength"><code>@Parameter</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1462,7 +1462,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic <code>.layout.xml</code></a> files</p>
+ <p><a href="../ugvw/ugvw.html#_ugvw_layout_file-based">dynamic <code>.layout.xml</code></a> files</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1479,7 +1479,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="ugfun.html#_ugfun_object-layout_dynamic_xml">dynamic <code>.layout.xml</code></a> files</p>
+ <p><a href="../ugvw/ugvw.html#_ugvw_layout_file-based">dynamic <code>.layout.xml</code></a> files</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1496,7 +1496,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#multiLine()</code> attribute for <a href="#_rgant-Property_multiLine"><code>@Property</code></a> or <a href="#_rgant-Parameter_multiLine"><code>@Parameter</code></a></p>
+ <p><code>#multiLine()</code> attribute for <a href="../rgant/rgant.html#_rgant-Property_multiLine"><code>@Property</code></a> or <a href="../rgant/rgant.html#_rgant-Parameter_multiLine"><code>@Parameter</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1513,7 +1513,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#mustSatisfy()</code> attribute for <a href="#_rgant-Property_mustSatisfy"><code>@Property</code></a> or <a href="#_rgant-Parameter_mustSatisfy"><code>@Parameter</code></a></p>
+ <p><code>#mustSatisfy()</code> attribute for <a href="../rgant/rgant.html#_rgant-Property_mustSatisfy"><code>@Property</code></a> or <a href="../rgant/rgant.html#_rgant-Parameter_mustSatisfy"><code>@Parameter</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1530,7 +1530,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#named()</code> attribute for <a href="#_rgant-DomainServiceLayout_named"><code>@DomainServiceLayout</code></a>, <a href="#_rgant-DomainObjectLayout_named"><code>@DomainObjectLayout</code></a>, <a href="#_rgant-PropertyLayout_named"><code>@PropertyLayout</code></a>, <a href="#_rgant-CollectionLayout_named"><code>@CollectionLayout</code></a>, <a href="#_rgant-ActionLayout_named"><code>@ActionLayout</code></a> and <a href="#_rgant-ParameterLayout_named"><code>@ParameterLayout</code></a></p>
+ <p><code>#named()</code> attribute for <a href="../rgant/rgant.html#_rgant-DomainServiceLayout_named"><code>@DomainServiceLayout</code></a>, <a href="../rgant/rgant.html#_rgant-DomainObjectLayout_named"><code>@DomainObjectLayout</code></a>, <a href="../rgant/rgant.html#_rgant-PropertyLayout_named"><code>@PropertyLayout</code></a>, <a href="../rgant/rgant.html#_rgant-CollectionLayout_named"><code>@CollectionLayout</code></a>, <a href="../rgant/rgant.html#_rgant-ActionLayout_named"><code>@ActionLayout</code></a> and <a href="../rgant/rgant.html#_rgant-ParameterLayout_named"><code>@ParameterLayout</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1547,7 +1547,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>Use <a href="#_rgant-DomainService_nature"><code>@DomainService#nature()</code></a> to specify whether any of the actions in a domain service should appear in the menu bars (applies at type level, not action level). For individual actions, use <a href="#_rgant-ActionLayout_contributedAs"><code>@ActionLayout#</code><br> <code>contributedAs()</code></a> to specify whether any individual action should be contributed only as an action or as an association (property or collection).</p>
+ <p>Use <a href="../rgant/rgant.html#_rgant-DomainService_nature"><code>@DomainService#nature()</code></a> to specify whether any of the actions in a domain service should appear in the menu bars (applies at type level, not action level). For individual actions, use <a href="../rgant/rgant.html#_rgant-ActionLayout_contributedAs"><code>@ActionLayout#</code><br> <code>contributedAs()</code></a> to specify whether any individual action should be contributed only as an action or as an association (property or collection).</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1564,7 +1564,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainService_nature"><code>@DomainService#nature()</code></a> to signify that none of the actions in a domain service should appear in the menu bars</p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainService_nature"><code>@DomainService#nature()</code></a> to signify that none of the actions in a domain service should appear in the menu bars</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1581,7 +1581,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#notPersisted()</code> attribute of <a href="#_rgant-Property_notPersisted"><code>@Property</code></a> and <a href="#_rgant-Collection_notPersisted"><code>@Collection</code></a></p>
+ <p><code>#notPersisted()</code> attribute of <a href="../rgant/rgant.html#_rgant-Property_notPersisted"><code>@Property</code></a> and <a href="../rgant/rgant.html#_rgant-Collection_notPersisted"><code>@Collection</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain, Persistence</p></td>
@@ -1598,7 +1598,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObject_objectType"><code>@DomainObject#objectType()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObject_objectType"><code>@DomainObject#objectType()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1615,7 +1615,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#optionality()</code> attribute for <a href="#_rgant-Property_optionality"><code>@Property</code></a> or <a href="#_rgant-Parameter_optionality"><code>@Parameter</code></a></p>
+ <p><code>#optionality()</code> attribute for <a href="../rgant/rgant.html#_rgant-Property_optionality"><code>@Property</code></a> or <a href="../rgant/rgant.html#_rgant-Parameter_optionality"><code>@Parameter</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1632,7 +1632,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#paged()</code> attribute for <a href="#_rgant-DomainObjectLayout_paged"><code>@DomainObjectLayout</code></a> or <a href="#_rgant-CollectionLayout_paged"><code>@CollectionLayout</code></a></p>
+ <p><code>#paged()</code> attribute for <a href="../rgant/rgant.html#_rgant-DomainObjectLayout_paged"><code>@DomainObjectLayout</code></a> or <a href="../rgant/rgant.html#_rgant-CollectionLayout_paged"><code>@CollectionLayout</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1649,7 +1649,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObject_plural"><code>@DomainObjectLayout</code><br> <code>#plural()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObject_plural"><code>@DomainObjectLayout</code><br> <code>#plural()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1666,7 +1666,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_domainEvent"><code>@Action#domainEvent()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_domainEvent"><code>@Action#domainEvent()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1683,7 +1683,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Collection_domainEvent"><code>@Collection#domainEvent()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Collection_domainEvent"><code>@Collection#domainEvent()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1700,7 +1700,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Collection_domainEvent"><code>@Collection#domainEvent()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Collection_domainEvent"><code>@Collection#domainEvent()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1717,7 +1717,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Property_domainEvent"><code>@Property#domainEvent()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Property_domainEvent"><code>@Property#domainEvent()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1734,7 +1734,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Property_domainEvent"><code>@Property#domainEvent()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Property_domainEvent"><code>@Property#domainEvent()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1751,7 +1751,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_restrictTo"><code>@Action#restrictTo()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1768,7 +1768,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_publishing"><code>@Action#publishing()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_publishing"><code>@Action#publishing()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1785,7 +1785,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-DomainObject_publishing"><code>@DomainObject#publishing()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-DomainObject_publishing"><code>@DomainObject#publishing()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1802,7 +1802,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-Action_semantics"><code>@Action#semantics()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-Action_semantics"><code>@Action#semantics()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1819,7 +1819,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#regexPattern()</code> for <a href="#_rgant-Property_regexPattern"><code>@Property</code></a> or <a href="#_rgant-Property_regexPattern"><code>@Parameter</code></a>.</p>
+ <p><code>#regexPattern()</code> for <a href="../rgant/rgant.html#_rgant-Property_regexPattern"><code>@Property</code></a> or <a href="../rgant/rgant.html#_rgant-Property_regexPattern"><code>@Parameter</code></a>.</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1836,7 +1836,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-CollectionLayout_render"><code>@CollectionLayout</code><br> <code>#render()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-CollectionLayout_render"><code>@CollectionLayout</code><br> <code>#render()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1853,7 +1853,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#renderedAsDayBefore()</code> attribute for <a href="#_rgant-PropertyLayout_renderedAsDayBefore"><code>@PropertyLayout</code></a> and <a href="#_rgant-ParameterLayout_renderedAsDayBefore"><code>@ParameterLayout</code></a>.</p>
+ <p><code>#renderedAsDayBefore()</code> attribute for <a href="../rgant/rgant.html#_rgant-PropertyLayout_renderedAsDayBefore"><code>@PropertyLayout</code></a> and <a href="../rgant/rgant.html#_rgant-ParameterLayout_renderedAsDayBefore"><code>@ParameterLayout</code></a>.</p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1870,7 +1870,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-CollectionLayout_render"><code>@CollectionLayout</code><br> <code>#render()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-CollectionLayout_render"><code>@CollectionLayout</code><br> <code>#render()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1887,7 +1887,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><a href="#_rgant-CollectionLayout_sortedBy"><code>@CollectionLayout</code><br> <code>#sortedBy()</code></a></p>
+ <p><a href="../rgant/rgant.html#_rgant-CollectionLayout_sortedBy"><code>@CollectionLayout</code><br> <code>#sortedBy()</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -1904,7 +1904,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#typeOf()</code> attribute for <a href="#_rgant-Collection_typeOf"><code>@Collection</code></a> and <a href="#_rgant-Action_typeOf"><code>@Action</code></a></p>
+ <p><code>#typeOf()</code> attribute for <a href="../rgant/rgant.html#_rgant-Collection_typeOf"><code>@Collection</code></a> and <a href="../rgant/rgant.html#_rgant-Action_typeOf"><code>@Action</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Domain</p></td>
@@ -1921,7 +1921,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p><code>#typicalLength()</code> attribute for <a href="#_rgant-PropertyLayout_typicalLength"><code>@PropertyLayout</code></a> and <a href="#_rgant-ParameterLayout_typicalLength"><code>@ParameterLayout</code></a></p>
+ <p><code>#typicalLength()</code> attribute for <a href="../rgant/rgant.html#_rgant-PropertyLayout_typicalLength"><code>@PropertyLayout</code></a> and <a href="../rgant/rgant.html#_rgant-ParameterLayout_typicalLength"><code>@ParameterLayout</code></a></p>
</div>
</div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">UI</p></td>
@@ -2115,12 +2115,12 @@
</thead>
<tbody>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_command"><code>command()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_command"><code>command()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AS_CONFIGURED</code>, <code>ENABLED</code>, <code>DISABLED</code><br> (<code>AS_CONFIGURED</code>)</p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>whether the action invocation should be reified into a <code>o.a.i.applib.</code><br> <code>services.command.Command</code> object through the <a href="rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a> service.</p>
+ <p>whether the action invocation should be reified into a <code>o.a.i.applib.</code><br> <code>services.command.Command</code> object through the <a href="../rgsvc/rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a> service.</p>
</div>
</div></td>
</tr>
@@ -2130,7 +2130,7 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>whether to execute the command immediately, or to persist it (assuming that an appropriate implementation of <a href="rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> has been configured) such that a background scheduler can execute the command asynchronously</p>
+ <p>whether to execute the command immediately, or to persist it (assuming that an appropriate implementation of <a href="../rgsvc/rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> has been configured) such that a background scheduler can execute the command asynchronously</p>
</div>
</div></td>
</tr>
@@ -2140,22 +2140,22 @@
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>whether the reified <code>Command</code> (as provided by the <code>CommandContext</code> domain service) should actually be persisted (assuming an appropriate implementation of <a href="rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> has been configured).</p>
+ <p>whether the reified <code>Command</code> (as provided by the <code>CommandContext</code> domain service) should actually be persisted (assuming an appropriate implementation of <a href="../rgsvc/rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> has been configured).</p>
</div>
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_domainEvent"><code>domainEvent()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_domainEvent"><code>domainEvent()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">subtype of <code>ActionDomainEvent</code><br> (<code>ActionDomainEvent.Default</code>)</p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>the event type to be posted to the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> to broadcast the action\u2019s business rule checking (hide, disable, validate) and its invocation (pre-execute and post-execute).</p>
+ <p>the event type to be posted to the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> to broadcast the action\u2019s business rule checking (hide, disable, validate) and its invocation (pre-execute and post-execute).</p>
</div>
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_hidden"><code>hidden()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_hidden"><code>hidden()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>EVERYWHERE</code>, <code>NOWHERE</code><br> (<code>NOWHERE</code>)</p></td>
<td class="tableblock halign-left valign-top">
<div>
@@ -2165,7 +2165,7 @@
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_invokeOn"><code>invokeOn()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_invokeOn"><code>invokeOn()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>OBJECT_ONLY</code>, <code>COLLECTION_ONLY</code>, <code>OBJECT_AND_COLLECTION</code><br> (<code>OBJECT_ONLY</code>)</p></td>
<td class="tableblock halign-left valign-top">
<div>
@@ -2178,12 +2178,12 @@
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_publishing"><code>publishing()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_publishing"><code>publishing()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AS_CONFIGURED</code>, <code>ENABLED</code>, <code>DISABLED</code><br> (<code>AS_CONFIGURED</code>)</p></td>
<td class="tableblock halign-left valign-top">
<div>
<div class="paragraph">
- <p>whether the action invocation should be published to the registered <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p>
+ <p>whether the action invocation should be published to the registered <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>.</p>
</div>
</div></td>
</tr>
@@ -2198,7 +2198,7 @@
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_restrictTo"><code>restrictTo()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_restrictTo"><code>restrictTo()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>NO_RESTRICTIONS</code>,<code>PROTOTYPING</code><br> (<code>NO_RESTRICTIONS</code>)</p></td>
<td class="tableblock halign-left valign-top">
<div>
@@ -2208,7 +2208,7 @@
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_semantics"><code>semantics()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_semantics"><code>semantics()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SAFE_AND_REQUEST_CACHEABLE</code>, <code>SAFE</code>,<br> <code>IDEMPOTENT</code>, <code>IDEMPOTENT_ARE_YOU_SURE</code><br> <code>NON_IDEMPOTENT</code>, <code>NON_IDEMPOTENT_ARE_YOU_SURE</code> +<br> (<code>NON_IDEMPOTENT</code>)</p></td>
<td class="tableblock halign-left valign-top">
<div>
@@ -2216,12 +2216,12 @@
<p>the action\u2019s semantics (ie whether objects are modified as the result of invoking this action, and if so whether reinvoking the action would result in no further change; if not whether the results can be cached for the remainder of the request).</p>
</div>
<div class="paragraph">
- <p>The <code>\u2026\u200bARE_YOU_SURE</code> variants cause a confirmation dialog to be displayed in the <a href="ugvw.html">Wicket viewer</a>.</p>
+ <p>The <code>\u2026\u200bARE_YOU_SURE</code> variants cause a confirmation dialog to be displayed in the <a href="../ugvw/ugvw.html">Wicket viewer</a>.</p>
</div>
</div></td>
</tr>
<tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_rgant-Action_typeOf"><code>typeOf()</code></a></p></td>
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgant/rgant.html#_rgant-Action_typeOf"><code>typeOf()</code></a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">(none)</p></td>
<td class="tableblock halign-left valign-top">
<div>
@@ -2286,14 +2286,14 @@
</div>
<div class="ulist">
<ul>
- <li> <p><a href="rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a></p> </li>
- <li> <p><a href="rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a></p> </li>
- <li> <p><a href="rgsvc.html#_rgsvc_spi_BackgroundService"><code>BackgroundService</code></a> and</p> </li>
- <li> <p><a href="rgsvc.html#_rgsvc_spi_BackgroundCommandService"><code>BackgroundCommandService</code></a></p> </li>
+ <li> <p><a href="../rgsvc/rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a></p> </li>
+ <li> <p><a href="../rgsvc/rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a></p> </li>
+ <li> <p><a href="../rgsvc/rgsvc.html#_rgsvc_spi_BackgroundService"><code>BackgroundService</code></a> and</p> </li>
+ <li> <p><a href="../rgsvc/rgsvc.html#_rgsvc_spi_BackgroundCommandService"><code>BackgroundCommandService</code></a></p> </li>
</ul>
</div>
<div class="paragraph">
- <p>Each action invocation is reified by the <a href="rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a> service into a <code>Command</code> object, capturing details of the target object, the action, the parameter arguments, the user, a timestamp and so on.</p>
+ <p>Each action invocation is reified by the <a href="../rgsvc/rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a> service into a <code>Command</code> object, capturing details of the target object, the action, the parameter arguments, the user, a timestamp and so on.</p>
</div>
<div class="paragraph">
<p>If an appropriate <code>CommandService</code> is configured (for example using (non-ASF) <a href="http://github.com/isisaddons/isis-module-command">Isis addons' command</a> module), then the <code>Command</code> itself is persisted.</p>
@@ -2308,17 +2308,17 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>If background <code>Command</code>s are used, then an external scheduler, using <a href="ugbtb.html#_ugbtb_headless-access_BackgroundCommandExecution">headless access</a>, must also be configured.</p>
+ <p>If background <code>Command</code>s are used, then an external scheduler, using <a href="../ugbtb/ugbtb.html#_ugbtb_headless-access_BackgroundCommandExecution">headless access</a>, must also be configured.</p>
</div> </td>
</tr>
</tbody>
</table>
</div>
<div class="paragraph">
- <p>The <code>command()</code> attribute determines whether the action invocation should be reified into a <code>Command</code> object (by the <a href="rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a> service).</p>
+ <p>The <code>command()</code> attribute determines whether the action invocation should be reified into a <code>Command</code> object (by the <a href="../rgsvc/rgsvc.html#_rgsvc_api_CommandContext"><code>CommandContext</code></a> service).</p>
</div>
<div class="paragraph">
- <p>The default is <code>AS_CONFIGURED</code>, meaning that the <a href="rgcfg.html#_rgcfg_configuring-core">configuration property</a> <code>isis.services.command.actions</code> is used to determine the whether the action is reified:</p>
+ <p>The default is <code>AS_CONFIGURED</code>, meaning that the <a href="../rgcfg/rgcfg.html#_rgcfg_configuring-core">configuration property</a> <code>isis.services.command.actions</code> is used to determine the whether the action is reified:</p>
</div>
<div class="ulist">
<ul>
@@ -2346,7 +2346,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Note: <code>Command</code> reification does not necessarily imply that <code>Command</code> objects will be persisted; that depends on whether there is a <a href="rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> configured that will persist said <code>Command</code>s.</p>
+ <p>Note: <code>Command</code> reification does not necessarily imply that <code>Command</code> objects will be persisted; that depends on whether there is a <a href="../rgsvc/rgsvc.html#_rgsvc_spi_CommandService"><code>CommandService</code></a> configured that will persist said <code>Command</code>s.</p>
</div> </td>
</tr>
</tbody>
@@ -2389,7 +2389,7 @@
</div>
</div>
<div class="paragraph">
- <p>will suppress the persistence of the <code>Command</code> object <em>unless</em> a child background <code>Command</code> has been created in the body of the action by way of the <a href="rgsvc.html#_rgsvc_api_BackgroundService"><code>BackgroundService</code></a>.</p>
+ <p>will suppress the persistence of the <code>Command</code> object <em>unless</em> a child background <code>Command</code> has been created in the body of the action by way of the <a href="../rgsvc/rgsvc.html#_rgsvc_api_BackgroundService"><code>BackgroundService</code></a>.</p>
</div>
<div class="paragraph">
<p>On the other hand:</p>
@@ -2416,7 +2416,7 @@
<p>For persisted commands, the <code>commandExecuteIn()</code> attribute determines whether the <code>Command</code> should be executed in the foreground (the default) or executed in the background.</p>
</div>
<div class="paragraph">
- <p>Background execution means that the command is not executed immediately, but is available for a configured <a href="rgsvc.html#_rgsvc_spi_BackgroundCommandService"><code>BackgroundCommandService</code></a> to execute, eg by way of an in-memory scheduler such as Quartz. See <a href="ugbtb.html#_ugbtb_headless-access_BackgroundCommandExecution">here</a> for further information on this topic.</p>
+ <p>Background execution means that the command is not executed immediately, but is available for a configured <a href="../rgsvc/rgsvc.html#_rgsvc_spi_BackgroundCommandService"><code>BackgroundCommandService</code></a> to execute, eg by way of an in-memory scheduler such as Quartz. See <a href="../ugbtb/ugbtb.html#_ugbtb_headless-access_BackgroundCommandExecution">here</a> for further information on this topic.</p>
</div>
<div class="paragraph">
<p>For example:</p>
@@ -2452,7 +2452,7 @@
</ul>
</div>
<div class="paragraph">
- <p>Subscribers subscribe through the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> using either <a href="https://github.com/google/guava">Guava</a> or <a href="http://www.axonframework.org/">Axon Framework</a> annotations and can influence each of these phases.</p>
+ <p>Subscribers subscribe through the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> using either <a href="https://github.com/google/guava">Guava</a> or <a href="http://www.axonframework.org/">Axon Framework</a> annotations and can influence each of these phases.</p>
</div>
<div class="paragraph">
<p>By default the event raised is <code>ActionDomainEvent.Default</code>. For example:</p>
@@ -2467,7 +2467,7 @@
</div>
</div>
<div class="paragraph">
- <p>The <code>domainEvent()</code> 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 <a href="#_rgant-Collection_domainEvent">collections</a> and <a href="#_rgant-Property_domainEvent">properties</a>.</p>
+ <p>The <code>domainEvent()</code> 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 <a href="../rgant/rgant.html#_rgant-Collection_domainEvent">collections</a> and <a href="../rgant/rgant.html#_rgant-Property_domainEvent">properties</a>.</p>
</div>
<div class="paragraph">
<p>For example:</p>
@@ -2500,7 +2500,7 @@
<div class="sect3">
<h4 id="_subscribers">3.2.1. Subscribers</h4>
<div class="paragraph">
- <p>Subscribers (which must be domain services) subscribe using either the <a href="https://github.com/google/guava">Guava</a> API or (if the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> has been appropriately configured) using the <a href="http://www.axonframework.org/">Axon Framework</a> API. The examples below use the Guava API.</p>
+ <p>Subscribers (which must be domain services) subscribe using either the <a href="https://github.com/google/guava">Guava</a> API or (if the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> has been appropriately configured) using the <a href="http://www.axonframework.org/">Axon Framework</a> API. The examples below use the Guava API.</p>
</div>
<div class="paragraph">
<p>Subscribers can be either coarse-grained (if they subscribe to the top-level event type):</p>
@@ -2604,7 +2604,7 @@
<div class="sect3">
<h4 id="_raising_events_programmatically">3.2.3. Raising events programmatically</h4>
<div class="paragraph">
- <p>Normally events are only raised for interactions through the UI. However, events can be raised programmatically either by calling the <a href="rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> API directly, or by emulating the UI by wrapping the target object using the <a href="rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a> domain service.</p>
+ <p>Normally events are only raised for interactions through the UI. However, events can be raised programmatically either by calling the <a href="../rgsvc/rgsvc.html#_rgsvc_api_EventBusService"><code>EventBusService</code></a> API directly, or by emulating the UI by wrapping the target object using the <a href="../rgsvc/rgsvc.html#_rgsvc_api_WrapperFactory"><code>WrapperFactory</code></a> domain service.</p>
</div>
</div>
</div>
@@ -2612,7 +2612,7 @@
<h3 id="_rgant-Action_hidden">3.3. <code>hidden()</code></h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Action_hidden.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>Actions can be hidden at the domain-level, indicating that they are not visible to the end-user. This attribute can also be applied to <a href="#_rgant-Property_hidden">properties</a> and <a href="#_rgant-Collection_hidden">collections</a>.</p>
+ <p>Actions can be hidden at the domain-level, indicating that they are not visible to the end-user. This attribute can also be applied to <a href="../rgant/rgant.html#_rgant-Property_hidden">properties</a> and <a href="../rgant/rgant.html#_rgant-Collection_hidden">collections</a>.</p>
</div>
<div class="admonitionblock tip">
<table>
@@ -2621,7 +2621,7 @@
<td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td>
<td class="content">
<div class="paragraph">
- <p>It is also possible to use <a href="#_rgant-ActionLayout_hidden"><code>@ActionLayout#hidden()</code></a> or <a href="ugfun.html#_ugfun_object-layout_dynamic">dynamic layouts</a> such that the action can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.</p>
+ <p>It is also possible to use <a href="../rgant/rgant.html#_rgant-ActionLayout_hidden"><code>@ActionLayout#hidden()</code></a> or <a href="../ugvw/ugvw.html#_ugvw_layout_file-based">file-based layouts</a> such that the action can be hidden at the view layer. Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.</p>
</div> </td>
</tr>
</tbody>
@@ -2664,7 +2664,7 @@
<td class="icon"> <i class="fa icon-note" title="Note"></i> </td>
<td class="content">
<div class="paragraph">
- <p>For actions of domain services the visibility is dependent upon its <a href="#_rgant-DomainService_nature"><code>@DomainService#nature()</code></a> and also on whether it is contributed (as per <a href="#_rgant-ActionLayout_contributedAs"><code>@ActionLayout#contributedAs()</code></a>).</p>
+ <p>For actions of domain services the visibility is dependent upon its <a href="../rgant/rgant.html#_rgant-DomainService_nature"><code>@DomainService#nature()</code></a> and also on whether it is contributed (as per <a href="../rgant/rgant.html#_rgant-ActionLayout_contributedAs"><code>@ActionLayout#contributedAs()</code></a>).</p>
</div> </td>
</tr>
</tbody>
@@ -2749,10 +2749,10 @@
<h3 id="_rgant-Action_publishing">3.5. <code>publishing()</code></h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Action_publishing.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>The <code>publishing()</code> attribute determines whether and how an action invocation is published via the registered implementation of a <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>) or <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>. This attribute is also supported for <a href="#_rgant-DomainObject_publishing">domain objects</a>, where it controls whether changed objects are published as events, and for <a href="#_rgant_Property_publishing"><code>@Property#publishing()</code></a>, where it controls whether property edits are published as events.</p>
+ <p>The <code>publishing()</code> attribute determines whether and how an action invocation is published via the registered implementation of a <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>) or <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>. This attribute is also supported for <a href="../rgant/rgant.html#_rgant-DomainObject_publishing">domain objects</a>, where it controls whether changed objects are published as events, and for <a href="../rgant/rgant.html#_rgant_Property_publishing"><code>@Property#publishing()</code></a>, where it controls whether property edits are published as events.</p>
</div>
<div class="paragraph">
- <p>A common use case is to notify external "downstream" systems of changes in the state of the Isis application. The default value for the attribute is <code>AS_CONFIGURED</code>, meaning that the <a href="rgcfg.html#_rgcfg_configuring-core">configuration property</a> <code>isis.services.publish.actions</code> is used to determine the whether the action is published:</p>
+ <p>A common use case is to notify external "downstream" systems of changes in the state of the Isis application. The default value for the attribute is <code>AS_CONFIGURED</code>, meaning that the <a href="../rgcfg/rgcfg.html#_rgcfg_configuring-core">configuration property</a> <code>isis.services.publish.actions</code> is used to determine the whether the action is published:</p>
</div>
<div class="ulist">
<ul>
@@ -2812,7 +2812,7 @@
<td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td>
<td class="content">
<div class="paragraph">
- <p>Be aware that this attribute is only honoured by the (deprecated) <a href="rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>, so should itself be considered as deprecated. It is ignored by the replacement <a href="rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>,</p>
+ <p>Be aware that this attribute is only honoured by the (deprecated) <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublishingService"><code>PublishingService</code></a>, so should itself be considered as deprecated. It is ignored by the replacement <a href="../rgsvc/rgsvc.html#_rgsvc_spi_PublisherService"><code>PublisherService</code></a>,</p>
</div> </td>
</tr>
</tbody>
@@ -2824,7 +2824,7 @@
<h3 id="_rgant-Action_restrictTo">3.6. <code>restrictTo()</code></h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Action_restrictTo.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>By default actions are available irrespective of the <a href="rgcfg.html#_rgcfg_deployment-types">deployment mode</a>. The <code>restrictTo()</code> attribute specifies whether the action should instead be restricted to only available in prototyping mode.</p>
+ <p>By default actions are available irrespective of the <a href="../rgcfg/rgcfg.html#_rgcfg_deployment-types">deployment mode</a>. The <code>restrictTo()</code> attribute specifies whether the action should instead be restricted to only available in prototyping mode.</p>
</div>
<div class="paragraph">
<p>For example:</p>
@@ -2852,7 +2852,7 @@
<p>The <code>semantics()</code> attribute describes whether the invocation modifies state of the system, and if so whether it does so idempotently. If the action invocation does <em>not</em> modify the state of the system, in other words is safe, then it also can beused to specify whether the results of the action can be cached automatically for the remainder of the request.</p>
</div>
<div class="paragraph">
- <p>The attribute was originally introduced for the <a href="ugvro.html">RestfulObjects viewer</a> in order that action invocations could be using the appropriate <code>HTTP</code> verb (<code>GET</code>,
<TRUNCATED>
[26/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/rgant/rgant.pdf
----------------------------------------------------------------------
diff --git a/content/guides/rgant/rgant.pdf b/content/guides/rgant/rgant.pdf
index 3801455..c8573bf 100644
--- a/content/guides/rgant/rgant.pdf
+++ b/content/guides/rgant/rgant.pdf
@@ -4,16 +4,16 @@
<< /Title (Annotations)
/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:20170411195301+01'00')
-/ModDate (D:20170411195301+01'00')
+/CreationDate (D:20170420093118+01'00')
+/ModDate (D:20170420093118+01'00')
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
/Names 20 0 R
-/Outlines 2145 0 R
-/PageLabels 2303 0 R
+/Outlines 2142 0 R
+/PageLabels 2300 0 R
/PageMode /UseOutlines
/OpenAction [7 0 R /FitH 842.89]
/ViewerPreferences << /DisplayDocTitle true
@@ -22,8 +22,8 @@ endobj
endobj
3 0 obj
<< /Type /Pages
-/Count 178
-/Kids [7 0 R 10 0 R 12 0 R 14 0 R 16 0 R 18 0 R 42 0 R 45 0 R 66 0 R 81 0 R 105 0 R 146 0 R 170 0 R 205 0 R 228 0 R 249 0 R 273 0 R 289 0 R 292 0 R 294 0 R 308 0 R 316 0 R 329 0 R 335 0 R 344 0 R 350 0 R 353 0 R 366 0 R 375 0 R 384 0 R 388 0 R 392 0 R 396 0 R 417 0 R 425 0 R 432 0 R 439 0 R 456 0 R 467 0 R 475 0 R 492 0 R 500 0 R 506 0 R 515 0 R 530 0 R 536 0 R 539 0 R 555 0 R 562 0 R 569 0 R 573 0 R 586 0 R 601 0 R 612 0 R 628 0 R 639 0 R 650 0 R 657 0 R 663 0 R 665 0 R 673 0 R 678 0 R 687 0 R 689 0 R 694 0 R 709 0 R 713 0 R 731 0 R 755 0 R 764 0 R 767 0 R 780 0 R 793 0 R 798 0 R 802 0 R 808 0 R 812 0 R 815 0 R 821 0 R 825 0 R 832 0 R 843 0 R 847 0 R 863 0 R 872 0 R 884 0 R 888 0 R 898 0 R 903 0 R 909 0 R 912 0 R 932 0 R 938 0 R 945 0 R 962 0 R 972 0 R 978 0 R 994 0 R 1004 0 R 1018 0 R 1030 0 R 1042 0 R 1048 0 R 1054 0 R 1064 0 R 1069 0 R 1079 0 R 1086 0 R 1096 0 R 1102 0 R 1108 0 R 1119 0 R 1123 0 R 1132 0 R 1135 0 R 1141 0 R 1145 0 R 1157 0 R 1163 0 R 1166 0 R 1172 0 R 1182 0 R 1
190 0 R 1192 0 R 1201 0 R 1205 0 R 1211 0 R 1221 0 R 1229 0 R 1237 0 R 1241 0 R 1246 0 R 1248 0 R 1262 0 R 1275 0 R 1285 0 R 1299 0 R 1307 0 R 1312 0 R 1325 0 R 1331 0 R 1342 0 R 1346 0 R 1356 0 R 1363 0 R 1368 0 R 1386 0 R 1393 0 R 1405 0 R 1407 0 R 1412 0 R 1425 0 R 1432 0 R 1440 0 R 1445 0 R 1451 0 R 1458 0 R 1461 0 R 1464 0 R 1469 0 R 1484 0 R 1499 0 R 1513 0 R 1529 0 R 1535 0 R 1548 0 R 1557 0 R 1559 0 R 1565 0 R 1570 0 R 1572 0 R 1579 0 R 1596 0 R 1613 0 R 1632 0 R 1643 0 R 1648 0 R 1663 0 R]
+/Count 177
+/Kids [7 0 R 10 0 R 12 0 R 14 0 R 16 0 R 18 0 R 42 0 R 45 0 R 66 0 R 81 0 R 105 0 R 146 0 R 170 0 R 205 0 R 228 0 R 249 0 R 273 0 R 289 0 R 292 0 R 294 0 R 308 0 R 316 0 R 329 0 R 335 0 R 344 0 R 350 0 R 353 0 R 366 0 R 375 0 R 384 0 R 388 0 R 392 0 R 396 0 R 417 0 R 425 0 R 432 0 R 439 0 R 455 0 R 466 0 R 474 0 R 491 0 R 499 0 R 505 0 R 514 0 R 529 0 R 535 0 R 538 0 R 554 0 R 561 0 R 568 0 R 572 0 R 585 0 R 601 0 R 620 0 R 627 0 R 639 0 R 650 0 R 656 0 R 662 0 R 670 0 R 675 0 R 684 0 R 686 0 R 691 0 R 706 0 R 710 0 R 728 0 R 752 0 R 761 0 R 764 0 R 777 0 R 790 0 R 795 0 R 799 0 R 805 0 R 809 0 R 812 0 R 818 0 R 822 0 R 829 0 R 840 0 R 844 0 R 860 0 R 869 0 R 881 0 R 885 0 R 895 0 R 900 0 R 906 0 R 909 0 R 929 0 R 935 0 R 942 0 R 959 0 R 969 0 R 975 0 R 991 0 R 1001 0 R 1015 0 R 1027 0 R 1039 0 R 1045 0 R 1051 0 R 1061 0 R 1066 0 R 1076 0 R 1083 0 R 1093 0 R 1099 0 R 1105 0 R 1116 0 R 1120 0 R 1129 0 R 1132 0 R 1138 0 R 1142 0 R 1154 0 R 1160 0 R 1163 0 R 1169 0 R 1179 0 R 1187 0 R
1189 0 R 1198 0 R 1202 0 R 1208 0 R 1218 0 R 1226 0 R 1234 0 R 1238 0 R 1243 0 R 1245 0 R 1259 0 R 1272 0 R 1282 0 R 1296 0 R 1304 0 R 1309 0 R 1322 0 R 1328 0 R 1339 0 R 1343 0 R 1353 0 R 1360 0 R 1365 0 R 1383 0 R 1390 0 R 1402 0 R 1404 0 R 1409 0 R 1422 0 R 1429 0 R 1437 0 R 1442 0 R 1448 0 R 1455 0 R 1458 0 R 1461 0 R 1466 0 R 1481 0 R 1497 0 R 1510 0 R 1526 0 R 1532 0 R 1547 0 R 1554 0 R 1556 0 R 1562 0 R 1567 0 R 1569 0 R 1576 0 R 1593 0 R 1610 0 R 1629 0 R 1640 0 R 1645 0 R 1660 0 R]
>>
endobj
4 0 obj
@@ -80,11 +80,11 @@ endobj
<< /Type /Font
/BaseFont /AAAAAP+NotoSerif
/Subtype /TrueType
-/FontDescriptor 2305 0 R
+/FontDescriptor 2302 0 R
/FirstChar 32
/LastChar 255
-/Widths 2307 0 R
-/ToUnicode 2306 0 R
+/Widths 2304 0 R
+/ToUnicode 2303 0 R
>>
endobj
9 0 obj
@@ -1917,7 +1917,7 @@ ET
BT
535.3009999999999 68.09599999999966 Td
/F1.0 10.5 Tf
-<3439> Tj
+<3438> Tj
ET
0.000 0.000 0.000 SCN
@@ -1937,7 +1937,7 @@ endobj
/F3.0 40 0 R
>>
>>
-/Annots [1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1699 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1769 0 R 1770 0 R 1771 0 R]
+/Annots [1666 0 R 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1699 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R]
>>
endobj
11 0 obj
@@ -2146,7 +2146,7 @@ ET
BT
535.3009999999999 739.2359999999999 Td
/F1.0 10.5 Tf
-<3532> Tj
+<3531> Tj
ET
0.000 0.000 0.000 SCN
@@ -2281,7 +2281,7 @@ ET
BT
535.3009999999999 702.2759999999998 Td
/F1.0 10.5 Tf
-<3535> Tj
+<3534> Tj
ET
0.000 0.000 0.000 SCN
@@ -2321,7 +2321,7 @@ ET
BT
535.3009999999999 683.7959999999998 Td
/F1.0 10.5 Tf
-<3535> Tj
+<3534> Tj
ET
0.000 0.000 0.000 SCN
@@ -2383,7 +2383,7 @@ ET
BT
535.3009999999999 665.3159999999998 Td
/F1.0 10.5 Tf
-<3535> Tj
+<3534> Tj
ET
0.000 0.000 0.000 SCN
@@ -2445,7 +2445,7 @@ ET
BT
535.3009999999999 646.8359999999998 Td
/F1.0 10.5 Tf
-<3536> Tj
+<3535> Tj
ET
0.000 0.000 0.000 SCN
@@ -2485,7 +2485,7 @@ ET
BT
535.3009999999999 628.3559999999998 Td
/F1.0 10.5 Tf
-<3536> Tj
+<3535> Tj
ET
0.000 0.000 0.000 SCN
@@ -2569,7 +2569,7 @@ ET
BT
535.3009999999999 609.8759999999997 Td
/F1.0 10.5 Tf
-<3537> Tj
+<3536> Tj
ET
0.000 0.000 0.000 SCN
@@ -2653,7 +2653,7 @@ ET
BT
535.3009999999999 591.3959999999997 Td
/F1.0 10.5 Tf
-<3539> Tj
+<3538> Tj
ET
0.000 0.000 0.000 SCN
@@ -2737,7 +2737,7 @@ ET
BT
535.3009999999999 572.9159999999997 Td
/F1.0 10.5 Tf
-<3630> Tj
+<3539> Tj
ET
0.000 0.000 0.000 SCN
@@ -2777,7 +2777,7 @@ ET
BT
535.3009999999999 554.4359999999997 Td
/F1.0 10.5 Tf
-<3630> Tj
+<3539> Tj
ET
0.000 0.000 0.000 SCN
@@ -2817,7 +2817,7 @@ ET
BT
535.3009999999999 535.9559999999997 Td
/F1.0 10.5 Tf
-<3630> Tj
+<3539> Tj
ET
0.000 0.000 0.000 SCN
@@ -2868,7 +2868,7 @@ ET
BT
535.3009999999999 517.4759999999997 Td
/F1.0 10.5 Tf
-<3632> Tj
+<3631> Tj
ET
0.000 0.000 0.000 SCN
@@ -2919,7 +2919,7 @@ ET
BT
535.3009999999999 498.9959999999997 Td
/F1.0 10.5 Tf
-<3634> Tj
+<3633> Tj
ET
0.000 0.000 0.000 SCN
@@ -2970,7 +2970,7 @@ ET
BT
535.3009999999999 480.5159999999997 Td
/F1.0 10.5 Tf
-<3634> Tj
+<3633> Tj
ET
0.000 0.000 0.000 SCN
@@ -3021,7 +3021,7 @@ ET
BT
535.3009999999999 462.03599999999966 Td
/F1.0 10.5 Tf
-<3636> Tj
+<3635> Tj
ET
0.000 0.000 0.000 SCN
@@ -3061,7 +3061,7 @@ ET
BT
535.3009999999999 443.55599999999964 Td
/F1.0 10.5 Tf
-<3637> Tj
+<3636> Tj
ET
0.000 0.000 0.000 SCN
@@ -3112,7 +3112,7 @@ ET
BT
535.3009999999999 425.0759999999996 Td
/F1.0 10.5 Tf
-<3638> Tj
+<3637> Tj
ET
0.000 0.000 0.000 SCN
@@ -3152,7 +3152,7 @@ ET
BT
535.3009999999999 406.5959999999996 Td
/F1.0 10.5 Tf
-<3639> Tj
+<3638> Tj
ET
0.000 0.000 0.000 SCN
@@ -3203,7 +3203,7 @@ ET
BT
535.3009999999999 388.1159999999996 Td
/F1.0 10.5 Tf
-<3731> Tj
+<3730> Tj
ET
0.000 0.000 0.000 SCN
@@ -3254,7 +3254,7 @@ ET
BT
535.3009999999999 369.63599999999957 Td
/F1.0 10.5 Tf
-<3732> Tj
+<3731> Tj
ET
0.000 0.000 0.000 SCN
@@ -3294,7 +3294,7 @@ ET
BT
535.3009999999999 351.15599999999955 Td
/F1.0 10.5 Tf
-<3734> Tj
+<3733> Tj
ET
0.000 0.000 0.000 SCN
@@ -3334,7 +3334,7 @@ ET
BT
535.3009999999999 332.67599999999953 Td
/F1.0 10.5 Tf
-<3736> Tj
+<3735> Tj
ET
0.000 0.000 0.000 SCN
@@ -3385,7 +3385,7 @@ ET
BT
535.3009999999999 314.1959999999995 Td
/F1.0 10.5 Tf
-<3737> Tj
+<3736> Tj
ET
0.000 0.000 0.000 SCN
@@ -3436,7 +3436,7 @@ ET
BT
535.3009999999999 295.7159999999995 Td
/F1.0 10.5 Tf
-<3739> Tj
+<3738> Tj
ET
0.000 0.000 0.000 SCN
@@ -3476,7 +3476,7 @@ ET
BT
535.3009999999999 277.2359999999995 Td
/F1.0 10.5 Tf
-<3830> Tj
+<3739> Tj
ET
0.000 0.000 0.000 SCN
@@ -3516,7 +3516,7 @@ ET
BT
535.3009999999999 258.75599999999946 Td
/F1.0 10.5 Tf
-<3831> Tj
+<3830> Tj
ET
0.000 0.000 0.000 SCN
@@ -3556,7 +3556,7 @@ ET
BT
535.3009999999999 240.27599999999947 Td
/F1.0 10.5 Tf
-<3833> Tj
+<3832> Tj
ET
0.000 0.000 0.000 SCN
@@ -3607,7 +3607,7 @@ ET
BT
535.3009999999999 221.79599999999948 Td
/F1.0 10.5 Tf
-<3836> Tj
+<3835> Tj
ET
0.000 0.000 0.000 SCN
@@ -3658,7 +3658,7 @@ ET
BT
535.3009999999999 203.3159999999995 Td
/F1.0 10.5 Tf
-<3837> Tj
+<3836> Tj
ET
0.000 0.000 0.000 SCN
@@ -3709,7 +3709,7 @@ ET
BT
535.3009999999999 184.8359999999995 Td
/F1.0 10.5 Tf
-<3839> Tj
+<3838> Tj
ET
0.000 0.000 0.000 SCN
@@ -3760,7 +3760,7 @@ ET
BT
535.3009999999999 166.3559999999995 Td
/F1.0 10.5 Tf
-<3839> Tj
+<3838> Tj
ET
0.000 0.000 0.000 SCN
@@ -3800,7 +3800,7 @@ ET
BT
535.3009999999999 147.87599999999952 Td
/F1.0 10.5 Tf
-<3930> Tj
+<3839> Tj
ET
0.000 0.000 0.000 SCN
@@ -3851,7 +3851,7 @@ ET
BT
535.3009999999999 129.39599999999953 Td
/F1.0 10.5 Tf
-<3932> Tj
+<3931> Tj
ET
0.000 0.000 0.000 SCN
@@ -3891,7 +3891,7 @@ ET
BT
535.3009999999999 110.91599999999954 Td
/F1.0 10.5 Tf
-<3932> Tj
+<3931> Tj
ET
0.000 0.000 0.000 SCN
@@ -3942,7 +3942,7 @@ ET
BT
535.3009999999999 92.43599999999955 Td
/F1.0 10.5 Tf
-<3934> Tj
+<3933> Tj
ET
0.000 0.000 0.000 SCN
@@ -3993,7 +3993,7 @@ ET
BT
535.3009999999999 73.95599999999956 Td
/F1.0 10.5 Tf
-<3935> Tj
+<3934> Tj
ET
0.000 0.000 0.000 SCN
@@ -4044,7 +4044,7 @@ ET
BT
535.3009999999999 55.47599999999957 Td
/F1.0 10.5 Tf
-<3935> Tj
+<3934> Tj
ET
0.000 0.000 0.000 SCN
@@ -4063,7 +4063,7 @@ endobj
/F3.0 40 0 R
>>
>>
-/Annots [1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 0 R 1792 0 R 1793 0 R 1794 0 R 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R 1800 0 R 1801 0 R 1802 0 R 1803 0 R 1804 0 R 1805 0 R 1806 0 R 1807 0 R 1808 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0
R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R]
+/Annots [1769 0 R 1770 0 R 1771 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 0 R 1792 0 R 1793 0 R 1794 0 R 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R 1800 0 R 1801 0 R 1802 0 R 1803 0 R 1804 0 R 1805 0 R 1806 0 R 1807 0 R 1808 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0
R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R]
>>
endobj
13 0 obj
@@ -4108,7 +4108,7 @@ ET
BT
535.3009999999999 794.6759999999999 Td
/F1.0 10.5 Tf
-<3936> Tj
+<3935> Tj
ET
0.000 0.000 0.000 SCN
@@ -4159,7 +4159,7 @@ ET
BT
535.3009999999999 776.1959999999999 Td
/F1.0 10.5 Tf
-<3939> Tj
+<3938> Tj
ET
0.000 0.000 0.000 SCN
@@ -4210,7 +4210,7 @@ ET
BT
535.3009999999999 757.7159999999999 Td
/F1.0 10.5 Tf
-<3939> Tj
+<3938> Tj
ET
0.000 0.000 0.000 SCN
@@ -4261,7 +4261,7 @@ ET
BT
529.4314999999999 739.2359999999999 Td
/F1.0 10.5 Tf
-<313031> Tj
+<313030> Tj
ET
0.000 0.000 0.000 SCN
@@ -4312,7 +4312,7 @@ ET
BT
529.4314999999999 720.7559999999999 Td
/F1.0 10.5 Tf
-<313032> Tj
+<313031> Tj
ET
0.000 0.000 0.000 SCN
@@ -4363,7 +4363,7 @@ ET
BT
529.4314999999999 702.2759999999998 Td
/F1.0 10.5 Tf
-<313033> Tj
+<313032> Tj
ET
0.000 0.000 0.000 SCN
@@ -4414,7 +4414,7 @@ ET
BT
529.4314999999999 683.7959999999998 Td
/F1.0 10.5 Tf
-<313033> Tj
+<313032> Tj
ET
0.000 0.000 0.000 SCN
@@ -4465,7 +4465,7 @@ ET
BT
529.4314999999999 665.3159999999998 Td
/F1.0 10.5 Tf
-<313036> Tj
+<313035> Tj
ET
0.000 0.000 0.000 SCN
@@ -4516,7 +4516,7 @@ ET
BT
529.4314999999999 646.8359999999998 Td
/F1.0 10.5 Tf
-<313037> Tj
+<313036> Tj
ET
0.000 0.000 0.000 SCN
@@ -4567,7 +4567,7 @@ ET
BT
529.4314999999999 628.3559999999998 Td
/F1.0 10.5 Tf
-<313039> Tj
+<313038> Tj
ET
0.000 0.000 0.000 SCN
@@ -4618,7 +4618,7 @@ ET
BT
529.4314999999999 609.8759999999997 Td
/F1.0 10.5 Tf
-<313130> Tj
+<313039> Tj
ET
0.000 0.000 0.000 SCN
@@ -4702,7 +4702,7 @@ ET
BT
529.4314999999999 591.3959999999997 Td
/F1.0 10.5 Tf
-<313132> Tj
+<313131> Tj
ET
0.000 0.000 0.000 SCN
@@ -4742,7 +4742,7 @@ ET
BT
529.4314999999999 572.9159999999997 Td
/F1.0 10.5 Tf
-<313132> Tj
+<313131> Tj
ET
0.000 0.000 0.000 SCN
@@ -4782,7 +4782,7 @@ ET
BT
529.4314999999999 554.4359999999997 Td
/F1.0 10.5 Tf
-<313133> Tj
+<313132> Tj
ET
0.000 0.000 0.000 SCN
@@ -4822,7 +4822,7 @@ ET
BT
529.4314999999999 535.9559999999997 Td
/F1.0 10.5 Tf
-<313133> Tj
+<313132> Tj
ET
0.000 0.000 0.000 SCN
@@ -4873,7 +4873,7 @@ ET
BT
529.4314999999999 517.4759999999997 Td
/F1.0 10.5 Tf
-<313135> Tj
+<313134> Tj
ET
0.000 0.000 0.000 SCN
@@ -4924,7 +4924,7 @@ ET
BT
529.4314999999999 498.9959999999997 Td
/F1.0 10.5 Tf
-<313136> Tj
+<313135> Tj
ET
0.000 0.000 0.000 SCN
@@ -4975,7 +4975,7 @@ ET
BT
529.4314999999999 480.5159999999997 Td
/F1.0 10.5 Tf
-<313137> Tj
+<313136> Tj
ET
0.000 0.000 0.000 SCN
@@ -5026,7 +5026,7 @@ ET
BT
529.4314999999999 462.03599999999966 Td
/F1.0 10.5 Tf
-<313137> Tj
+<313136> Tj
ET
0.000 0.000 0.000 SCN
@@ -5110,7 +5110,7 @@ ET
BT
529.4314999999999 443.55599999999964 Td
/F1.0 10.5 Tf
-<313139> Tj
+<313138> Tj
ET
0.000 0.000 0.000 SCN
@@ -5194,7 +5194,7 @@ ET
BT
529.4314999999999 425.0759999999996 Td
/F1.0 10.5 Tf
-<313230> Tj
+<313139> Tj
ET
0.000 0.000 0.000 SCN
@@ -5245,7 +5245,7 @@ ET
BT
529.4314999999999 406.5959999999996 Td
/F1.0 10.5 Tf
-<313231> Tj
+<313230> Tj
ET
0.000 0.000 0.000 SCN
@@ -5296,7 +5296,7 @@ ET
BT
529.4314999999999 388.1159999999996 Td
/F1.0 10.5 Tf
-<313232> Tj
+<313231> Tj
ET
0.000 0.000 0.000 SCN
@@ -5347,7 +5347,7 @@ ET
BT
529.4314999999999 369.63599999999957 Td
/F1.0 10.5 Tf
-<313233> Tj
+<313232> Tj
ET
0.000 0.000 0.000 SCN
@@ -5398,7 +5398,7 @@ ET
BT
529.4314999999999 351.15599999999955 Td
/F1.0 10.5 Tf
-<313234> Tj
+<313233> Tj
ET
0.000 0.000 0.000 SCN
@@ -5449,7 +5449,7 @@ ET
BT
529.4314999999999 332.67599999999953 Td
/F1.0 10.5 Tf
-<313234> Tj
+<313233> Tj
ET
0.000 0.000 0.000 SCN
@@ -5500,7 +5500,7 @@ ET
BT
529.4314999999999 314.1959999999995 Td
/F1.0 10.5 Tf
-<313235> Tj
+<313234> Tj
ET
0.000 0.000 0.000 SCN
@@ -5551,7 +5551,7 @@ ET
BT
529.4314999999999 295.7159999999995 Td
/F1.0 10.5 Tf
-<313236> Tj
+<313235> Tj
ET
0.000 0.000 0.000 SCN
@@ -5602,7 +5602,7 @@ ET
BT
529.4314999999999 277.2359999999995 Td
/F1.0 10.5 Tf
-<313238> Tj
+<313237> Tj
ET
0.000 0.000 0.000 SCN
@@ -5653,7 +5653,7 @@ ET
BT
529.4314999999999 258.75599999999946 Td
/F1.0 10.5 Tf
-<313239> Tj
+<313238> Tj
ET
0.000 0.000 0.000 SCN
@@ -5704,7 +5704,7 @@ ET
BT
529.4314999999999 240.27599999999947 Td
/F1.0 10.5 Tf
-<313239> Tj
+<313238> Tj
ET
0.000 0.000 0.000 SCN
@@ -5755,7 +5755,7 @@ ET
BT
529.4314999999999 221.79599999999948 Td
/F1.0 10.5 Tf
-<313330> Tj
+<313239> Tj
ET
0.000 0.000 0.000 SCN
@@ -5806,7 +5806,7 @@ ET
BT
529.4314999999999 203.3159999999995 Td
/F1.0 10.5 Tf
-<313331> Tj
+<313330> Tj
ET
0.000 0.000 0.000 SCN
@@ -5857,7 +5857,7 @@ ET
BT
529.4314999999999 184.8359999999995 Td
/F1.0 10.5 Tf
-<313331> Tj
+<313330> Tj
ET
0.000 0.000 0.000 SCN
@@ -5908,7 +5908,7 @@ ET
BT
529.4314999999999 166.3559999999995 Td
/F1.0 10.5 Tf
-<313332> Tj
+<313331> Tj
ET
0.000 0.000 0.000 SCN
@@ -5959,7 +5959,7 @@ ET
BT
529.4314999999999 147.87599999999952 Td
/F1.0 10.5 Tf
-<313333> Tj
+<313332> Tj
ET
0.000 0.000 0.000 SCN
@@ -6043,7 +6043,7 @@ ET
BT
529.4314999999999 129.39599999999953 Td
/F1.0 10.5 Tf
-<313334> Tj
+<313333> Tj
ET
0.000 0.000 0.000 SCN
@@ -6083,7 +6083,7 @@ ET
BT
529.4314999999999 110.91599999999954 Td
/F1.0 10.5 Tf
-<313334> Tj
+<313333> Tj
ET
0.000 0.000 0.000 SCN
@@ -6123,7 +6123,7 @@ ET
BT
529.4314999999999 92.43599999999955 Td
/F1.0 10.5 Tf
-<313335> Tj
+<313334> Tj
ET
0.000 0.000 0.000 SCN
@@ -6207,7 +6207,7 @@ ET
BT
529.4314999999999 73.95599999999956 Td
/F1.0 10.5 Tf
-<313336> Tj
+<313335> Tj
ET
0.000 0.000 0.000 SCN
@@ -6291,7 +6291,7 @@ ET
BT
529.4314999999999 55.47599999999957 Td
/F1.0 10.5 Tf
-<313338> Tj
+<313337> Tj
ET
0.000 0.000 0.000 SCN
@@ -6310,7 +6310,7 @@ endobj
/F3.0 40 0 R
>>
>>
-/Annots [1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1927 0 R 1928 0 R 1929 0 R 1930 0 R 1931 0 R 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R 1955 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R 1960 0 R 1961 0 R 1962 0 R 1963 0 R 1964 0 R 1965 0 R 1966 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0
R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2019 0 R 2020 0 R 2021 0 R 2022 0 R 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R]
+/Annots [1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1927 0 R 1928 0 R 1929 0 R 1930 0 R 1931 0 R 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R 1955 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R 1960 0 R 1961 0 R 1962 0 R 1963 0 R 1964 0 R 1965 0 R 1966 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0
R 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2019 0 R 2020 0 R 2021 0 R 2022 0 R 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2027 0 R]
>>
endobj
15 0 obj
@@ -6399,7 +6399,7 @@ ET
BT
529.4314999999999 794.6759999999999 Td
/F1.0 10.5 Tf
-<313339> Tj
+<313338> Tj
ET
0.000 0.000 0.000 SCN
@@ -6450,7 +6450,7 @@ ET
BT
529.4314999999999 776.1959999999999 Td
/F1.0 10.5 Tf
-<313430> Tj
+<313339> Tj
ET
0.000 0.000 0.000 SCN
@@ -6501,7 +6501,7 @@ ET
BT
529.4314999999999 757.7159999999999 Td
/F1.0 10.5 Tf
-<313431> Tj
+<313430> Tj
ET
0.000 0.000 0.000 SCN
@@ -6552,7 +6552,7 @@ ET
BT
529.4314999999999 739.2359999999999 Td
/F1.0 10.5 Tf
-<313432> Tj
+<313431> Tj
ET
0.000 0.000 0.000 SCN
@@ -6603,7 +6603,7 @@ ET
BT
529.4314999999999 720.7559999999999 Td
/F1.0 10.5 Tf
-<313436> Tj
+<313435> Tj
ET
0.000 0.000 0.000 SCN
@@ -6654,7 +6654,7 @@ ET
BT
529.4314999999999 702.2759999999998 Td
/F1.0 10.5 Tf
-<313436> Tj
+<313435> Tj
ET
0.000 0.000 0.000 SCN
@@ -6705,7 +6705,7 @@ ET
BT
529.4314999999999 683.7959999999998 Td
/F1.0 10.5 Tf
-<313437> Tj
+<313436> Tj
ET
0.000 0.000 0.000 SCN
@@ -6756,7 +6756,7 @@ ET
BT
529.4314999999999 665.3159999999998 Td
/F1.0 10.5 Tf
-<313438> Tj
+<313437> Tj
ET
0.000 0.000 0.000 SCN
@@ -6807,7 +6807,7 @@ ET
BT
529.4314999999999 646.8359999999998 Td
/F1.0 10.5 Tf
-<313439> Tj
+<313438> Tj
ET
0.000 0.000 0.000 SCN
@@ -6858,7 +6858,7 @@ ET
BT
529.4314999999999 628.3559999999998 Td
/F1.0 10.5 Tf
-<313530> Tj
+<313439> Tj
ET
0.000 0.000 0.000 SCN
@@ -6909,7 +6909,7 @@ ET
BT
529.4314999999999 609.8759999999997 Td
/F1.0 10.5 Tf
-<313531> Tj
+<313530> Tj
ET
0.000 0.000 0.000 SCN
@@ -6960,7 +6960,7 @@ ET
BT
529.4314999999999 591.3959999999997 Td
/F1.0 10.5 Tf
-<313534> Tj
+<313533> Tj
ET
0.000 0.000 0.000 SCN
@@ -7011,7 +7011,7 @@ ET
BT
529.4314999999999 572.9159999999997 Td
/F1.0 10.5 Tf
-<313535> Tj
+<313534> Tj
ET
0.000 0.000 0.000 SCN
@@ -7062,7 +7062,7 @@ ET
BT
529.4314999999999 554.4359999999997 Td
/F1.0 10.5 Tf
-<313536> Tj
+<313535> Tj
ET
0.000 0.000 0.000 SCN
@@ -7113,7 +7113,7 @@ ET
BT
529.4314999999999 535.9559999999997 Td
/F1.0 10.5 Tf
-<313537> Tj
+<313536> Tj
ET
0.000 0.000 0.000 SCN
@@ -7164,7 +7164,7 @@ ET
BT
529.4314999999999 517.4759999999997 Td
/F1.0 10.5 Tf
-<313537> Tj
+<313536> Tj
ET
0.000 0.000 0.000 SCN
@@ -7215,7 +7215,7 @@ ET
BT
529.4314999999999 498.9959999999997 Td
/F1.0 10.5 Tf
-<313539> Tj
+<313538> Tj
ET
0.000 0.000 0.000 SCN
@@ -7255,7 +7255,7 @@ ET
BT
529.4314999999999 480.5159999999997 Td
/F1.0 10.5 Tf
-<313630> Tj
+<313539> Tj
ET
0.000 0.000 0.000 SCN
@@ -7306,7 +7306,7 @@ ET
BT
529.4314999999999 462.03599999999966 Td
/F1.0 10.5 Tf
-<313631> Tj
+<313539> Tj
ET
0.000 0.000 0.000 SCN
@@ -7357,7 +7357,7 @@ ET
BT
529.4314999999999 443.55599999999964 Td
/F1.0 10.5 Tf
-<313631> Tj
+<313630> Tj
ET
0.000 0.000 0.000 SCN
@@ -7441,7 +7441,7 @@ ET
BT
529.4314999999999 425.0759999999996 Td
/F1.0 10.5 Tf
-<313633> Tj
+<313632> Tj
ET
0.000 0.000 0.000 SCN
@@ -7492,7 +7492,7 @@ ET
BT
529.4314999999999 406.5959999999996 Td
/F1.0 10.5 Tf
-<313634> Tj
+<313633> Tj
ET
0.000 0.000 0.000 SCN
@@ -7532,7 +7532,7 @@ ET
BT
529.4314999999999 388.1159999999996 Td
/F1.0 10.5 Tf
-<313634> Tj
+<313633> Tj
ET
0.000 0.000 0.000 SCN
@@ -7583,7 +7583,7 @@ ET
BT
529.4314999999999 369.63599999999957 Td
/F1.0 10.5 Tf
-<313636> Tj
+<313635> Tj
ET
0.000 0.000 0.000 SCN
@@ -7634,7 +7634,7 @@ ET
BT
529.4314999999999 351.15599999999955 Td
/F1.0 10.5 Tf
-<313637> Tj
+<313636> Tj
ET
0.000 0.000 0.000 SCN
@@ -7685,7 +7685,7 @@ ET
BT
529.4314999999999 332.67599999999953 Td
/F1.0 10.5 Tf
-<313638> Tj
+<313637> Tj
ET
0.000 0.000 0.000 SCN
@@ -7736,7 +7736,7 @@ ET
BT
529.4314999999999 314.1959999999995 Td
/F1.0 10.5 Tf
-<313638> Tj
+<313637> Tj
ET
0.000 0.000 0.000 SCN
@@ -7787,7 +7787,7 @@ ET
BT
529.4314999999999 295.7159999999995 Td
/F1.0 10.5 Tf
-<313639> Tj
+<313638> Tj
ET
0.000 0.000 0.000 SCN
@@ -7838,7 +7838,7 @@ ET
BT
529.4314999999999 277.2359999999995 Td
/F1.0 10.5 Tf
-<313639> Tj
+<313638> Tj
ET
0.000 0.000 0.000 SCN
@@ -7889,7 +7889,7 @@ ET
BT
529.4314999999999 258.75599999999946 Td
/F1.0 10.5 Tf
-<313730> Tj
+<313639> Tj
ET
0.000 0.000 0.000 SCN
@@ -7940,7 +7940,7 @@ ET
BT
529.4314999999999 240.27599999999947 Td
/F1.0 10.5 Tf
-<313730> Tj
+<313639> Tj
ET
0.000 0.000 0.000 SCN
@@ -8024,7 +8024,7 @@ ET
BT
529.4314999999999 221.79599999999948 Td
/F1.0 10.5 Tf
-<313731> Tj
+<313730> Tj
ET
0.000 0.000 0.000 SCN
@@ -8108,7 +8108,7 @@ ET
BT
529.4314999999999 203.3159999999995 Td
/F1.0 10.5 Tf
-<313732> Tj
+<313731> Tj
ET
0.000 0.000 0.000 SCN
@@ -8148,7 +8148,7 @@ ET
BT
529.4314999999999 184.8359999999995 Td
/F1.0 10.5 Tf
-<313732> Tj
+<313731> Tj
ET
0.000 0.000 0.000 SCN
@@ -8188,7 +8188,7 @@ ET
BT
529.4314999999999 166.3559999999995 Td
/F1.0 10.5 Tf
-<313733> Tj
+<313732> Tj
ET
0.000 0.000 0.000 SCN
@@ -8207,7 +8207,7 @@ endobj
/F3.0 40 0 R
>>
>>
-/Annots [2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2067 0 R 2068 0 R 2069 0 R 2070 0 R 2071 0 R 2072 0 R 2073 0 R 2074 0 R 2075 0 R 2076 0 R 2077 0 R 2078 0 R 2079 0 R 2080 0 R 2081 0 R 2082 0 R 2083 0 R 2084 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R 2111 0 R 2112 0 R 2113 0 R 2114 0 R 2115 0 R 2116 0 R 2117 0 R 2118 0 R 2119 0 R 2120 0 R 2121 0 R 2122 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2136 0 R 2137 0 R 2138 0 R 2139 0 R 2140 0
R 2141 0 R 2142 0 R 2143 0 R]
+/Annots [2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2067 0 R 2068 0 R 2069 0 R 2070 0 R 2071 0 R 2072 0 R 2073 0 R 2074 0 R 2075 0 R 2076 0 R 2077 0 R 2078 0 R 2079 0 R 2080 0 R 2081 0 R 2082 0 R 2083 0 R 2084 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R 2111 0 R 2112 0 R 2113 0 R 2114 0 R 2115 0 R 2116 0 R 2117 0 R 2118 0 R 2119 0 R 2120 0 R 2121 0 R 2122 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2136 0 R 2137 0
R 2138 0 R 2139 0 R 2140 0 R]
>>
endobj
17 0 obj
@@ -8930,7 +8930,7 @@ endobj
/F1.0 8 0 R
/F3.0 40 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R 38 0 R]
@@ -8945,18 +8945,18 @@ endobj
>>
endobj
21 0 obj
-<< /Kids [368 0 R 479 0 R 604 0 R 715 0 R 1033 0 R 834 0 R 1088 0 R 1188 0 R 1250 0 R 1348 0 R 1447 0 R 1553 0 R 1640 0 R 369 0 R 1006 0 R 682 0 R 893 0 R 1400 0 R]
+<< /Kids [368 0 R 478 0 R 603 0 R 712 0 R 1030 0 R 831 0 R 1085 0 R 1185 0 R 1247 0 R 1345 0 R 1444 0 R 1550 0 R 1637 0 R 369 0 R 1003 0 R 679 0 R 890 0 R 1397 0 R]
>>
endobj
22 0 obj
<< /Type /Font
/BaseFont /AAAAAQ+NotoSerif-Bold
/Subtype /TrueType
-/FontDescriptor 2309 0 R
+/FontDescriptor 2306 0 R
/FirstChar 32
/LastChar 255
-/Widths 2311 0 R
-/ToUnicode 2310 0 R
+/Widths 2308 0 R
+/ToUnicode 2307 0 R
>>
endobj
23 0 obj
@@ -9134,11 +9134,11 @@ endobj
<< /Type /Font
/BaseFont /AAAAAR+mplus1mn-regular
/Subtype /TrueType
-/FontDescriptor 2313 0 R
+/FontDescriptor 2310 0 R
/FirstChar 32
/LastChar 255
-/Widths 2315 0 R
-/ToUnicode 2314 0 R
+/Widths 2312 0 R
+/ToUnicode 2311 0 R
>>
endobj
41 0 obj
@@ -9501,7 +9501,7 @@ endobj
/F1.0 8 0 R
/F4.0 43 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
>>
@@ -9510,15 +9510,15 @@ endobj
<< /Type /Font
/BaseFont /AAAAAS+mplus-1p-regular
/Subtype /TrueType
-/FontDescriptor 2317 0 R
+/FontDescriptor 2314 0 R
/FirstChar 32
/LastChar 255
-/Widths 2319 0 R
-/ToUnicode 2318 0 R
+/Widths 2316 0 R
+/ToUnicode 2315 0 R
>>
endobj
44 0 obj
-<< /Length 34614
+<< /Length 34620
>>
stream
q
@@ -10103,7 +10103,7 @@ S
BT
487.68999999999994 463.7630000000002 Td
/F2.0 10.5 Tf
-<44796e616d6963> Tj
+<46696c652d6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -11893,7 +11893,7 @@ endobj
/F5.1 48 0 R
/F6.0 50 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [49 0 R 51 0 R 52 0 R 53 0 R 54 0 R 55 0 R 56 0 R 57 0 R 58 0 R 59 0 R 60 0 R 61 0 R 62 0 R 63 0 R 64 0 R]
@@ -11909,18 +11909,18 @@ endobj
<< /Type /Font
/BaseFont /AAAAAT+FontAwesome
/Subtype /TrueType
-/FontDescriptor 2321 0 R
+/FontDescriptor 2318 0 R
/FirstChar 32
/LastChar 255
-/Widths 2323 0 R
-/ToUnicode 2322 0 R
+/Widths 2320 0 R
+/ToUnicode 2319 0 R
>>
endobj
49 0 obj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [354.7381666666667 543.8200000000002 465.0299615885417 558.1000000000001]
@@ -11931,21 +11931,21 @@ endobj
<< /Type /Font
/BaseFont /AAAAAU+NotoSerif-Italic
/Subtype /TrueType
-/FontDescriptor 2325 0 R
+/FontDescriptor 2322 0 R
/FirstChar 32
/LastChar 255
-/Widths 2327 0 R
-/ToUnicode 2326 0 R
+/Widths 2324 0 R
+/ToUnicode 2323 0 R
>>
endobj
51 0 obj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [487.68999999999994 460.69700000000023 534.6669999999999 474.9770000000002]
+/Rect [487.68999999999994 460.69700000000023 541.8385 474.9770000000002]
/Type /Annot
>>
endobj
@@ -11953,7 +11953,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [487.68999999999994 446.4170000000002 521.2057949218749 460.69700000000023]
@@ -11962,7 +11962,10 @@ endobj
endobj
53 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action)
+>>
/Subtype /Link
/Rect [51.24000000000001 426.9170000000002 87.99000000000001 437.4170000000002]
/Type /Annot
@@ -11970,7 +11973,10 @@ endobj
endobj
54 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout)
+>>
/Subtype /Link
/Rect [51.24000000000001 403.63700000000017 119.49000000000001 414.13700000000017]
/Type /Annot
@@ -11978,7 +11984,10 @@ endobj
endobj
55 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Collection)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Collection)
+>>
/Subtype /Link
/Rect [51.24000000000001 380.3570000000002 108.99000000000001 390.8570000000002]
/Type /Annot
@@ -11986,7 +11995,10 @@ endobj
endobj
56 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-CollectionLayout)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-CollectionLayout)
+>>
/Subtype /Link
/Rect [51.24000000000001 357.0770000000002 140.49 367.5770000000002]
/Type /Annot
@@ -11994,7 +12006,10 @@ endobj
endobj
57 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject)
+>>
/Subtype /Link
/Rect [51.24000000000001 333.7970000000002 119.49000000000001 344.2970000000002]
/Type /Annot
@@ -12002,7 +12017,10 @@ endobj
endobj
58 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout)
+>>
/Subtype /Link
/Rect [51.24000000000001 296.2370000000002 150.99 306.7370000000002]
/Type /Annot
@@ -12010,7 +12028,10 @@ endobj
endobj
59 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainService)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainService)
+>>
/Subtype /Link
/Rect [51.24000000000001 247.8830000000002 124.74000000000001 258.3830000000002]
/Type /Annot
@@ -12018,7 +12039,10 @@ endobj
endobj
60 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainServiceLayout)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout)
+>>
/Subtype /Link
/Rect [51.24000000000001 210.32300000000023 156.24 220.82300000000023]
/Type /Annot
@@ -12026,7 +12050,10 @@ endobj
endobj
61 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Parameter)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Parameter)
+>>
/Subtype /Link
/Rect [51.24000000000001 187.04300000000026 103.74000000000001 197.54300000000026]
/Type /Annot
@@ -12034,7 +12061,10 @@ endobj
endobj
62 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ParameterLayout)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ParameterLayout)
+>>
/Subtype /Link
/Rect [51.24000000000001 163.7630000000003 135.24 174.2630000000003]
/Type /Annot
@@ -12042,7 +12072,10 @@ endobj
endobj
63 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property)
+>>
/Subtype /Link
/Rect [51.24000000000001 126.20300000000029 98.49000000000001 136.7030000000003]
/Type /Annot
@@ -12050,14 +12083,17 @@ endobj
endobj
64 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PropertyLayout)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PropertyLayout)
+>>
/Subtype /Link
/Rect [51.24000000000001 102.92300000000024 129.99 113.42300000000024]
/Type /Annot
>>
endobj
65 0 obj
-<< /Length 27043
+<< /Length 27055
>>
stream
q
@@ -12249,7 +12285,7 @@ S
BT
487.68999999999994 790.143 Td
/F2.0 10.5 Tf
-<44796e616d6963> Tj
+<46696c652d6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -12959,7 +12995,7 @@ S
BT
487.68999999999994 519.2030000000002 Td
/F2.0 10.5 Tf
-<44796e616d6963> Tj
+<46696c652d6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -13931,7 +13967,7 @@ endobj
/F6.0 50 0 R
/F5.1 48 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [67 0 R 68 0 R 69 0 R 70 0 R 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R 78 0 R]
@@ -13941,10 +13977,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [487.68999999999994 787.077 534.6669999999999 801.357]
+/Rect [487.68999999999994 787.077 541.8385 801.357]
/Type /Annot
>>
endobj
@@ -13952,7 +13988,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [487.68999999999994 772.797 521.2057949218749 787.077]
@@ -13961,7 +13997,10 @@ endobj
endobj
69 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ViewModel)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ViewModel)
+>>
/Subtype /Link
/Rect [51.24 753.297 103.74000000000001 763.797]
/Type /Annot
@@ -13969,7 +14008,10 @@ endobj
endobj
70 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ViewModelLayout)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ViewModelLayout)
+>>
/Subtype /Link
/Rect [51.24 701.457 135.24 711.957]
/Type /Annot
@@ -13982,10 +14024,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [487.68999999999994 516.1370000000002 534.6669999999999 530.4170000000001]
+/Rect [487.68999999999994 516.1370000000002 541.8385 530.4170000000001]
/Type /Annot
>>
endobj
@@ -13993,7 +14035,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [487.68999999999994 501.85700000000014 521.2057949218749 516.1370000000002]
@@ -14002,7 +14044,10 @@ endobj
endobj
74 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Facets)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Facets)
+>>
/Subtype /Link
/Rect [51.24 482.35700000000014 87.99000000000001 492.85700000000014]
/Type /Annot
@@ -14010,7 +14055,10 @@ endobj
endobj
75 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-HomePage)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-HomePage)
+>>
/Subtype /Link
/Rect [51.24 444.79700000000014 98.49000000000001 455.29700000000014]
/Type /Annot
@@ -14018,7 +14066,10 @@ endobj
endobj
76 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-MemberOrder)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
+>>
/Subtype /Link
/Rect [51.24 392.9570000000001 114.24000000000001 403.4570000000001]
/Type /Annot
@@ -14026,7 +14077,10 @@ endobj
endobj
77 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-MinLength)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MinLength)
+>>
/Subtype /Link
/Rect [51.24 341.11700000000013 103.74000000000001 351.61700000000013]
/Type /Annot
@@ -14034,7 +14088,10 @@ endobj
endobj
78 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Programmatic)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Programmatic)
+>>
/Subtype /Link
/Rect [51.24 303.55700000000013 119.49000000000001 314.05700000000013]
/Type /Annot
@@ -14044,7 +14101,7 @@ endobj
[66 0 R /XYZ 0 269.03000000000014 null]
endobj
80 0 obj
-<< /Length 31216
+<< /Length 31268
>>
stream
q
@@ -15160,7 +15217,7 @@ ET
BT
175.94 471.163 Td
/F1.0 10.5 Tf
-<28616e64206966203c6120616e63686f723d223c656d3e7267616e742d> Tj
+<28616e64206966203c6120687265663d222e2e2f7267616e742f7267616e742e706466233c656d3e7267616e742d> Tj
ET
@@ -15195,14 +15252,14 @@ ET
BT
175.94 399.763 Td
/F1.0 10.5 Tf
-[<687265663d22756776726f2e706466> -80.078125 <223e5265737466756c4f626a65637473207669657765723c2f613e20616e64>] TJ
+[<687265663d222e2e2f756776726f2f756776726f2e706466> -80.078125 <223e5265737466756c4f626a65637473>] TJ
ET
BT
175.94 385.48299999999995 Td
/F1.0 10.5 Tf
-<656c736577686572652e> Tj
+<7669657765723c2f613e20616e6420656c736577686572652e> Tj
ET
0.000 0.000 0.000 scn
@@ -16253,7 +16310,7 @@ endobj
/F2.0 22 0 R
/F3.0 40 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [82 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R]
@@ -16261,7 +16318,10 @@ endobj
endobj
82 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Column)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Column)
+>>
/Subtype /Link
/Rect [51.24000000000001 716.017 166.74 726.517]
/Type /Annot
@@ -16269,7 +16329,10 @@ endobj
endobj
83 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Column)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Column)
+>>
/Subtype /Link
/Rect [51.24000000000001 701.7370000000001 56.49000000000001 712.2370000000001]
/Type /Annot
@@ -16277,7 +16340,10 @@ endobj
endobj
84 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Column)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Column)
+>>
/Subtype /Link
/Rect [51.24000000000001 685.8610000000001 51.24000000000001 700.1410000000001]
/Type /Annot
@@ -16285,7 +16351,10 @@ endobj
endobj
85 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Column)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Column)
+>>
/Subtype /Link
/Rect [51.24000000000001 687.4570000000001 82.74000000000001 697.9570000000001]
/Type /Annot
@@ -16293,7 +16362,10 @@ endobj
endobj
86 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Discriminator)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Discriminator)
+>>
/Subtype /Link
/Rect [51.24000000000001 649.897 166.74 660.397]
/Type /Annot
@@ -16301,7 +16373,10 @@ endobj
endobj
87 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Discriminator)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Discriminator)
+>>
/Subtype /Link
/Rect [51.24000000000001 635.6170000000001 56.49000000000001 646.1170000000001]
/Type /Annot
@@ -16309,7 +16384,10 @@ endobj
endobj
88 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Discriminator)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Discriminator)
+>>
/Subtype /Link
/Rect [51.24000000000001 619.741 51.24000000000001 634.0210000000001]
/Type /Annot
@@ -16317,7 +16395,10 @@ endobj
endobj
89 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Discriminator)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Discriminator)
+>>
/Subtype /Link
/Rect [51.24000000000001 621.337 119.49000000000001 631.837]
/Type /Annot
@@ -16327,7 +16408,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [286.19 636.268 396.44 646.768]
@@ -16336,7 +16417,10 @@ endobj
endobj
91 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-NotPersistent)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-NotPersistent)
+>>
/Subtype /Link
/Rect [51.24000000000001 566.557 166.74 577.057]
/Type /Annot
@@ -16344,7 +16428,10 @@ endobj
endobj
92 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-NotPersistent)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-NotPersistent)
+>>
/Subtype /Link
/Rect [51.24000000000001 552.277 56.49000000000001 562.777]
/Type /Annot
@@ -16352,7 +16439,10 @@ endobj
endobj
93 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-NotPersistent)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-NotPersistent)
+>>
/Subtype /Link
/Rect [51.24000000000001 536.4010000000001 51.24000000000001 550.681]
/Type /Annot
@@ -16360,7 +16450,10 @@ endobj
endobj
94 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-NotPersistent)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-NotPersistent)
+>>
/Subtype /Link
/Rect [51.24000000000001 537.997 119.49000000000001 548.497]
/Type /Annot
@@ -16370,7 +16463,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugbtb.pdf#_ugbtb_programming-model_custom-validator)
+/URI (../ugbtb/ugbtb.pdf#_ugbtb_programming-model_custom-validator)
>>
/Subtype /Link
/Rect [204.983 548.4970000000001 314.9075 562.777]
@@ -16379,7 +16472,10 @@ endobj
endobj
96 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PersistenceCapable)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PersistenceCapable)
+>>
/Subtype /Link
/Rect [51.24000000000001 514.717 166.74 525.217]
/Type /Annot
@@ -16387,7 +16483,10 @@ endobj
endobj
97 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PersistenceCapable)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PersistenceCapable)
+>>
/Subtype /Link
/Rect [51.24000000000001 500.437 56.49000000000001 510.937]
/Type /Annot
@@ -16395,7 +16494,10 @@ endobj
endobj
98 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PersistenceCapable)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PersistenceCapable)
+>>
/Subtype /Link
/Rect [51.24000000000001 484.561 51.24000000000001 498.841]
/Type /Annot
@@ -16403,7 +16505,10 @@ endobj
endobj
99 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PersistenceCapable)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PersistenceCapable)
+>>
/Subtype /Link
/Rect [51.24000000000001 486.157 145.74 496.657]
/Type /Annot
@@ -16411,7 +16516,10 @@ endobj
endobj
100 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PrimaryKey)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PrimaryKey)
+>>
/Subtype /Link
/Rect [51.24000000000001 362.91700000000003 166.74 373.41700000000003]
/Type /Annot
@@ -16419,7 +16527,10 @@ endobj
endobj
101 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PrimaryKey)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PrimaryKey)
+>>
/Subtype /Link
/Rect [51.24000000000001 348.63700000000006 56.49000000000001 359.13700000000006]
/Type /Annot
@@ -16427,7 +16538,10 @@ endobj
endobj
102 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PrimaryKey)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PrimaryKey)
+>>
/Subtype /Link
/Rect [51.24000000000001 332.761 51.24000000000001 347.04100000000005]
/Type /Annot
@@ -16435,14 +16549,17 @@ endobj
endobj
103 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PrimaryKey)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PrimaryKey)
+>>
/Subtype /Link
/Rect [51.24000000000001 334.357 103.74000000000001 344.857]
/Type /Annot
>>
endobj
104 0 obj
-<< /Length 29559
+<< /Length 29565
>>
stream
q
@@ -16804,7 +16921,7 @@ S
BT
487.68999999999994 647.9630000000002 Td
/F2.0 10.5 Tf
-<44796e616d6963> Tj
+<46696c652d6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -18457,7 +18574,7 @@ endobj
/F6.0 50 0 R
/F3.0 40 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [107 0 R 108 0 R 109 0 R 110 0 R 111 0 R 112 0 R 113 0 R 114 0 R 115 0 R 116 0 R 117 0 R 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R 138 0 R 139 0 R 140 0 R 141 0 R 142 0 R 143 0 R]
@@ -18470,10 +18587,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [487.68999999999994 644.8970000000002 534.6669999999999 659.1770000000001]
+/Rect [487.68999999999994 644.8970000000002 541.8385 659.1770000000001]
/Type /Annot
>>
endobj
@@ -18481,7 +18598,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [487.68999999999994 630.6170000000002 521.2057949218749 644.8970000000002]
@@ -18490,7 +18607,10 @@ endobj
endobj
109 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 608.9330000000001 145.74 619.4330000000001]
/Type /Annot
@@ -18498,7 +18618,10 @@ endobj
endobj
110 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 593.0570000000001 51.24 607.3370000000001]
/Type /Annot
@@ -18506,7 +18629,10 @@ endobj
endobj
111 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 594.653 114.24000000000001 605.153]
/Type /Annot
@@ -18514,7 +18640,10 @@ endobj
endobj
112 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 578.777 51.24 593.0570000000001]
/Type /Annot
@@ -18522,7 +18651,10 @@ endobj
endobj
113 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 580.373 82.74000000000001 590.873]
/Type /Annot
@@ -18530,7 +18662,10 @@ endobj
endobj
114 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Inject)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Inject)
+>>
/Subtype /Link
/Rect [51.24 557.0930000000002 124.74000000000001 567.5930000000002]
/Type /Annot
@@ -18538,7 +18673,10 @@ endobj
endobj
115 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Inject)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Inject)
+>>
/Subtype /Link
/Rect [51.24 541.2170000000002 51.24 555.4970000000002]
/Type /Annot
@@ -18546,7 +18684,10 @@ endobj
endobj
116 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Inject)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Inject)
+>>
/Subtype /Link
/Rect [51.24 542.8130000000001 82.74000000000001 553.3130000000001]
/Type /Annot
@@ -18554,7 +18695,10 @@ endobj
endobj
117 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 505.2530000000001 145.74 515.7530000000002]
/Type /Annot
@@ -18562,7 +18706,10 @@ endobj
endobj
118 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 489.3770000000001 51.24 503.65700000000015]
/Type /Annot
@@ -18570,7 +18717,10 @@ endobj
endobj
119 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Digits)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Digits)
+>>
/Subtype /Link
/Rect [51.24 490.9730000000001 93.24000000000001 501.4730000000001]
/Type /Annot
@@ -18578,7 +18728,10 @@ endobj
endobj
120 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PostConstruct)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PostConstruct)
+>>
/Subtype /Link
/Rect [51.24 467.6930000000001 145.74 478.1930000000001]
/Type /Annot
@@ -18586,7 +18739,10 @@ endobj
endobj
121 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PostConstruct)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PostConstruct)
+>>
/Subtype /Link
/Rect [51.24 451.8170000000001 51.24 466.0970000000001]
/Type /Annot
@@ -18594,7 +18750,10 @@ endobj
endobj
122 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PostConstruct)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PostConstruct)
+>>
/Subtype /Link
/Rect [51.24 453.4130000000001 119.49000000000001 463.9130000000001]
/Type /Annot
@@ -18602,7 +18761,10 @@ endobj
endobj
123 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-RequestScoped)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
+>>
/Subtype /Link
/Rect [175.94 451.8170000000001 251.351 466.0970000000001]
/Type /Annot
@@ -18610,7 +18772,10 @@ endobj
endobj
124 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PreDestroy)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PreDestroy)
+>>
/Subtype /Link
/Rect [51.24 415.8530000000002 145.74 426.3530000000002]
/Type /Annot
@@ -18618,7 +18783,10 @@ endobj
endobj
125 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PreDestroy)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PreDestroy)
+>>
/Subtype /Link
/Rect [51.24 399.97700000000015 51.24 414.2570000000002]
/Type /Annot
@@ -18626,7 +18794,10 @@ endobj
endobj
126 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PreDestroy)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PreDestroy)
+>>
/Subtype /Link
/Rect [51.24 401.57300000000015 103.74000000000001 412.07300000000015]
/Type /Annot
@@ -18634,7 +18805,10 @@ endobj
endobj
127 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-RequestScoped)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
+>>
/Subtype /Link
/Rect [175.94 399.97700000000015 251.351 414.2570000000002]
/Type /Annot
@@ -18642,7 +18816,10 @@ endobj
endobj
128 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-RequestScoped)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
+>>
/Subtype /Link
/Rect [51.24 364.01300000000015 145.74 374.51300000000015]
/Type /Annot
@@ -18650,7 +18827,10 @@ endobj
endobj
129 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-RequestScoped)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
+>>
/Subtype /Link
/Rect [51.24 348.1370000000001 51.24 362.41700000000014]
/Type /Annot
@@ -18658,7 +18838,10 @@ endobj
endobj
130 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-RequestScoped)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
+>>
/Subtype /Link
/Rect [51.24 349.7330000000001 93.24000000000001 360.2330000000001]
/Type /Annot
@@ -18666,7 +18849,10 @@ endobj
endobj
131 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-RequestScoped)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
+>>
/Subtype /Link
/Rect [51.24 333.85700000000014 51.24 348.1370000000001]
/Type /Annot
@@ -18674,7 +18860,10 @@ endobj
endobj
132 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-RequestScoped)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-RequestScoped)
+>>
/Subtype /Link
/Rect [51.24 335.4530000000001 119.49000000000001 345.9530000000001]
/Type /Annot
@@ -18682,7 +18871,10 @@ endobj
endobj
133 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlRootElement)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlRootElement)
+>>
/Subtype /Link
/Rect [51.24 312.1730000000001 124.74000000000001 322.6730000000001]
/Type /Annot
@@ -18690,7 +18882,10 @@ endobj
endobj
134 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlRootElement)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlRootElement)
+>>
/Subtype /Link
/Rect [51.24 296.2970000000001 51.24 310.5770000000001]
/Type /Annot
@@ -18698,7 +18893,10 @@ endobj
endobj
135 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlRootElement)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlRootElement)
+>>
/Subtype /Link
/Rect [51.24 297.8930000000001 108.99000000000001 308.3930000000001]
/Type /Annot
@@ -18706,7 +18904,10 @@ endobj
endobj
136 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlRootElement)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlRootElement)
+>>
/Subtype /Link
/Rect [51.24 282.0170000000001 51.24 296.2970000000001]
/Type /Annot
@@ -18714,7 +18915,10 @@ endobj
endobj
137 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlRootElement)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlRootElement)
+>>
/Subtype /Link
/Rect [51.24 283.61300000000006 124.74000000000001 294.11300000000006]
/Type /Annot
@@ -18722,7 +18926,10 @@ endobj
endobj
138 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlJavaTypeAdapter)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlJavaTypeAdapter)
+>>
/Subtype /Link
/Rect [51.24 246.05300000000008 124.74000000000001 256.5530000000001]
/Type /Annot
@@ -18730,7 +18937,10 @@ endobj
endobj
139 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlJavaTypeAdapter)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlJavaTypeAdapter)
+>>
/Subtype /Link
/Rect [51.24 230.17700000000008 51.24 244.45700000000008]
/Type /Annot
@@ -18738,7 +18948,10 @@ endobj
endobj
140 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlJavaTypeAdapter)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlJavaTypeAdapter)
+>>
/Subtype /Link
/Rect [51.24 231.77300000000008 108.99000000000001 242.27300000000008]
/Type /Annot
@@ -18746,7 +18959,10 @@ endobj
endobj
141 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlJavaTypeAdapter)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlJavaTypeAdapter)
+>>
/Subtype /Link
/Rect [51.24 215.89700000000008 51.24 230.17700000000008]
/Type /Annot
@@ -18754,7 +18970,10 @@ endobj
endobj
142 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-XmlJavaTypeAdapter)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-XmlJavaTypeAdapter)
+>>
/Subtype /Link
/Rect [51.24 217.49300000000008 145.74 227.99300000000008]
/Type /Annot
@@ -18764,7 +18983,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_BookmarkService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_BookmarkService)
>>
/Subtype /Link
/Rect [175.94 174.65300000000008 254.69 185.15300000000008]
@@ -18775,7 +18994,7 @@ endobj
[105 0 R /XYZ 0 156.5900000000001 null]
endobj
145 0 obj
-<< /Length 36810
+<< /Length 36816
>>
stream
q
@@ -19248,7 +19467,7 @@ S
BT
504.6940919999999 683.2430000000002 Td
/F2.0 10.5 Tf
-<44796e616d> Tj
+<46696c652d> Tj
ET
0.000 0.000 0.000 SCN
@@ -19259,7 +19478,7 @@ ET
BT
504.6940919999999 668.9630000000001 Td
/F2.0 10.5 Tf
-<6963> Tj
+<6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -21343,7 +21562,7 @@ endobj
/F2.0 22 0 R
/F3.0 40 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [147 0 R 148 0 R 149 0 R 150 0 R 151 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 168 0 R]
@@ -21351,7 +21570,10 @@ endobj
endobj
147 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-aaa_main)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-aaa_main)
+>>
/Subtype /Link
/Rect [48.24 775.0799999999999 78.333 789.36]
/Type /Annot
@@ -21361,10 +21583,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 680.1770000000001 542.4520919999999 694.4570000000001]
+/Rect [504.6940919999999 680.1770000000001 527.8465919999999 694.4570000000001]
/Type /Annot
>>
endobj
@@ -21372,10 +21594,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 665.8970000000002 513.9130919999999 680.1770000000001]
+/Rect [504.6940919999999 665.8970000000002 535.6900919999999 680.1770000000001]
/Type /Annot
>>
endobj
@@ -21383,7 +21605,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [504.6940919999999 651.6170000000001 538.2098869218748 665.8970000000002]
@@ -21392,7 +21614,10 @@ endobj
endobj
151 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-MemberOrder)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
+>>
/Subtype /Link
/Rect [323.31245519999993 632.1170000000001 386.31245519999993 642.6170000000001]
/Type /Annot
@@ -21400,7 +21625,10 @@ endobj
endobj
152 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_domainEvent)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_domainEvent)
+>>
/Subtype /Link
/Rect [323.31245519999993 594.5570000000001 433.56245519999993 605.0570000000001]
/Type /Annot
@@ -21408,7 +21636,10 @@ endobj
endobj
153 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_semantics)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_semantics)
+>>
/Subtype /Link
/Rect [323.31245519999993 528.4370000000001 423.06245519999993 538.9370000000001]
/Type /Annot
@@ -21416,7 +21647,10 @@ endobj
endobj
154 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_auditing)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_auditing)
+>>
/Subtype /Link
/Rect [323.31245519999993 488.69300000000004 396.81245519999993 499.1930000000001]
/Type /Annot
@@ -21424,7 +21658,10 @@ endobj
endobj
155 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_auditing)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_auditing)
+>>
/Subtype /Link
/Rect [323.31245519999993 472.81700000000006 323.31245519999993 487.0970000000001]
/Type /Annot
@@ -21432,7 +21669,10 @@ endobj
endobj
156 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_auditing)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_auditing)
+>>
/Subtype /Link
/Rect [323.31245519999993 474.41300000000007 375.81245519999993 484.91300000000007]
/Type /Annot
@@ -21440,7 +21680,10 @@ endobj
endobj
157 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_autoCompleteRepository)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_autoCompleteRepository)
+>>
/Subtype /Link
/Rect [323.31245519999993 451.13300000000015 391.56245519999993 461.63300000000015]
/Type /Annot
@@ -21448,7 +21691,10 @@ endobj
endobj
158 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_autoCompleteRepository)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_autoCompleteRepository)
+>>
/Subtype /Link
/Rect [323.31245519999993 435.2570000000001 323.31245519999993 449.53700000000015]
/Type /Annot
@@ -21456,7 +21702,10 @@ endobj
endobj
159 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_autoCompleteRepository)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_autoCompleteRepository)
+>>
/Subtype /Link
/Rect [323.31245519999993 436.8530000000001 449.31245519999993 447.3530000000001]
/Type /Annot
@@ -21464,7 +21713,10 @@ endobj
endobj
160 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_autoCompleteRepository)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_autoCompleteRepository)
+>>
/Subtype /Link
/Rect [323.31245519999993 425.40800000000013 328.56245519999993 435.90800000000013]
/Type /Annot
@@ -21472,7 +21724,10 @@ endobj
endobj
161 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout_bookmarking)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout_bookmarking)
+>>
/Subtype /Link
/Rect [323.31245519999993 402.77900000000005 423.06245519999993 413.2790000000001]
/Type /Annot
@@ -21480,7 +21735,10 @@ endobj
endobj
162 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout_bookmarking)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout_bookmarking)
+>>
/Subtype /Link
/Rect [323.31245519999993 386.9030000000001 323.31245519999993 401.1830000000001]
/Type /Annot
@@ -21488,7 +21746,10 @@ endobj
endobj
163 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout_bookmarking)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout_bookmarking)
+>>
/Subtype /Link
/Rect [323.31245519999993 388.4990000000001 396.81245519999993 398.9990000000001]
/Type /Annot
@@ -21496,7 +21757,10 @@ endobj
endobj
164 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_bounded)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_bounded)
+>>
/Subtype /Link
/Rect [323.31245519999993 367.4030000000001 444.06245519999993 377.9030000000001]
/Type /Annot
@@ -21504,7 +21768,10 @@ endobj
endobj
165 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_invokeOn)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_invokeOn)
+>>
/Subtype /Link
/Rect [323.31245519999993 301.2830000000001 417.81245519999993 311.7830000000001]
/Type /Annot
@@ -21512,7 +21779,10 @@ endobj
endobj
166 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Collection_domainEvent)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Collection_domainEvent)
+>>
/Subtype /Link
/Rect [323.31245519999993 249.4430000000001 449.31245519999993 259.9430000000001]
/Type /Annot
@@ -21520,7 +21790,10 @@ endobj
endobj
167 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Collection_domainEvent)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Collection_domainEvent)
+>>
/Subtype /Link
/Rect [323.31245519999993 237.9980000000001 328.56245519999993 248.4980000000001]
/Type /Annot
@@ -21528,14 +21801,17 @@ endobj
endobj
168 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_command)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_command)
+>>
/Subtype /Link
/Rect [323.31245519999993 169.04300000000015 412.56245519999993 179.54300000000015]
/Type /Annot
>>
endobj
169 0 obj
-<< /Length 38902
+<< /Length 38908
>>
stream
q
@@ -21914,7 +22190,7 @@ S
BT
504.6940919999999 790.143 Td
/F2.0 10.5 Tf
-<44796e616d> Tj
+<46696c652d> Tj
ET
0.000 0.000 0.000 SCN
@@ -21925,7 +22201,7 @@ ET
BT
504.6940919999999 775.8629999999999 Td
/F2.0 10.5 Tf
-<6963> Tj
+<6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -24321,7 +24597,7 @@ endobj
/F3.0 40 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [171 0 R 172 0 R 173 0 R 174 0 R 175 0 R 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R 202 0 R 203 0 R]
@@ -24331,10 +24607,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 787.077 542.4520919999999 801.357]
+/Rect [504.6940919999999 787.077 527.8465919999999 801.357]
/Type /Annot
>>
endobj
@@ -24342,10 +24618,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 772.797 513.9130919999999 787.077]
+/Rect [504.6940919999999 772.797 535.6900919999999 787.077]
/Type /Annot
>>
endobj
@@ -24353,7 +24629,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [504.6940919999999 758.5169999999999 538.2098869218748 772.797]
@@ -24362,7 +24638,10 @@ endobj
endobj
174 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout_cssClass)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout_cssClass)
+>>
/Subtype /Link
/Rect [323.31245519999993 722.5530000000001 423.06245519999993 733.0530000000001]
/Type /Annot
@@ -24370,7 +24649,10 @@ endobj
endobj
175 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PropertyLayout_cssClass)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PropertyLayout_cssClass)
+>>
/Subtype /Link
/Rect [323.31245519999993 708.273 402.06245519999993 718.773]
/Type /Annot
@@ -24378,7 +24660,10 @@ endobj
endobj
176 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-CollectionLayout_cssClass)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-CollectionLayout_cssClass)
+>>
/Subtype /Link
/Rect [323.31245519999993 693.993 412.56245519999993 704.493]
/Type /Annot
@@ -24386,7 +24671,10 @@ endobj
endobj
177 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout_cssClass)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_cssClass)
+>>
/Subtype /Link
/Rect [323.31245519999993 679.7130000000001 391.56245519999993 690.2130000000001]
/Type /Annot
@@ -24394,7 +24682,10 @@ endobj
endobj
178 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ParameterLayout_cssClass)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ParameterLayout_cssClass)
+>>
/Subtype /Link
/Rect [323.31245519999993 668.268 407.31245519999993 678.768]
/Type /Annot
@@ -24402,7 +24693,10 @@ endobj
endobj
179 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout_cssClassFa)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_cssClassFa)
+>>
/Subtype /Link
/Rect [323.31245519999993 631.3590000000002 391.56245519999993 641.8590000000002]
/Type /Annot
@@ -24410,7 +24704,10 @@ endobj
endobj
180 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout_cssClassFa)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout_cssClassFa)
+>>
/Subtype /Link
/Rect [323.31245519999993 617.0790000000001 417.81245519999993 627.5790000000001]
/Type /Annot
@@ -24418,7 +24715,10 @@ endobj
endobj
181 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ViewModelLayout_cssClassFa)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ViewModelLayout_cssClassFa)
+>>
/Subtype /Link
/Rect [323.31245519999993 605.6340000000001 402.06245519999993 616.1340000000001]
/Type /Annot
@@ -24428,7 +24728,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [342.00245519999993 563.643 414.10575012187496 577.9230000000001]
@@ -24439,7 +24739,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [323.31245519999993 549.363 431.9769551999999 563.643]
@@ -24448,7 +24748,10 @@ endobj
endobj
184 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_restrictTo)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_restrictTo)
+>>
/Subtype /Link
/Rect [326.9454551999999 508.1190000000001 431.9454551999999 518.619]
/Type /Annot
@@ -24456,7 +24759,10 @@ endobj
endobj
185 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_describedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_describedAs)
+>>
/Subtype /Link
/Rect [340.91045519999994 470.559 440.66045519999994 481.059]
/Type /Annot
@@ -24464,7 +24770,10 @@ endobj
endobj
186 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PropertyLayout_describedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PropertyLayout_describedAs)
+>>
/Subtype /Link
/Rect [323.31245519999993 456.279 402.06245519999993 466.779]
/Type /Annot
@@ -24472,7 +24781,10 @@ endobj
endobj
187 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-CollectionLayout_describedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-CollectionLayout_describedAs)
+>>
/Subtype /Link
/Rect [323.31245519999993 441.999 412.56245519999993 452.499]
/Type /Annot
@@ -24480,7 +24792,10 @@ endobj
endobj
188 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout_describedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_describedAs)
+>>
/Subtype /Link
/Rect [323.31245519999993 427.719 391.56245519999993 438.21900000000005]
/Type /Annot
@@ -24488,7 +24803,10 @@ endobj
endobj
189 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ParameterLayout_describedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ParameterLayout_describedAs)
+>>
/Subtype /Link
/Rect [323.31245519999993 416.274 407.31245519999993 426.774]
/Type /Annot
@@ -24496,7 +24814,10 @@ endobj
endobj
190 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property_editing)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property_editing)
+>>
/Subtype /Link
/Rect [323.31245519999993 379.36500000000007 370.56245519999993 389.86500000000007]
/Type /Annot
@@ -24504,7 +24825,10 @@ endobj
endobj
191 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Collection_editing)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Collection_editing)
+>>
/Subtype /Link
/Rect [378.62645519999995 379.36500000000007 436.37645519999995 389.86500000000007]
/Type /Annot
@@ -24512,7 +24836,10 @@ endobj
endobj
192 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_editing)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_editing)
+>>
/Subtype /Link
/Rect [345.1419551999999 365.08500000000004 413.3919551999999 375.58500000000004]
/Type /Annot
@@ -24522,7 +24849,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvw.pdf)
+/URI (../ugvw/ugvw.pdf)
>>
/Subtype /Link
/Rect [342.00245519999993 311.64900000000006 414.10575012187496 325.9290000000001]
@@ -24533,7 +24860,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugvro.pdf)
+/URI (../ugvro/ugvro.pdf)
>>
/Subtype /Link
/Rect [323.31245519999993 297.369 431.9769551999999 311.64900000000006]
@@ -24542,7 +24869,10 @@ endobj
endobj
195 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_restrictTo)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_restrictTo)
+>>
/Subtype /Link
/Rect [326.9454551999999 256.12500000000006 431.9454551999999 266.62500000000006]
/Type /Annot
@@ -24550,7 +24880,10 @@ endobj
endobj
196 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-MemberOrder)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
+>>
/Subtype /Link
/Rect [323.31245519999993 235.02900000000014 386.31245519999993 245.52900000000014]
/Type /Annot
@@ -24558,7 +24891,10 @@ endobj
endobj
197 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_hidden)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_hidden)
+>>
/Subtype /Link
/Rect [382.67945519999995 166.7250000000002 414.17945519999995 177.2250000000002]
/Type /Annot
@@ -24566,7 +24902,10 @@ endobj
endobj
198 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property_hidden)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property_hidden)
+>>
/Subtype /Link
/Rect [323.31245519999993 152.4450000000002 365.31245519999993 162.9450000000002]
/Type /Annot
@@ -24574,7 +24913,10 @@ endobj
endobj
199 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Collection_hidden)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Collection_hidden)
+>>
/Subtype /Link
/Rect [381.7554551999999 152.4450000000002 434.2554551999999 162.9450000000002]
/Type /Annot
@@ -24582,7 +24924,10 @@ endobj
endobj
200 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainService_nature)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainService_nature)
+>>
/Subtype /Link
/Rect [323.31245519999993 123.88500000000019 402.06245519999993 134.3850000000002]
/Type /Annot
@@ -24590,7 +24935,10 @@ endobj
endobj
201 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainService_nature)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainService_nature)
+>>
/Subtype /Link
/Rect [323.31245519999993 108.00900000000019 323.31245519999993 122.28900000000019]
/Type /Annot
@@ -24598,7 +24946,10 @@ endobj
endobj
202 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainService_nature)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainService_nature)
+>>
/Subtype /Link
/Rect [323.31245519999993 109.60500000000019 396.81245519999993 120.10500000000019]
/Type /Annot
@@ -24606,14 +24957,17 @@ endobj
endobj
203 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Action_semantics)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Action_semantics)
+>>
/Subtype /Link
/Rect [323.31245519999993 88.50900000000014 412.56245519999993 99.00900000000014]
/Type /Annot
>>
endobj
204 0 obj
-<< /Length 35120
+<< /Length 35126
>>
stream
q
@@ -24992,7 +25346,7 @@ S
BT
504.6940919999999 790.143 Td
/F2.0 10.5 Tf
-<44796e616d> Tj
+<46696c652d> Tj
ET
0.000 0.000 0.000 SCN
@@ -25003,7 +25357,7 @@ ET
BT
504.6940919999999 775.8629999999999 Td
/F2.0 10.5 Tf
-<6963> Tj
+<6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -27126,7 +27480,7 @@ endobj
/F3.0 40 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [206 0 R 207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R]
@@ -27136,10 +27490,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 787.077 542.4520919999999 801.357]
+/Rect [504.6940919999999 787.077 527.8465919999999 801.357]
/Type /Annot
>>
endobj
@@ -27147,10 +27501,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 772.797 513.9130919999999 787.077]
+/Rect [504.6940919999999 772.797 535.6900919999999 787.077]
/Type /Annot
>>
endobj
@@ -27158,7 +27512,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [504.6940919999999 758.5169999999999 538.2098869218748 772.797]
@@ -27167,7 +27521,10 @@ endobj
endobj
209 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Programmatic)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Programmatic)
+>>
/Subtype /Link
/Rect [323.31245519999993 736.8329999999997 391.56245519999993 747.3329999999997]
/Type /Annot
@@ -27175,7 +27532,10 @@ endobj
endobj
210 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_editing)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_editing)
+>>
/Subtype /Link
/Rect [323.31245519999993 672.8969999999998 444.06245519999993 683.3969999999998]
/Type /Annot
@@ -27183,7 +27543,10 @@ endobj
endobj
211 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property_maxLength)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property_maxLength)
+>>
/Subtype /Link
/Rect [323.31245519999993 538.4729999999997 370.56245519999993 548.9729999999997]
/Type /Annot
@@ -27191,7 +27554,10 @@ endobj
endobj
212 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Parameter_maxLength)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Parameter_maxLength)
+>>
/Subtype /Link
/Rect [387.0054551999999 538.4729999999997 439.5054551999999 548.9729999999997]
/Type /Annot
@@ -27201,7 +27567,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic_xml)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [323.31245519999993 513.5969999999999 369.4914551999999 527.8769999999998]
@@ -27212,7 +27578,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic_xml)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [369.4914551999999 515.1929999999999 427.2414551999999 525.6929999999999]
@@ -27223,7 +27589,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic_xml)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [323.31245519999993 461.75699999999995 369.4914551999999 476.0369999999999]
@@ -27234,7 +27600,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic_xml)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [369.4914551999999 463.35299999999995 427.2414551999999 473.85299999999995]
@@ -27243,7 +27609,10 @@ endobj
endobj
217 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property_multiLine)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property_multiLine)
+>>
/Subtype /Link
/Rect [323.31245519999993 382.9529999999998 370.56245519999993 393.4529999999998]
/Type /Annot
@@ -27251,7 +27620,10 @@ endobj
endobj
218 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Parameter_multiLine)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Parameter_multiLine)
+>>
/Subtype /Link
/Rect [387.0054551999999 382.9529999999998 439.5054551999999 393.4529999999998]
/Type /Annot
@@ -27259,7 +27631,10 @@ endobj
endobj
219 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property_mustSatisfy)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property_mustSatisfy)
+>>
/Subtype /Link
/Rect [340.91045519999994 331.1129999999999 388.16045519999994 341.6129999999999]
/Type /Annot
@@ -27267,7 +27642,10 @@ endobj
endobj
220 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Parameter_mustSatisfy)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Parameter_mustSatisfy)
+>>
/Subtype /Link
/Rect [323.31245519999993 319.6679999999999 375.81245519999993 330.1679999999999]
/Type /Annot
@@ -27275,7 +27653,10 @@ endobj
endobj
221 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainServiceLayout_named)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainServiceLayout_named)
+>>
/Subtype /Link
/Rect [323.31245519999993 279.27299999999997 428.31245519999993 289.77299999999997]
/Type /Annot
@@ -27283,7 +27664,10 @@ endobj
endobj
222 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout_named)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout_named)
+>>
/Subtype /Link
/Rect [323.31245519999993 264.99299999999994 423.06245519999993 275.49299999999994]
/Type /Annot
@@ -27291,7 +27675,10 @@ endobj
endobj
223 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-PropertyLayout_named)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-PropertyLayout_named)
+>>
/Subtype /Link
/Rect [323.31245519999993 250.71299999999997 402.06245519999993 261.21299999999997]
/Type /Annot
@@ -27299,7 +27686,10 @@ endobj
endobj
224 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-CollectionLayout_named)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-CollectionLayout_named)
+>>
/Subtype /Link
/Rect [323.31245519999993 236.43299999999996 412.56245519999993 246.93299999999996]
/Type /Annot
@@ -27307,7 +27697,10 @@ endobj
endobj
225 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout_named)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_named)
+>>
/Subtype /Link
/Rect [323.31245519999993 222.15299999999996 391.56245519999993 232.65299999999996]
/Type /Annot
@@ -27315,14 +27708,17 @@ endobj
endobj
226 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ParameterLayout_named)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ParameterLayout_named)
+>>
/Subtype /Link
/Rect [323.31245519999993 210.70799999999997 407.31245519999993 221.20799999999997]
/Type /Annot
>>
endobj
227 0 obj
-<< /Length 30981
+<< /Length 30987
>>
stream
q
@@ -27661,7 +28057,7 @@ S
BT
504.6940919999999 790.143 Td
/F2.0 10.5 Tf
-<44796e616d> Tj
+<46696c652d> Tj
ET
0.000 0.000 0.000 SCN
@@ -27672,7 +28068,7 @@ ET
BT
504.6940919999999 775.8629999999999 Td
/F2.0 10.5 Tf
-<6963> Tj
+<6261736564> Tj
ET
0.000 0.000 0.000 SCN
@@ -29496,7 +29892,7 @@ endobj
/F3.0 40 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 2144 0 R
+/XObject << /Stamp1 2141 0 R
>>
>>
/Annots [229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R]
@@ -29506,10 +29902,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 787.077 542.4520919999999 801.357]
+/Rect [504.6940919999999 787.077 527.8465919999999 801.357]
/Type /Annot
>>
endobj
@@ -29517,10 +29913,10 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
-/Rect [504.6940919999999 772.797 513.9130919999999 787.077]
+/Rect [504.6940919999999 772.797 535.6900919999999 787.077]
/Type /Annot
>>
endobj
@@ -29528,7 +29924,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (ugfun.pdf#_ugfun_object-layout_dynamic)
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
>>
/Subtype /Link
/Rect [504.6940919999999 758.5169999999999 538.2098869218748 772.797]
@@ -29537,7 +29933,10 @@ endobj
endobj
232 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainService_nature)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainService_nature)
+>>
/Subtype /Link
/Rect [323.31245519999993 722.5529999999999 444.06245519999993 733.0529999999999]
/Type /Annot
@@ -29545,7 +29944,10 @@ endobj
endobj
233 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout_contributedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_contributedAs)
+>>
/Subtype /Link
/Rect [323.31245519999993 608.3129999999999 396.81245519999993 618.8129999999999]
/Type /Annot
@@ -29553,7 +29955,10 @@ endobj
endobj
234 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout_contributedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_contributedAs)
+>>
/Subtype /Link
/Rect [323.31245519999993 592.4369999999999 323.31245519999993 606.7169999999999]
/Type /Annot
@@ -29561,7 +29966,10 @@ endobj
endobj
235 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-ActionLayout_contributedAs)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_contributedAs)
+>>
/Subtype /Link
/Rect [323.31245519999993 594.0329999999999 402.06245519999993 604.5329999999999]
/Type /Annot
@@ -29569,7 +29977,10 @@ endobj
endobj
236 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainService_nature)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainService_nature)
+>>
/Subtype /Link
/Rect [323.31245519999993 485.073 444.06245519999993 495.573]
/Type /Annot
@@ -29577,7 +29988,10 @@ endobj
endobj
237 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property_notPersisted)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property_notPersisted)
+>>
/Subtype /Link
/Rect [335.9649551999999 390.39299999999986 383.21495519999996 400.89299999999986]
/Type /Annot
@@ -29585,7 +29999,10 @@ endobj
endobj
238 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Collection_notPersisted)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Collection_notPersisted)
+>>
/Subtype /Link
/Rect [323.31245519999993 378.94799999999987 381.06245519999993 389.44799999999987]
/Type /Annot
@@ -29593,7 +30010,10 @@ endobj
endobj
239 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_objectType)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_objectType)
+>>
/Subtype /Link
/Rect [323.31245519999993 326.45699999999977 449.31245519999993 336.95699999999977]
/Type /Annot
@@ -29601,7 +30021,10 @@ endobj
endobj
240 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_objectType)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_objectType)
+>>
/Subtype /Link
/Rect [323.31245519999993 315.0119999999998 333.81245519999993 325.5119999999998]
/Type /Annot
@@ -29609,7 +30032,10 @@ endobj
endobj
241 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Property_optionality)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Property_optionality)
+>>
/Subtype /Link
/Rect [340.91045519999994 201.03299999999976 388.16045519999994 211.53299999999976]
/Type /Annot
@@ -29617,7 +30043,10 @@ endobj
endobj
242 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-Parameter_optionality)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-Parameter_optionality)
+>>
/Subtype /Link
/Rect [323.31245519999993 189.58799999999977 375.81245519999993 200.08799999999977]
/Type /Annot
@@ -29625,7 +30054,10 @@ endobj
endobj
243 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObjectLayout_paged)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout_paged)
+>>
/Subtype /Link
/Rect [323.31245519999993 152.67899999999995 423.06245519999993 163.17899999999995]
/Type /Annot
@@ -29633,7 +30065,10 @@ endobj
endobj
244 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-CollectionLayout_paged)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-CollectionLayout_paged)
+>>
/Subtype /Link
/Rect [323.31245519999993 141.23399999999995 412.56245519999993 151.73399999999995]
/Type /Annot
@@ -29641,7 +30076,10 @@ endobj
endobj
245 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_plural)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_plural)
+>>
/Subtype /Link
/Rect [323.31245519999993 115.11899999999979 423.06245519999993 125.61899999999979]
/Type /Annot
@@ -29649,7 +30087,10 @@ endobj
endobj
246 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_plural)
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-DomainObject_plural)
+>>
/Subtype /Link
/Rect [323.31245519999993 99.24299999999978 323.31245519999993 113.52299999999978]
/Type /Annot
@@ -29657,14 +30098,17 @@ endobj
endobj
247 0 obj
<< /Border [0 0 0]
-/Dest (_rgant-DomainObject_plur
<TRUNCATED>
[34/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
ISIS-1521: ugfun.adoc and FIXMEs
Project: http://git-wip-us.apache.org/repos/asf/isis-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis-site/commit/6ad91949
Tree: http://git-wip-us.apache.org/repos/asf/isis-site/tree/6ad91949
Diff: http://git-wip-us.apache.org/repos/asf/isis-site/diff/6ad91949
Branch: refs/heads/asf-site
Commit: 6ad91949b4b58efb37aed25937acf77dad354a19
Parents: 8af22d4
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Apr 20 09:35:38 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Apr 20 09:37:58 2017 +0100
----------------------------------------------------------------------
content/elasticlunr/index.json | 2 +-
content/guides/cgcom/cgcom.html | 665 +-
content/guides/cgcom/cgcom.pdf | 11036 +-
content/guides/dg/dg.html | 731 +-
content/guides/dg/dg.pdf | 13634 +-
.../guides/dg/images/asciidoctor/ditaa-demo.png | Bin 0 -> 5512 bytes
.../dg/images/asciidoctor/graphviz-demo.png | Bin 0 -> 17255 bytes
.../dg/images/asciidoctor/plantuml-demo.png | Bin 0 -> 6965 bytes
.../eclipse/eclipse-010-windows-preferences.png | Bin 0 -> 37417 bytes
.../eclipse/eclipse-025-project-properties.png | Bin 0 -> 76584 bytes
.../eclipse/eclipse-100-project-support.png | Bin 0 -> 54952 bytes
.../eclipse/eclipse-110-project-support.png | Bin 0 -> 53218 bytes
.../dg/images/eclipse/eclipse-120-console.png | Bin 0 -> 12887 bytes
.../eclipse-200-enhancer-fails-duplicates.png | Bin 0 -> 47581 bytes
.../eclipse-210-enhancer-fails-duplicates.png | Bin 0 -> 11776 bytes
.../eclipse-220-enhancer-fails-duplicates.png | Bin 0 -> 54752 bytes
.../010-installing/010-welcome-page.png | Bin 0 -> 29192 bytes
.../010-installing/020-choose-location.png | Bin 0 -> 24433 bytes
.../010-installing/030-installation-options.png | Bin 0 -> 18300 bytes
.../010-installing/040-start-menu-folder.png | Bin 0 -> 26120 bytes
.../010-installing/050-completing.png | Bin 0 -> 26499 bytes
.../060-import-settings-or-not.png | Bin 0 -> 11691 bytes
.../010-installing/070-set-ui-theme.png | Bin 0 -> 87739 bytes
.../010-new-project-create.png | Bin 0 -> 14048 bytes
.../020-java-project-setup-jdk.png | Bin 0 -> 29837 bytes
.../030-java-project-select-jdk.png | Bin 0 -> 16597 bytes
.../020-create-new-project/040-sdk-selected.png | Bin 0 -> 24884 bytes
.../050-name-and-location.png | Bin 0 -> 11407 bytes
.../020-create-new-project/060-create-dir.png | Bin 0 -> 8424 bytes
.../010-settings-import-jar.png | Bin 0 -> 13712 bytes
.../030-import-settings/020-select-all.png | Bin 0 -> 8863 bytes
.../030-import-settings/030-restart.png | Bin 0 -> 8209 bytes
.../030-import-settings/040-file-templates.png | Bin 0 -> 39841 bytes
.../030-import-settings/050-live-templates.png | Bin 0 -> 38456 bytes
.../010-build-automatically.png | Bin 0 -> 50767 bytes
.../020-annotation-processor.png | Bin 0 -> 67560 bytes
.../010-maven-installation.png | Bin 0 -> 43353 bytes
.../020-maven-configuration.png | Bin 0 -> 53554 bytes
.../044-other-settings-misc/010-auto-import.png | Bin 0 -> 31963 bytes
.../050-some-plugins/010-some-plugins.png | Bin 0 -> 45812 bytes
.../020-some-plugins-confirmation.png | Bin 0 -> 35687 bytes
.../maven-helper/010-dependency-tab.png | Bin 0 -> 64588 bytes
.../maven-helper/020-dependency-as-tree.png | Bin 0 -> 44040 bytes
.../maven-helper/030-maven-run-goal.png | Bin 0 -> 91806 bytes
.../maven-helper/040-maven-quick-run.png | Bin 0 -> 83850 bytes
.../010-duplicate-classes.png | Bin 0 -> 115681 bytes
.../070-advanced/002-compiler-exclude.png | Bin 0 -> 31775 bytes
.../070-advanced/004-gradle-output.png | Bin 0 -> 23091 bytes
.../070-advanced/005-gradle-output.png | Bin 0 -> 30890 bytes
.../070-advanced/006-livereload-js.png | Bin 0 -> 80581 bytes
...10-dcevm-list-of-found-jdk-installations.png | Bin 0 -> 44267 bytes
.../070-advanced/020-dcevm-once-installed.png | Bin 0 -> 44435 bytes
.../030-dcevm-intellij-project-structure.png | Bin 0 -> 62740 bytes
.../040-dcevm-run-configuration.png | Bin 0 -> 47864 bytes
.../010-maven-modules-view.png | Bin 0 -> 103134 bytes
.../020-adding-another-module.png | Bin 0 -> 23846 bytes
.../030-other-module-added.png | Bin 0 -> 111516 bytes
.../040-ignoring-modules.png | Bin 0 -> 120475 bytes
.../050-ignoring-modules-2.png | Bin 0 -> 17050 bytes
.../060-ignored-modules.png | Bin 0 -> 92428 bytes
.../010-run-configuration.png | Bin 0 -> 34826 bytes
.../020-datanucleus-enhancer-goal.png | Bin 0 -> 8491 bytes
.../030-running-unit-tests.png | Bin 0 -> 29351 bytes
...040-running-unit-tests-run-configuration.png | Bin 0 -> 37582 bytes
...ning-integration-tests-run-configuration.png | Bin 0 -> 40655 bytes
.../010-file-project-structure.png | Bin 0 -> 19261 bytes
.../200-project-sdk/020-select-jdk.png | Bin 0 -> 43375 bytes
.../030-select-jdk-directory.png | Bin 0 -> 20740 bytes
.../200-project-sdk/040-set-project-level.png | Bin 0 -> 40868 bytes
.../050-isis-language-level-7.png | Bin 0 -> 53883 bytes
.../060-app-language-level-8.png | Bin 0 -> 58257 bytes
.../250-new-project/010-new-project.png | Bin 0 -> 20564 bytes
.../250-new-project/020-new-project-name.png | Bin 0 -> 11273 bytes
.../030-new-project-new-window.png | Bin 0 -> 9785 bytes
.../040-new-module-from-existing-sources.png | Bin 0 -> 27953 bytes
.../050-specify-source-folder.png | Bin 0 -> 23884 bytes
.../250-new-project/060-import-using-maven.png | Bin 0 -> 11739 bytes
.../070-import-module-settings.png | Bin 0 -> 36175 bytes
.../250-new-project/080-maven-profiles.png | Bin 0 -> 9922 bytes
.../250-new-project/090-maven-coordinates.png | Bin 0 -> 13546 bytes
.../100-annotation-processing.png | Bin 0 -> 54602 bytes
.../250-new-project/110-parameter8.png | Bin 0 -> 41948 bytes
.../120-clean-generate-sources.png | Bin 0 -> 5988 bytes
.../010-configuring-the-compiler.png | Bin 0 -> 40826 bytes
.../run-debug-configuration-single-module.png | Bin 0 -> 44274 bytes
.../dg/resources/eclipse/isis-templates.xml | 465 +
.../dg/resources/eclipse/jmock2-templates.xml | 9 +
.../dg/resources/eclipse/junit4-templates.xml | 13 +
.../intellij/isis-settings-code-style.jar | Bin 0 -> 3512 bytes
.../intellij/isis-settings-file-templates.jar | Bin 0 -> 10702 bytes
.../intellij/isis-settings-live-templates.jar | Bin 0 -> 7492 bytes
.../intellij/other/dan-settings-keymaps.jar | Bin 0 -> 2200 bytes
.../intellij/other/dan-settings-uisettings.jar | Bin 0 -> 861 bytes
content/guides/rgant/rgant.html | 1239 +-
content/guides/rgant/rgant.pdf | 27509 ++-
content/guides/rgcfg/rgcfg.html | 126 +-
content/guides/rgcfg/rgcfg.pdf | 688 +-
content/guides/rgcms/rgcms.html | 655 +-
content/guides/rgcms/rgcms.pdf | 8400 +-
content/guides/rgfis/rgfis.html | 146 +-
content/guides/rgfis/rgfis.pdf | 1191 +-
content/guides/rgmvn/rgmvn.html | 34 +-
content/guides/rgmvn/rgmvn.pdf | 419 +-
content/guides/rgsvc/rgsvc.html | 1108 +-
content/guides/rgsvc/rgsvc.pdf | 8878 +-
.../action-semantics-are-you-sure.png | Bin 0 -> 11046 bytes
.../hints-and-tips/are-you-sure-happy-case.png | Bin 0 -> 9993 bytes
.../hints-and-tips/are-you-sure-sad-case.png | Bin 0 -> 10515 bytes
.../images/hints-and-tips/are-you-sure.png | Bin 0 -> 9312 bytes
content/guides/ugbtb/ugbtb.html | 3014 +-
content/guides/ugbtb/ugbtb.pdf | 79207 +++------
.../hexagonal-architecture-addons.png | Bin 0 -> 100666 bytes
.../programming-model/todoapp-Dashboard.png | Bin 0 -> 97504 bytes
.../images/reference-layout/layout-4-0-8-0.html | 198 -
.../reference-layout/layout-4-4-4-12.html | 205 -
.../reference-layout/layout-6-6-0-12.html | 203 -
content/guides/ugfun/ugfun.html | 8787 +-
content/guides/ugfun/ugfun.pdf | 139690 +++++++++-------
content/guides/ugodn/ugodn.html | 515 +-
content/guides/ugodn/ugodn.pdf | 28043 +++-
content/guides/ugsec/ugsec.html | 1105 +-
content/guides/ugsec/ugsec.pdf | 6365 +-
content/guides/ugtst/ugtst.html | 74 +-
content/guides/ugtst/ugtst.pdf | 882 +-
content/guides/ugvro/ugvro.html | 135 +-
content/guides/ugvro/ugvro.pdf | 4043 +-
.../ugvw/images/about-page/about-page.png | Bin 0 -> 59612 bytes
.../ugvw/images/application-menu/dividers.png | Bin 0 -> 22657 bytes
.../images/application-menu/layout-menus.pdn | Bin 0 -> 97348 bytes
.../images/application-menu/layout-menus.png | Bin 0 -> 50330 bytes
.../ugvw/images/application-menu/tertiary.png | Bin 0 -> 11491 bytes
.../010-attachment-field-940.png | Bin 0 -> 96945 bytes
.../blob-attachments/010-attachment-field.png | Bin 0 -> 111347 bytes
.../020-edit-choose-file-940.png | Bin 0 -> 98472 bytes
.../blob-attachments/020-edit-choose-file.png | Bin 0 -> 113234 bytes
.../030-choose-file-using-browser-520.png | Bin 0 -> 88615 bytes
.../030-choose-file-using-browser.png | Bin 0 -> 241045 bytes
.../040-edit-chosen-file-indicated-940.png | Bin 0 -> 98163 bytes
.../040-edit-chosen-file-indicated.png | Bin 0 -> 113800 bytes
.../050-ok-if-image-then-rendered-940.png | Bin 0 -> 129718 bytes
.../050-ok-if-image-then-rendered.png | Bin 0 -> 245863 bytes
.../blob-attachments/060-download-940.png | Bin 0 -> 138702 bytes
.../images/blob-attachments/060-download.png | Bin 0 -> 249736 bytes
.../blob-attachments/070-edit-clear-940.png | Bin 0 -> 99377 bytes
.../images/blob-attachments/070-edit-clear.png | Bin 0 -> 114433 bytes
.../ugvw/images/bookmarked-pages/panel-940.png | Bin 0 -> 99602 bytes
.../bookmarked-pages/panel-estatio-940.png | Bin 0 -> 136219 bytes
.../images/bookmarked-pages/panel-estatio.png | Bin 0 -> 172961 bytes
.../ugvw/images/bookmarked-pages/panel.png | Bin 0 -> 121632 bytes
.../images/brand-logo/brand-logo-signin.png | Bin 0 -> 40644 bytes
.../ugvw/images/brand-logo/brand-logo.png | Bin 0 -> 74471 bytes
.../copy-link/010-copy-link-button-940.png | Bin 0 -> 162348 bytes
.../images/copy-link/010-copy-link-button.png | Bin 0 -> 180619 bytes
.../copy-link/020-copy-link-dialog-940.png | Bin 0 -> 137995 bytes
.../images/copy-link/020-copy-link-dialog.png | Bin 0 -> 151995 bytes
.../ugvw/images/copy-link/030-hints-940.png | Bin 0 -> 152386 bytes
.../guides/ugvw/images/copy-link/030-hints.png | Bin 0 -> 170567 bytes
.../copy-link/040-copy-link-with-hints-940.png | Bin 0 -> 132720 bytes
.../copy-link/040-copy-link-with-hints.png | Bin 0 -> 156147 bytes
.../ugvw/images/copy-link/050-title-url-940.png | Bin 0 -> 143541 bytes
.../ugvw/images/copy-link/050-title-url.png | Bin 0 -> 105989 bytes
.../ugvw/images/embedded-view/no-footer.png | Bin 0 -> 72940 bytes
.../embedded-view/no-header-no-footer.png | Bin 0 -> 67630 bytes
.../ugvw/images/embedded-view/no-header.png | Bin 0 -> 70717 bytes
.../ugvw/images/embedded-view/regular.png | Bin 0 -> 76211 bytes
.../layout-dynamic-xml/ToDoAppDashboard.png | Bin 0 -> 124848 bytes
.../ugvw/images/layout-dynamic-xml/ToDoItem.png | Bin 0 -> 91690 bytes
.../ugvw/images/layouts/customer-order.png | Bin 0 -> 6026 bytes
.../ugvw/images/layouts/estatio-Invoice.png | Bin 0 -> 181572 bytes
.../ugvw/images/layouts/estatio-Lease.png | Bin 0 -> 261553 bytes
.../ugvw/images/layouts/estatio-LeaseItem.png | Bin 0 -> 162789 bytes
.../ugvw/images/layouts/todoapp-ToDoItem.png | Bin 0 -> 97649 bytes
.../images/recent-pages/recent-pages-940.png | Bin 0 -> 166966 bytes
.../ugvw/images/recent-pages/recent-pages.png | Bin 0 -> 186541 bytes
.../ugvw/images/reference-layout/4-0-8-0.png | Bin 0 -> 20662 bytes
.../ugvw/images/reference-layout/4-4-4-12.png | Bin 0 -> 21012 bytes
.../ugvw/images/reference-layout/6-6-0-12.png | Bin 0 -> 21100 bytes
.../isis-layout-show-facets.css | 3 +
.../images/reference-layout/isis-layout.css | 253 +
.../images/reference-layout/layout-4-0-8-0.html | 198 +
.../reference-layout/layout-4-4-4-12.html | 205 +
.../reference-layout/layout-6-6-0-12.html | 203 +
.../login-page-default.png | Bin 0 -> 11372 bytes
.../login-page-suppress-password-reset.png | Bin 0 -> 10615 bytes
.../suppress-remember-me/login-page-default.png | Bin 0 -> 11372 bytes
.../login-page-suppress-remember-me.png | Bin 0 -> 10935 bytes
.../suppress-sign-up/login-page-default.png | Bin 0 -> 11372 bytes
.../login-page-suppress-sign-up.png | Bin 0 -> 10273 bytes
.../ugvw/images/theme-chooser/example-1.png | Bin 0 -> 88088 bytes
.../ugvw/images/theme-chooser/example-2.png | Bin 0 -> 76430 bytes
.../user-registration/login-page-default.png | Bin 0 -> 11372 bytes
.../sign-up-after-registration.png | Bin 0 -> 45653 bytes
.../sign-up-email-with-verification-link.png | Bin 0 -> 11960 bytes
.../sign-up-login-page-after-sign-up.png | Bin 0 -> 13570 bytes
.../images/user-registration/sign-up-page.png | Bin 0 -> 8911 bytes
.../sign-up-registration-page.png | Bin 0 -> 11446 bytes
content/guides/ugvw/ugvw.html | 1906 +-
content/guides/ugvw/ugvw.pdf | 85848 +++++++---
content/migration-notes/migration-notes.html | 12 +-
.../pages/how-isis-works/how-isis-works.html | 2 +-
content/pages/powered-by/powered-by.html | 8 +-
content/pages/screencasts/screencasts.html | 36 +-
content/pages/tg/tg.html | 146 +-
content/release-notes/release-notes.html | 22 +-
204 files changed, 241161 insertions(+), 197095 deletions(-)
----------------------------------------------------------------------
[30/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/dg/dg.html
----------------------------------------------------------------------
diff --git a/content/guides/dg/dg.html b/content/guides/dg/dg.html
index 8eb783b..a07aaef 100644
--- a/content/guides/dg/dg.html
+++ b/content/guides/dg/dg.html
@@ -411,12 +411,12 @@
</div>
<div class="ulist">
<ul>
- <li> <p><a href="rgant.html">Annotations</a></p> </li>
- <li> <p><a href="rgsvc.html">Domain Services</a></p> </li>
- <li> <p><a href="rgcfg.html">Configuration Properties</a></p> </li>
- <li> <p><a href="rgcms.html">Classes, Methods and Schema</a></p> </li>
- <li> <p><a href="rgmvn.html">Apache Isis Maven plugin</a></p> </li>
- <li> <p><a href="rgfis.html">Framework Internal Services</a></p> </li>
+ <li> <p><a href="../rgant/rgant.html">Annotations</a></p> </li>
+ <li> <p><a href="../rgsvc/rgsvc.html">Domain Services</a></p> </li>
+ <li> <p><a href="../rgcfg/rgcfg.html">Configuration Properties</a></p> </li>
+ <li> <p><a href="../rgcms/rgcms.html">Classes, Methods and Schema</a></p> </li>
+ <li> <p><a href="../rgmvn/rgmvn.html">Apache Isis Maven plugin</a></p> </li>
+ <li> <p><a href="../rgfis/rgfis.html">Framework Internal Services</a></p> </li>
</ul>
</div>
<div class="paragraph">
@@ -436,7 +436,7 @@
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_ide.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
- <p>The vast majority of Java developers use an IDE to assist with developing their code, and we highly recommend that you do like wise as you develop your Apache Isis applications using an IDE. Apache Isis is built with Maven, and all modern IDEs can import Maven projects.</p>
+ <p>The vast majority of Java developers use an IDE to assist with developing their code, and we highly recommend that you do likewise as you develop your Apache Isis applications using an IDE. Apache Isis is built with Maven, and all modern IDEs can import Maven projects.</p>
</div>
<div class="paragraph">
<p>This chapter shows how to setup and use two of the most popular IDEs, IntelliJ IDEA and Eclipse.</p>
@@ -475,7 +475,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/010-installing/010-welcome-page.png" alt="010 welcome page" width="400px">
+ <img src="images/intellij-idea/010-installing/010-welcome-page.png" alt="010 welcome page" width="400px">
</div>
<div class="title">
Figure 1. IntelliJ Installation Wizard - Welcome page
@@ -486,7 +486,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/010-installing/020-choose-location.png" alt="020 choose location" width="400px">
+ <img src="images/intellij-idea/010-installing/020-choose-location.png" alt="020 choose location" width="400px">
</div>
<div class="title">
Figure 2. IntelliJ Installation Wizard - Choose Location
@@ -497,7 +497,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/010-installing/030-installation-options.png" alt="030 installation options" width="400px">
+ <img src="images/intellij-idea/010-installing/030-installation-options.png" alt="030 installation options" width="400px">
</div>
<div class="title">
Figure 3. IntelliJ Installation Wizard - Installation Options
@@ -508,7 +508,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/010-installing/040-start-menu-folder.png" alt="040 start menu folder" width="400px">
+ <img src="images/intellij-idea/010-installing/040-start-menu-folder.png" alt="040 start menu folder" width="400px">
</div>
<div class="title">
Figure 4. IntelliJ Installation Wizard - Start Menu Folder
@@ -519,7 +519,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/010-installing/050-completing.png" alt="050 completing" width="400px">
+ <img src="images/intellij-idea/010-installing/050-completing.png" alt="050 completing" width="400px">
</div>
<div class="title">
Figure 5. IntelliJ Installation Wizard - Completing the Wizard
@@ -530,7 +530,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/010-installing/060-import-settings-or-not.png" alt="060 import settings or not" width="400px">
+ <img src="images/intellij-idea/010-installing/060-import-settings-or-not.png" alt="060 import settings or not" width="400px">
</div>
<div class="title">
Figure 6. IntelliJ Installation Wizard - Import Settings
@@ -541,7 +541,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/010-installing/070-set-ui-theme.png" alt="070 set ui theme" width="600px">
+ <img src="images/intellij-idea/010-installing/070-set-ui-theme.png" alt="070 set ui theme" width="600px">
</div>
<div class="title">
Figure 7. IntelliJ Installation Wizard Set UI Theme
@@ -558,7 +558,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/020-create-new-project/010-new-project-create.png" alt="010 new project create" width="400px">
+ <img src="images/intellij-idea/020-create-new-project/010-new-project-create.png" alt="010 new project create" width="400px">
</div>
<div class="title">
Figure 8. IntelliJ Create New Project
@@ -569,7 +569,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png" alt="020 java project setup jdk" width="500px">
+ <img src="images/intellij-idea/020-create-new-project/020-java-project-setup-jdk.png" alt="020 java project setup jdk" width="500px">
</div>
<div class="title">
Figure 9. IntelliJ Create New Project - Create a Java project
@@ -580,7 +580,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/020-create-new-project/030-java-project-select-jdk.png" alt="030 java project select jdk" width="250px">
+ <img src="images/intellij-idea/020-create-new-project/030-java-project-select-jdk.png" alt="030 java project select jdk" width="250px">
</div>
<div class="title">
Figure 10. IntelliJ Create New Java Project - Select the JDK
@@ -591,7 +591,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/020-create-new-project/050-name-and-location.png" alt="050 name and location" width="400px">
+ <img src="images/intellij-idea/020-create-new-project/050-name-and-location.png" alt="050 name and location" width="400px">
</div>
<div class="title">
Figure 11. IntelliJ Create New Project - Select the JDK location
@@ -602,7 +602,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/020-create-new-project/060-create-dir.png" alt="060 create dir" width="250px">
+ <img src="images/intellij-idea/020-create-new-project/060-create-dir.png" alt="060 create dir" width="250px">
</div>
<div class="title">
Figure 12. IntelliJ Create New Project
@@ -616,21 +616,21 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/030-import-settings/040-file-templates.png" alt="040 file templates" width="400px">
+ <img src="images/intellij-idea/030-import-settings/040-file-templates.png" alt="040 file templates" width="400px">
</div>
<div class="title">
Figure 13. File templates
</div>
</div>
<div class="paragraph">
- <p>The file templates are provided as a settings JAR file, namely <strong><a href="resources/appendices/dev-env/intellij/isis-settings-file-templates.jar">isis-settings-file-templates.jar</a></strong>. Download this file.</p>
+ <p>The file templates are provided as a settings JAR file, namely <strong><a href="resources/intellij/isis-settings-file-templates.jar">isis-settings-file-templates.jar</a></strong>. Download this file.</p>
</div>
<div class="paragraph">
<p>Next, import using <code>File > Import Settings</code>, specifying the directory that you have downloaded the file to:</p>
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/030-import-settings/010-settings-import-jar.png" alt="010 settings import jar" width="400px">
+ <img src="images/intellij-idea/030-import-settings/010-settings-import-jar.png" alt="010 settings import jar" width="400px">
</div>
<div class="title">
Figure 14. IntelliJ Import Settings - Specify JAR file
@@ -670,7 +670,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/030-import-settings/050-live-templates.png" alt="050 live templates" width="600px">
+ <img src="images/intellij-idea/030-import-settings/050-live-templates.png" alt="050 live templates" width="600px">
</div>
<div class="title">
Figure 15. Live templates
@@ -684,17 +684,17 @@
<li> <p><code>is</code> : for Apache Isis domain objects</p> </li>
<li> <p><code>ju</code> : for JUnit tests</p> </li>
<li> <p><code>jm</code> : for JMock mocks or libraries</p> </li>
- <li> <p><code>ad</code> : for Asciidoc documentation; a full list can be found in the <a href="#_dg_asciidoc-templates">appendix</a>.</p> </li>
+ <li> <p><code>ad</code> : for Asciidoc documentation; a full list can be found in the <a href="../dg/dg.html#_dg_asciidoc-templates">appendix</a>.</p> </li>
</ul>
</div>
<div class="paragraph">
- <p>The live templates are also provided as a settings JAR file, namely <strong><a href="resources/appendices/dev-env/intellij/isis-settings-live-templates.jar">isis-settings-live-templates.jar</a></strong>. Download and import (as for the previous settings JAR files).</p>
+ <p>The live templates are also provided as a settings JAR file, namely <strong><a href="resources/intellij/isis-settings-live-templates.jar">isis-settings-live-templates.jar</a></strong>. Download and import (as for the previous settings JAR files).</p>
</div>
</div>
<div class="sect4">
<h5 id="__dg_ide_intellij_coding-standards">Coding Standards</h5>
<div class="paragraph">
- <p>Next, we suggest you recommend you import settings for standard ASF/Apache Isis coding conventions. This file is also provided as a settings file, namely <strong><a href="resources/appendices/dev-env/intellij/isis-settings-code-style.jar">isis-settings-code-style.jar</a></strong>. Download and import (as for the above settings JAR files).</p>
+ <p>Next, we suggest you recommend you import settings for standard ASF/Apache Isis coding conventions. This file is also provided as a settings file, namely <strong><a href="resources/intellij/isis-settings-code-style.jar">isis-settings-code-style.jar</a></strong>. Download and import (as for the above settings JAR files).</p>
</div>
</div>
<div class="sect4">
@@ -707,7 +707,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/040-other-settings-compiler/010-build-automatically.png" alt="010 build automatically" width="700px">
+ <img src="images/intellij-idea/040-other-settings-compiler/010-build-automatically.png" alt="010 build automatically" width="700px">
</div>
<div class="title">
Figure 16. IntelliJ Compiler Settings
@@ -718,14 +718,14 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/040-other-settings-compiler/020-annotation-processor.png" alt="020 annotation processor" width="700px">
+ <img src="images/intellij-idea/040-other-settings-compiler/020-annotation-processor.png" alt="020 annotation processor" width="700px">
</div>
<div class="title">
Figure 17. IntelliJ Annotation Processor Settings
</div>
</div>
<div class="paragraph">
- <p>This setting enables the generation of the <code>Q*</code> classes for DataNucleus type-safe queries, as well as being required for frameworks such as <a href="#_cg_ide_project-lombok">Project Lombok</a>.</p>
+ <p>This setting enables the generation of the <code>Q*</code> classes for DataNucleus type-safe queries, as well as being required for frameworks such as <a href="../cgcom/cgcom.html#_cgcom_ide_project-lombok">Project Lombok</a>.</p>
</div>
<div class="admonitionblock note">
<table>
@@ -751,7 +751,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/042-other-settings-maven/010-maven-installation.png" alt="010 maven installation" width="700px">
+ <img src="images/intellij-idea/042-other-settings-maven/010-maven-installation.png" alt="010 maven installation" width="700px">
</div>
<div class="title">
Figure 18. IntelliJ Maven Settings - Installation
@@ -762,7 +762,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/042-other-settings-maven/020-maven-configuration.png" alt="020 maven configuration" width="700px">
+ <img src="images/intellij-idea/042-other-settings-maven/020-maven-configuration.png" alt="020 maven configuration" width="700px">
</div>
<div class="title">
Figure 19. IntelliJ Maven Settings - Configuration
@@ -779,7 +779,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/044-other-settings-misc/010-auto-import.png" alt="010 auto import" width="700px">
+ <img src="images/intellij-idea/044-other-settings-misc/010-auto-import.png" alt="010 auto import" width="700px">
</div>
<div class="title">
Figure 20. IntelliJ Maven Settings - Auto Import
@@ -797,7 +797,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/010-maven-modules-view.png" alt="010 maven modules view" width="730px">
+ <img src="images/intellij-idea/100-maven-module-mgmt/010-maven-modules-view.png" alt="010 maven modules view" width="730px">
</div>
<div class="title">
Figure 21. IntelliJ Maven Module Management - Importing Maven modules
@@ -808,7 +808,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/020-adding-another-module.png" alt="020 adding another module" width="400px">
+ <img src="images/intellij-idea/100-maven-module-mgmt/020-adding-another-module.png" alt="020 adding another module" width="400px">
</div>
<div class="title">
Figure 22. IntelliJ Maven Module Management - Importing another Module
@@ -819,7 +819,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/030-other-module-added.png" alt="030 other module added" width="730px">
+ <img src="images/intellij-idea/100-maven-module-mgmt/030-other-module-added.png" alt="030 other module added" width="730px">
</div>
<div class="title">
Figure 23. IntelliJ Maven Module Management -
@@ -836,7 +836,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/040-ignoring-modules.png" alt="040 ignoring modules" width="730px">
+ <img src="images/intellij-idea/100-maven-module-mgmt/040-ignoring-modules.png" alt="040 ignoring modules" width="730px">
</div>
<div class="title">
Figure 24. IntelliJ Maven Module Management - Ignoring Modules
@@ -847,7 +847,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/050-ignoring-modules-2.png" alt="050 ignoring modules 2" width="300px">
+ <img src="images/intellij-idea/100-maven-module-mgmt/050-ignoring-modules-2.png" alt="050 ignoring modules 2" width="300px">
</div>
<div class="title">
Figure 25. IntelliJ Maven Module Management - Ignoring Modules (ctd)
@@ -858,7 +858,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/100-maven-module-mgmt/060-ignored-modules.png" alt="060 ignored modules" width="730px">
+ <img src="images/intellij-idea/100-maven-module-mgmt/060-ignored-modules.png" alt="060 ignored modules" width="730px">
</div>
<div class="title">
Figure 26. IntelliJ Maven Module Management - Updated Projects Window
@@ -880,7 +880,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/010-run-configuration.png" alt="010 run configuration" width="600px">
+ <img src="images/intellij-idea/110-running-the-app/010-run-configuration.png" alt="010 run configuration" width="600px">
</div>
<div class="title">
Figure 27. IntelliJ Running the App - Run Configuration
@@ -897,7 +897,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/020-datanucleus-enhancer-goal.png" alt="020 datanucleus enhancer goal" width="400px">
+ <img src="images/intellij-idea/110-running-the-app/020-datanucleus-enhancer-goal.png" alt="020 datanucleus enhancer goal" width="400px">
</div>
<div class="title">
Figure 28. IntelliJ Running the App - Datanucleus Enhancer Goal
@@ -927,7 +927,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/030-running-unit-tests.png" alt="030 running unit tests" width="600px">
+ <img src="images/intellij-idea/110-running-the-app/030-running-unit-tests.png" alt="030 running unit tests" width="600px">
</div>
<div class="title">
Figure 29. IntelliJ Running the App - Unit Tests Run Configuration
@@ -938,7 +938,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/040-running-unit-tests-run-configuration.png" alt="040 running unit tests run configuration" width="600px">
+ <img src="images/intellij-idea/110-running-the-app/040-running-unit-tests-run-configuration.png" alt="040 running unit tests run configuration" width="600px">
</div>
<div class="title">
Figure 30. IntelliJ Running the App - Unit Tests Run Configuration
@@ -958,7 +958,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/110-running-the-app/050-running-integration-tests-run-configuration.png" alt="050 running integration tests run configuration" width="600px">
+ <img src="images/intellij-idea/110-running-the-app/050-running-integration-tests-run-configuration.png" alt="050 running integration tests run configuration" width="600px">
</div>
<div class="title">
Figure 31. IntelliJ Running the App - Integration Tests Run Configuration
@@ -969,7 +969,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png"><img src="images/appendices/dev-env/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png" alt="run debug configuration single module" width="600px"></a>
+ <a class="image" href="images/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png"><img src="images/intellij-idea/400-running-integtests/run-debug-configuration-single-module.png" alt="run debug configuration single module" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1139,7 +1139,7 @@
</div>
<div class="imageblock">
<div class="content">
- <img src="images/appendices/dev-env/intellij-idea/050-some-plugins/020-some-plugins-confirmation.png" alt="020 some plugins confirmation" width="600px">
+ <img src="images/intellij-idea/050-some-plugins/020-some-plugins-confirmation.png" alt="020 some plugins confirmation" width="600px">
</div>
<div class="title">
Figure 32. IntelliJ Plugins
@@ -1155,7 +1155,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png"><img src="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png" alt="010 dependency tab" width="600px"></a>
+ <a class="image" href="images/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png"><img src="images/intellij-idea/050-some-plugins/maven-helper/010-dependency-tab.png" alt="010 dependency tab" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1163,7 +1163,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png"><img src="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png" alt="020 dependency as tree" width="600px"></a>
+ <a class="image" href="images/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png"><img src="images/intellij-idea/050-some-plugins/maven-helper/020-dependency-as-tree.png" alt="020 dependency as tree" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1171,7 +1171,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png"><img src="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png" alt="030 maven run goal" width="600px"></a>
+ <a class="image" href="images/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png"><img src="images/intellij-idea/050-some-plugins/maven-helper/030-maven-run-goal.png" alt="030 maven run goal" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1179,7 +1179,7 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png"><img src="images/appendices/dev-env/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png" alt="040 maven quick run" width="600px"></a>
+ <a class="image" href="images/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png"><img src="images/intellij-idea/050-some-plugins/maven-helper/040-maven-quick-run.png" alt="040 maven quick run" width="600px"></a>
</div>
</div>
</div>
@@ -1203,11 +1203,11 @@
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/060-troubleshooting/010-duplicate-classes.png"><img src="images/appendices/dev-env/intellij-idea/060-troubleshooting/010-duplicate-classes.png" alt="010 duplicate classes" width="600px"></a>
+ <a class="image" href="images/intellij-idea/060-troubleshooting/010-duplicate-classes.png"><img src="images/intellij-idea/060-troubleshooting/010-duplicate-classes.png" alt="010 duplicate classes" width="600px"></a>
</div>
</div>
<div class="paragraph">
- <p>then make sure you have correctly configured the <a href="#_cg_ide_intellij_other-settings-compiler">annotation processor</a> settings. Pay attention in particular to the "Production sources directory" and "Test sources directory", that these are set up correctly.</p>
+ <p>then make sure you have correctly configured the <a href="../dg/dg.html#_dg_ide_intellij_other-settings-compiler">annotation processor</a> settings. Pay attention in particular to the "Production sources directory" and "Test sources directory", that these are set up correctly.</p>
</div>
</div>
</div>
@@ -1219,7 +1219,7 @@
<div class="sect4">
<h5 id="__dg_ide_intellij_advanced_gradle-compile-enhance">Using Grade to compile/enhance</h5>
<div class="paragraph">
- <p>Running an Apache Isis application requires that the DataNucleus enhancer runs on the compiled bytecode. As described <a href="#__dg_ide_intellij_running_the-app">above</a>, the recommended way to do this with IntelliJ is to use a Run configuration that runs the enhancer goal prior to launch.</p>
+ <p>Running an Apache Isis application requires that the DataNucleus enhancer runs on the compiled bytecode. As described <a href="../dg/dg.html#__dg_ide_intellij_running_the-app">above</a>, the recommended way to do this with IntelliJ is to use a Run configuration that runs the enhancer goal prior to launch.</p>
</div>
<div class="paragraph">
<p>Alternative, you can use the following <code>build.gradle</code> script in your <code>dom</code> module:</p>
@@ -1267,7 +1267,7 @@ task copyClasses << {
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/002-compiler-exclude.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/002-compiler-exclude.png" alt="002 compiler exclude" width="800px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/002-compiler-exclude.png"><img src="images/intellij-idea/070-advanced/002-compiler-exclude.png" alt="002 compiler exclude" width="800px"></a>
</div>
</div>
<div class="paragraph">
@@ -1283,14 +1283,14 @@ task copyClasses << {
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/004-gradle-output.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/004-gradle-output.png" alt="004 gradle output" width="600px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/004-gradle-output.png"><img src="images/intellij-idea/070-advanced/004-gradle-output.png" alt="004 gradle output" width="600px"></a>
</div>
</div>
</div>
<div class="sect4">
<h5 id="__dg_ide_intellij_advanced_gradle-liveReload">Using Gradle for liveReload</h5>
<div class="paragraph">
- <p>Similarly, gradle can be run to reduce the turn-around time when tweaking the UI (defined by the <a href="ugfun.html#_ugfun_object-layout_dynamic_xml"><code>*.layout.xml</code></a> file for each domain class), when the app is running.</p>
+ <p>Similarly, gradle can be run to reduce the turn-around time when tweaking the UI (defined by the <a href="../ugvw/ugvw.html#_ugvw_layout_file-based"><code>*.layout.xml</code></a> file for each domain class), when the app is running.</p>
</div>
<div class="paragraph">
<p>The framework will automatically notice any changes to <code>.layout.xml</code> files, but these are read from the the classpath (the <code>target/classes</code> directory), not the source path. With IntelliJ these can be copied over manually by invoking <code>Run > Reload Changed Classes</code>. Once the browser is refreshed, the new layout will be rendered.</p>
@@ -1370,7 +1370,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/005-gradle-output.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/005-gradle-output.png" alt="005 gradle output" width="600px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/005-gradle-output.png"><img src="images/intellij-idea/070-advanced/005-gradle-output.png" alt="005 gradle output" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1389,7 +1389,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/006-livereload-js.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/006-livereload-js.png" alt="006 livereload js" width="800px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/006-livereload-js.png"><img src="images/intellij-idea/070-advanced/006-livereload-js.png" alt="006 livereload js" width="800px"></a>
</div>
</div>
</div>
@@ -1430,7 +1430,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png" alt="010 dcevm list of found jdk installations" width="600px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png"><img src="images/intellij-idea/070-advanced/010-dcevm-list-of-found-jdk-installations.png" alt="010 dcevm list of found jdk installations" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1438,7 +1438,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/020-dcevm-once-installed.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/020-dcevm-once-installed.png" alt="020 dcevm once installed" width="600px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/020-dcevm-once-installed.png"><img src="images/intellij-idea/070-advanced/020-dcevm-once-installed.png" alt="020 dcevm once installed" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1446,7 +1446,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png" alt="030 dcevm intellij project structure" width="600px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png"><img src="images/intellij-idea/070-advanced/030-dcevm-intellij-project-structure.png" alt="030 dcevm intellij project structure" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1454,7 +1454,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/intellij-idea/070-advanced/040-dcevm-run-configuration.png"><img src="images/appendices/dev-env/intellij-idea/070-advanced/040-dcevm-run-configuration.png" alt="040 dcevm run configuration" width="600px"></a>
+ <a class="image" href="images/intellij-idea/070-advanced/040-dcevm-run-configuration.png"><img src="images/intellij-idea/070-advanced/040-dcevm-run-configuration.png" alt="040 dcevm run configuration" width="600px"></a>
</div>
</div>
</div>
@@ -1510,13 +1510,13 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
<div class="sect3">
<h4 id="__dg_ide_eclipse_editor-templates">2.2.2. Editor Templates</h4>
<div class="paragraph">
- <p>We provide a set of editor templates. These are used to add new methods to existing classes. (These are equivalent to the <a href="#__dg_ide_intellij_live-templates">IntelliJ live templates</a>):</p>
+ <p>We provide a set of editor templates. These are used to add new methods to existing classes. (These are equivalent to the <a href="../dg/dg.html#__dg_ide_intellij_live-templates">IntelliJ live templates</a>):</p>
</div>
<div class="ulist">
<ul>
- <li> <p><code>is</code> (Apache Isis domain objects). <a href="./resources/appendices/dev-env/eclipse/isis-templates.xml">Download</a></p> </li>
- <li> <p><code>ju</code> (for JUnit tests) <a href="./resources/appendices/dev-env/eclipse/junit4-templates.xml">Download</a></p> </li>
- <li> <p><code>jm</code> (for JMock mocks or libraries) <a href="./resources/appendices/dev-env/eclipse/jmock2-templates.xml">Download</a></p> </li>
+ <li> <p><code>is</code> (Apache Isis domain objects). <a href="./resources/eclipse/isis-templates.xml">Download</a></p> </li>
+ <li> <p><code>ju</code> (for JUnit tests) <a href="./resources/eclipse/junit4-templates.xml">Download</a></p> </li>
+ <li> <p><code>jm</code> (for JMock mocks or libraries) <a href="./resources/eclipse/jmock2-templates.xml">Download</a></p> </li>
</ul>
</div>
<div class="paragraph">
@@ -1549,7 +1549,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/eclipse/eclipse-100-project-support.png"><img src="images/appendices/dev-env/eclipse/eclipse-100-project-support.png" alt="eclipse 100 project support" width="600px"></a>
+ <a class="image" href="images/eclipse/eclipse-100-project-support.png"><img src="images/eclipse/eclipse-100-project-support.png" alt="eclipse 100 project support" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1557,7 +1557,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images/appendices/dev-env/eclipse/eclipse-110-project-support.png"><img src="images/appendices/dev-env/eclipse/eclipse-110-project-support.png" alt="eclipse 110 project support" width="600px"></a>
+ <a class="image" href="images/eclipse/eclipse-110-project-support.png"><img src="images/eclipse/eclipse-110-project-support.png" alt="eclipse 110 project support" width="600px"></a>
</div>
</div>
<div class="sect4">
@@ -1566,14 +1566,14 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
<p>DataNucleus' enhancer uses the domain object model\u2019s own classpath to reference DataNucleus JARs. So, even though your domain objects are unlikely to depend on DataNucleus, these references must still be present.</p>
</div>
<div class="paragraph">
- <p>See the earlier section on <a href="ugfun.html#_ugfun_getting-started_datanucleus-enhancer">DataNucleus enhancer</a> for details of the contents of the <code>pom.xml</code>. Chances are it is already set up from running the <a href="ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
+ <p>See the earlier section on <a href="../ugfun/ugfun.html#_ugfun_getting-started_datanucleus-enhancer">DataNucleus enhancer</a> for details of the contents of the <code>pom.xml</code>. Chances are it is already set up from running the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
</div>
<div class="paragraph">
<p>Then, tell DataNucleus to use the project classpath:</p>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images//appendices/dev-env/eclipse/eclipse-010-windows-preferences.png"><img src="images//appendices/dev-env/eclipse/eclipse-010-windows-preferences.png" alt="eclipse 010 windows preferences" width="750px"></a>
+ <a class="image" href="images//appendices/dev-env/eclipse/eclipse-010-windows-preferences.png"><img src="images/eclipse/eclipse-010-windows-preferences.png" alt="eclipse 010 windows preferences" width="750px"></a>
</div>
</div>
<div class="paragraph">
@@ -1581,12 +1581,12 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images//appendices/dev-env/eclipse/eclipse-120-console.png"><img src="images//appendices/dev-env/eclipse/eclipse-120-console.png" alt="eclipse 120 console" width="500px"></a>
+ <a class="image" href="images//appendices/dev-env/eclipse/eclipse-120-console.png"><img src="images/eclipse/eclipse-120-console.png" alt="eclipse 120 console" width="500px"></a>
</div>
</div>
</div>
<div class="sect4">
- <h5 id="_workaround_for_path_limits_the_dn_plugin_to_use_the_persistence_xml">Workaround for path limits (the DN plugin to use the persistence.xml)</h5>
+ <h5 id="__dg_ide_eclipse_workaround-for-path-limits">Workaround for path limits (the DN plugin to use the persistence.xml)</h5>
<div class="paragraph">
<p>If running on Windows then the DataNucleus plugin is very likely to hit the Windows path limit.</p>
</div>
@@ -1598,7 +1598,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images//appendices/dev-env/eclipse/eclipse-025-project-properties.png"><img src="images//appendices/dev-env/eclipse/eclipse-025-project-properties.png" alt="eclipse 025 project properties" width="750px"></a>
+ <a class="image" href="images//appendices/dev-env/eclipse/eclipse-025-project-properties.png"><img src="images/eclipse/eclipse-025-project-properties.png" alt="eclipse 025 project properties" width="750px"></a>
</div>
</div>
</div>
@@ -1609,7 +1609,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images//appendices/dev-env/eclipse/eclipse-210-enhancer-fails-duplicates.png"><img src="images//appendices/dev-env/eclipse/eclipse-210-enhancer-fails-duplicates.png" alt="eclipse 210 enhancer fails duplicates" width="600px"></a>
+ <a class="image" href="images//appendices/dev-env/eclipse/eclipse-210-enhancer-fails-duplicates.png"><img src="images/eclipse/eclipse-210-enhancer-fails-duplicates.png" alt="eclipse 210 enhancer fails duplicates" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1617,7 +1617,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images//appendices/dev-env/eclipse/eclipse-200-enhancer-fails-duplicates.png"><img src="images//appendices/dev-env/eclipse/eclipse-200-enhancer-fails-duplicates.png" alt="eclipse 200 enhancer fails duplicates" width="600px"></a>
+ <a class="image" href="images//appendices/dev-env/eclipse/eclipse-200-enhancer-fails-duplicates.png"><img src="images/eclipse/eclipse-200-enhancer-fails-duplicates.png" alt="eclipse 200 enhancer fails duplicates" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1625,7 +1625,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
<div class="imageblock">
<div class="content">
- <a class="image" href="images//appendices/dev-env/eclipse/eclipse-220-enhancer-fails-duplicates.png"><img src="images//appendices/dev-env/eclipse/eclipse-220-enhancer-fails-duplicates.png" alt="eclipse 220 enhancer fails duplicates" width="600px"></a>
+ <a class="image" href="images//appendices/dev-env/eclipse/eclipse-220-enhancer-fails-duplicates.png"><img src="images/eclipse/eclipse-220-enhancer-fails-duplicates.png" alt="eclipse 220 enhancer fails duplicates" width="600px"></a>
</div>
</div>
<div class="paragraph">
@@ -1684,7 +1684,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
<p>Changing persisting domain entities is more problematic, for two reasons: the JDO/DataNucleus enhancer needs to run on domain entities, and also at runtime JDO/DataNucleus would need to rebuild its own metamodel. You may find that adding actions will work, but adding new properties or collections is much less likely to.</p>
</div>
<div class="paragraph">
- <p>For details of setting up DCEVM, see the <a href="#__dg_ide_intellij_advanced_dcevm">corresponding section</a> in the IntelliJ documentation.</p>
+ <p>For details of setting up DCEVM, see the <a href="../dg/dg.html#__dg_ide_intellij_advanced_dcevm">corresponding section</a> in the IntelliJ documentation.</p>
</div>
</div>
</div>
@@ -1692,16 +1692,143 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_dg_building-isis">3. Building Apache Isis</h2>
+ <h2 id="_dg_hints-and-tips">3. Hints and Tips</h2>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="sectionbody">
+ <div class="paragraph">
+ <p>This chapter provides some solutions for problems we\u2019ve encountered ourselves or have been raised on the Apache Isis mailing lists.</p>
+ </div>
+ <div class="paragraph">
+ <p>See also hints-n-tips chapters in the:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>the <a href="../dg/dg.html#_dg_hints-and-tips">Developers'</a> guide (this chapter)</p> </li>
+ <li> <p>the <a href="../ugvw/ugvw.html#_ugvw_hints-and-tips">Wicket viewer</a> guide</p> </li>
+ <li> <p>the <a href="../ugvro/ugvro.html#_ugvro_hints-and-tips">Restful Objects viewer</a> guide</p> </li>
+ <li> <p>the <a href="../ugodn/ugodn.html#_ugodn_hints-and-tips">Datanucleus ObjectStore</a> guide</p> </li>
+ <li> <p>the <a href="../ugsec/ugsec.html#_ugsec_hints-and-tips">Security</a> guide</p> </li>
+ <li> <p>the <a href="../ugbtb/ugbtb.html#_ugbtb_hints-and-tips">Beyond the Basics</a> guide.</p> </li>
+ </ul>
+ </div>
+ <div class="sect2">
+ <h3 id="_dg_hints-and-tips_enabling-logging">3.1. Enabling Logging</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips_enabling-logging.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>Sometimes you just need to see what is going on. There are various ways in which logging can be enabled, here are the ones we tend to use.</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>In Apache Isis<br></p>
+ <div class="paragraph">
+ <p>Modify <code>WEB-INF/logging.properties</code> (a log4j config file)</p>
+ </div> </li>
+ <li> <p>In DataNucleus<br></p>
+ <div class="paragraph">
+ <p>As per the <a href="http://www.datanucleus.org/products/accessplatform/logging.html">DN logging page</a></p>
+ </div> </li>
+ <li> <p>In the JDBC Driver<br></p>
+ <div class="paragraph">
+ <p>Configure <code>log4jdbc</code> JDBC rather than the vanilla driver (see <code>WEB-INF/persistor_datanucleus.properties</code>) and configure log4j logging (see <code>WEB-INF/logging.properties</code>). There are examples of both in the <a href="../ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
+ </div> </li>
+ <li> <p>In the database<br></p>
+ <div class="paragraph">
+ <p>Details below.</p>
+ </div> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>Database logging can be configured:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>for HSQLDB<br></p>
+ <div class="paragraph">
+ <p>by adding`;sqllog=3` to the end of the JDBC URL.</p>
+ </div> </li>
+ <li> <p>for PostgreSQL:<br></p>
+ <div class="paragraph">
+ <p>Can change <code>postgresql\9.2\data\postgresql.conf</code>; see <a href="http://www.postgresql.org/docs/9.2/static/runtime-config-logging.html">this article</a> for details.</p>
+ </div> </li>
+ <li> <p>for MS SQL Server Logging:<br></p>
+ <div class="paragraph">
+ <p>We like to use the excellent SQL Profiler tool.</p>
+ </div> </li>
+ </ul>
+ </div>
+ </div>
+ <div class="sect2">
+ <h3 id="_dg_hints-and-tips_enhance-only">3.2. Enhance only (IntelliJ)</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips_enhance-only.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>From the Apache Isis mailing list is:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p><em>Is there a simple way to make a run configuration in IntelliJ for running the datanucleus enhancer before running integration test?</em></p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>Yes, you can; here\u2019s one way:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p>Duplicate your run configuration for running the webapp</p>
+ <div class="ulist">
+ <ul>
+ <li> <p>the one where the main class is <code>org.apache.isis.WebServer</code></p> </li>
+ <li> <p>there\u2019s a button for this on the run configurations dialog.</p> </li>
+ </ul>
+ </div> </li>
+ <li> <p>then, on your copy change the main class to <code>org.apache.isis.Dummy</code></p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>Or, you could just write a small shell script and run from the command line:</p>
+ </div>
+ <div class="listingblock">
+ <div class="title">
+ enhance.sh
+ </div>
+ <div class="content">
+ <pre class="CodeRay highlight"><code data-lang="bash">mvn -pl dom datanucleus:enhance -o</code></pre>
+ </div>
+ </div>
+ </div>
+ <div class="sect2">
+ <h3 id="_dg_hints-and-tips_how-run-fixtures-on-app-startup">3.3. How run fixtures on startup?</h3>
+ <button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_hints-and-tips_how-run-fixtures-on-app-startup.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
+ <div class="paragraph">
+ <p>From this <a href="http://isis.markmail.org/thread/g6amfj2eyf2xfjbr">thread</a> on the Apache Isis users mailing list:</p>
+ </div>
+ <div class="ulist">
+ <ul>
+ <li> <p><em>my fixtures have grown into a couple of files the application needs to read in when it starts the first time (and possibly later on when the files content change). What is the right way to do this? Hook up into the webapp start? Use events?</em></p> </li>
+ </ul>
+ </div>
+ <div class="paragraph">
+ <p>The standard approach is to use <a href="../ugtst/ugtst.html#_ugtst_fixture-scripts">fixture scripts</a>. These can be run in on start-up typically by being specified in the <a href="rgcsm.html#_rgcsm_classes_AppManifest-bootstrapping"><code>AppManifest</code></a>, see for example the <a href="ug.html#_ug_getting-started_simpleapp-archetype">SimpleApp archetype</a>.</p>
+ </div>
+ <div class="paragraph">
+ <p>Alternatively just set "isis.fixtures" and "isis.persistor.datanucleus.install-fixtures" properties.</p>
+ </div>
+ <div class="paragraph">
+ <p>In terms of implementations, you might also want to check out the (non-ASF) <a href="http://github.com/isisaddons/isis-module-excel">Isis addons' excel</a> module, by using <a href="https://github.com/isisaddons/isis-module-excel/blob/master/dom/src/main/java/org/isisaddons/module/excel/dom/ExcelFixture.java"><code>ExcelFixture</code></a> and overriding <code>ExcelFixtureRowHandler</code> (same package). An example can be found in this (non ASF) <a href="https://github.com/incodehq/contactapp">contactapp</a>, see <a href="https://github.com/incodehq/contactapp/blob/master/backend/fixture/src/main/java/domainapp/fixture/scenarios/demo/ContactRowHandler.java"><code>ContactRowHandler</code></a>.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="sect1">
+ <h2 id="_dg_building-isis">4. Building Apache Isis</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_building-isis.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="sect2">
- <h3 id="__dg_building-isis_git">3.1. Git</h3>
+ <h3 id="__dg_building-isis_git">4.1. Git</h3>
<div class="paragraph">
<p>The Apache Isis source code lives in a git repo.</p>
</div>
<div class="sect3">
- <h4 id="__dg_building-isis_git_installation">3.1.1. Installation</h4>
+ <h4 id="__dg_building-isis_git_installation">4.1.1. Installation</h4>
<div class="paragraph">
<p>The easiest place to get hold of command-line git is probably the <a href="http://git-scm.com/downloads">github download page</a>.</p>
</div>
@@ -1742,7 +1869,7 @@ gradle -t --offline -b liveReload.gradle &</code></pre>
</div>
</div>
<div class="paragraph">
- <p>If you are <strong>not a committer</strong>, please see the <a href="#_dg_contributing">contributing</a> page for details on which repo to clone from.</p>
+ <p>If you are <strong>not a committer</strong>, please see the <a href="../dg/dg.html#_dg_contributing">contributing</a> page for details on which repo to clone from.</p>
</div>
</div>
<div class="sect4">
@@ -1809,7 +1936,7 @@ git config user.email <i>myusername@apache.org</i></code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="__dg_building-isis_git_getting-help">3.1.2. Getting help</h4>
+ <h4 id="__dg_building-isis_git_getting-help">4.1.2. Getting help</h4>
<div class="paragraph">
<p>Three commands of git that in particular worth knowing:</p>
</div>
@@ -1845,12 +1972,12 @@ git config user.email <i>myusername@apache.org</i></code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__dg_building-isis_installing-java">3.2. Installing Java</h3>
+ <h3 id="__dg_building-isis_installing-java">4.2. Installing Java</h3>
<div class="paragraph">
<p>Apache Isis is compatible with Java 7 and Java 8. For every-day use, the framework is usually compiled against Java 8.</p>
</div>
<div class="paragraph">
- <p>Releases however are <a href="#_cgcom_cutting-a-release">cut</a> using Java 7, leveraging the <a href="http://maven.apache.org/plugins/maven-toolchains-plugin/">Maven toolchains plugin</a>).</p>
+ <p>Releases however are <a href="../cgcom/cgcom.html#_cgcom_cutting-a-release">cut</a> using Java 7, leveraging the <a href="http://maven.apache.org/plugins/maven-toolchains-plugin/">Maven toolchains plugin</a>).</p>
</div>
<div class="paragraph">
<p>Therefore install either/both of Java 7 JDK and Java 8 JDK. Note that the JRE is <em>not</em> sufficient.</p>
@@ -1869,7 +1996,7 @@ git config user.email <i>myusername@apache.org</i></code></pre>
</table>
</div>
<div class="sect3">
- <h4 id="__dg_building-isis_configure-maven-toolchains-plugin">3.2.1. Configure Maven toolchains plugin</h4>
+ <h4 id="__dg_building-isis_configure-maven-toolchains-plugin">4.2.1. Configure Maven toolchains plugin</h4>
<div class="paragraph">
<p>If you are a committer that will be performing releases of Apache Isis, then you <em>must</em> configure the <a href="http://maven.apache.org/plugins/maven-toolchains-plugin/">toolchains</a> plugin so that releases can be built using Java 7.</p>
</div>
@@ -1921,7 +2048,7 @@ git config user.email <i>myusername@apache.org</i></code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__dg_building-isis_installing-maven">3.3. Installing Maven</h3>
+ <h3 id="__dg_building-isis_installing-maven">4.3. Installing Maven</h3>
<div class="paragraph">
<p>Install Maven 3.0.x, downloadable <a href="http://maven.apache.org/download.html">here</a>.</p>
</div>
@@ -1948,7 +2075,7 @@ git config user.email <i>myusername@apache.org</i></code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__dg_building-isis_building-all-of-apache-isis">3.4. Building all of Apache Isis</h3>
+ <h3 id="__dg_building-isis_building-all-of-apache-isis">4.4. Building all of Apache Isis</h3>
<div class="paragraph">
<p>To build the source code from the command line, simply go to the root directory and type:</p>
</div>
@@ -1977,7 +2104,7 @@ mvn clean install -o -T1C</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__dg_building-isis_checking-for-vulnerabilities">3.5. Checking for Vulnerabilities</h3>
+ <h3 id="__dg_building-isis_checking-for-vulnerabilities">4.5. Checking for Vulnerabilities</h3>
<div class="paragraph">
<p>Apache Isis configures the <a href="https://www.owasp.org/index.php/Main_Page">OWASP</a> <a href="https://www.owasp.org/index.php/OWASP_Dependency_Check">dependency check</a> <a href="http://jeremylong.github.io/DependencyCheck/dependency-check-maven/index.html">Maven plugin</a> to determine whether the framework uses libraries that are known to have security vulnerabilities.</p>
</div>
@@ -2010,7 +2137,7 @@ mvn clean install -o -T1C</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="__dg_building-isis_checking-for-use-of-internal-jdk-apis">3.6. Checking for use of internal JDK APIs</h3>
+ <h3 id="__dg_building-isis_checking-for-use-of-internal-jdk-apis">4.6. Checking for use of internal JDK APIs</h3>
<div class="paragraph">
<p>Apache Isis configures the <a href="https://maven.apache.org/plugins-archives/maven-jdeps-plugin-3.0.0/">jdeps maven plugin</a> to check for any usage of internal JDK APIs. This is in preparation for Java 9 module system (Jigsaw) which will prevent such usage of APIs.</p>
</div>
@@ -2042,7 +2169,7 @@ mvn clean install -o -T1C</code></pre>
</div>
</div>
<div class="sect1">
- <h2 id="_dg_asciidoc">4. AsciiDoc Documentation</h2>
+ <h2 id="_dg_asciidoc">5. AsciiDoc Documentation</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -2052,19 +2179,19 @@ mvn clean install -o -T1C</code></pre>
<p>The website and guides are created by running build tools (documented below) which create the HTML version of the site and guides. You can therefore easily check the documentation before raising a pull request (as a contributor) or publishing the site (if a committer).</p>
</div>
<div class="paragraph">
- <p>To help write the Asciidoc text itself, we provide some <a href="#_dg_asciidoc-templates">Asciidoc templates</a>.</p>
+ <p>To help write the Asciidoc text itself, we provide some <a href="../dg/dg.html#_dg_asciidoc-templates">Asciidoc templates</a>.</p>
</div>
<div class="paragraph">
- <p>Publishing is performed by copying the generated HTML to a different git repository (<a href="https://git-wip-us.apache.org/repos/asf?p=isis-site.git">isis-site</a>). Since this can only be done by Apache Isis committers, the process for doing this is described in the <a href="cgcom.html#_cgcom_asciidoc-publish-procedure">committers' guide</a>. This is synced by ASF infrastructure over to <a href="http://isis.apache.org">isis.apache.org</a>.</p>
+ <p>Publishing is performed by copying the generated HTML to a different git repository (<a href="https://git-wip-us.apache.org/repos/asf?p=isis-site.git">isis-site</a>). Since this can only be done by Apache Isis committers, the process for doing this is described in the <a href="../cgcom/cgcom.html#_cgcom_asciidoc-publish-procedure">committers' guide</a>. This is synced by ASF infrastructure over to <a href="http://isis.apache.org">isis.apache.org</a>.</p>
</div>
<div class="sect2">
- <h3 id="_where_to_find_the_docs">4.1. Where to find the Docs</h3>
+ <h3 id="_where_to_find_the_docs">5.1. Where to find the Docs</h3>
<div class="paragraph">
<p>The (Asciidoc) source code can be found at <code>adocs/documentation</code> (relative to root). Online you\u2019ll find it <a href="https://github.com/apache/isis/tree/master/adocs/documentation">cloned to github here</a>.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_dg_asciidoc_naming-conventions">4.2. Naming Conventions</h3>
+ <h3 id="_dg_asciidoc_naming-conventions">5.2. Naming Conventions</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc_naming-conventions.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>For documents with inclusions, use '_' to separate out the logical hierarchy:</p>
@@ -2104,17 +2231,17 @@ mvn clean install -o -T1C</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_dg_asciidoc_writing-the-docs">4.3. Writing the docs</h3>
+ <h3 id="_dg_asciidoc_writing-the-docs">5.3. Writing the docs</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc_writing-the-docs.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>We highly recommend that you install the (IntelliJ) live templates for Asciidoctor, as described in <a href="#__dg_ide_intellij_live-templates">IDE templates</a>. These provide a large number of helper templates.</p>
+ <p>We highly recommend that you install the (IntelliJ) live templates for Asciidoctor, as described in <a href="../dg/dg.html#__dg_ide_intellij_live-templates">IDE templates</a>. These provide a large number of helper templates.</p>
</div>
<div class="paragraph">
- <p>An <a href="#_dg_appendix_asciidoc-templates">appendix</a> lists all the templates available, demonstrating their intended usage and output.</p>
+ <p>An <a href="../dg/dg.html#_dg_appendix_asciidoc-templates">appendix</a> lists all the templates available, demonstrating their intended usage and output.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_dg_asciidoc_build-and-review">4.4. Build and Review (using Maven)</h3>
+ <h3 id="_dg_asciidoc_build-and-review">5.4. Build and Review (using Maven)</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc_build-and-review.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>To (re)build the documentation locally prior to release, change into the <code>adocs/documentation</code> directory and use:</p>
@@ -2132,13 +2259,13 @@ mvn clean install -o -T1C</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_dg_asciidoc_instant-rebuild">4.5. Instant Rebuild (using Ruby)</h3>
+ <h3 id="_dg_asciidoc_instant-rebuild">5.5. Instant Rebuild (using Ruby)</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc_instant-rebuild.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
<p>The ruby script, <code>monitor.rb</code> emulates the <code>mvn compile</code> command, regenerating any changed Asciidoctor files to the relevant <code>target/site</code> directory. Moreover if any included files are changed then it rebuilds the parent (per the above naming convention).</p>
</div>
<div class="sect3">
- <h4 id="_one_time_setup">4.5.1. One-time setup</h4>
+ <h4 id="_one_time_setup">5.5.1. One-time setup</h4>
<div class="paragraph">
<p>To setup:</p>
</div>
@@ -2172,7 +2299,7 @@ bundle install</code></pre>
</div>
</div>
<div class="sect3">
- <h4 id="_instant_rebuild">4.5.2. Instant Rebuild</h4>
+ <h4 id="_instant_rebuild">5.5.2. Instant Rebuild</h4>
<div class="paragraph">
<p>To run, we typically just use:</p>
</div>
@@ -2195,26 +2322,26 @@ bundle install</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_dg_asciidoc_publish-procedure">4.6. Publish procedure</h3>
+ <h3 id="_dg_asciidoc_publish-procedure">5.6. Publish procedure</h3>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_asciidoc_publish-procedure.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="paragraph">
- <p>Only Apache Isis committers can publish to <a href="http://isis.apache.org">isis.apache.org</a>. See the <a href="cgcom.html#_cgcom_publishing-the-docs">committers' guide</a> for further details.</p>
+ <p>Only Apache Isis committers can publish to <a href="http://isis.apache.org">isis.apache.org</a>. See the <a href="../cgcom/cgcom.html#_cgcom_publishing-the-docs">committers' guide</a> for further details.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
- <h2 id="_dg_contributing">5. Contributing</h2>
+ <h2 id="_dg_contributing">6. Contributing</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_contributing.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
- <p>This page explains how you can contribute to Apache Isis. You\u2019ll probably also want <a href="#_dg_ide">set up your IDE</a> and learn <a href="#_dg_building-isis">how to build Apache Isis</a>.</p>
+ <p>This page explains how you can contribute to Apache Isis. You\u2019ll probably also want <a href="../dg/dg.html#_dg_ide">set up your IDE</a> and learn <a href="../dg/dg.html#_dg_building-isis">how to build Apache Isis</a>.</p>
</div>
<div class="paragraph">
<p>Thanks for considering to help out, your contributions are appreciated!</p>
</div>
<div class="sect2">
- <h3 id="_recommended_workflow_github">5.1. Recommended Workflow (github)</h3>
+ <h3 id="_recommended_workflow_github">6.1. Recommended Workflow (github)</h3>
<div class="paragraph">
<p>Apache Isis' source code is hosted in an Apache git repo (<a href="https://git-wip-us.apache.org/repos/asf/isis.git">https</a>, <a href="http://git-wip-us.apache.org/repos/asf/isis.git">http</a>), with a clone on github (<a href="https://github.com/apache/isis.git">https</a>, or ssh: <code>git@github.com:apache/isis.git</code>.</p>
</div>
@@ -2250,7 +2377,7 @@ bundle install</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_alternative_workflow_jira_patches">5.2. Alternative Workflow (JIRA patches)</h3>
+ <h3 id="_alternative_workflow_jira_patches">6.2. Alternative Workflow (JIRA patches)</h3>
<div class="paragraph">
<p>As an alternative, you may decide to clone directly from <a href="https://github.com/apache/isis.git">github.com/apache/isis</a> rather than create your own fork:</p>
</div>
@@ -2267,7 +2394,7 @@ bundle install</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_setting_up_your_fork_clone">5.3. Setting up your fork/clone</h3>
+ <h3 id="_setting_up_your_fork_clone">6.3. Setting up your fork/clone</h3>
<div class="paragraph">
<p>If you choose to create your own fork then you\u2019ll need an account on <a href="https://github.com">github.com</a>. You then fork simply by pressing the "Fork" button:</p>
</div>
@@ -2312,7 +2439,7 @@ bundle install</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_commit_messages">5.4. Commit messages</h3>
+ <h3 id="_commit_messages">6.4. Commit messages</h3>
<div class="paragraph">
<p>Although with git your commits are always performed on your local repo, those commit messages become public when the patch is applied by an Apache Isis committer. You should take time to write a meaningful commit message that helps explain what the patch refers to; if you don\u2019t then there\u2019s a chance that your patch may be rejected and not applied. No-one likes hard work to go to waste!</p>
</div>
@@ -2339,7 +2466,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect2">
- <h3 id="_creating_the_patch_file">5.5. Creating the patch file</h3>
+ <h3 id="_creating_the_patch_file">6.5. Creating the patch file</h3>
<div class="paragraph">
<p>If you are working without a github fork of Apache Isis, then you can create the patches from your own local git repository.</p>
</div>
@@ -2356,12 +2483,12 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect2">
- <h3 id="_sample_contribution_workflow">5.6. Sample Contribution Workflow</h3>
+ <h3 id="_sample_contribution_workflow">6.6. Sample Contribution Workflow</h3>
<div class="paragraph">
<p>Assuming you\u2019re development environment is all setup, let\u2019s walk through how you might make contribute a patch. In this example, suppose that you\u2019ve decided to work on JIRA ticket #123, an enhancement to support Blob/Clob datatypes.</p>
</div>
<div class="sect3">
- <h4 id="_update_your_master_branch">5.6.1. Update your master branch</h4>
+ <h4 id="_update_your_master_branch">6.6.1. Update your master branch</h4>
<div class="paragraph">
<p>The first thing to do is to make sure your local clone is up-to-date. We do this by retrieving new commits from upstream repo and then merging them as a fast-forward into your local branch.</p>
</div>
@@ -2376,7 +2503,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect3">
- <h4 id="_create_a_topic_branch">5.6.2. Create a topic branch</h4>
+ <h4 id="_create_a_topic_branch">6.6.2. Create a topic branch</h4>
<div class="paragraph">
<p>We recommend you name topic branches by the JIRA ticket, ie <tt>ISIS-nnn-description</tt>. So let\u2019s create a new branch based off <code>master</code> and call it "ISIS-123-blobs"</p>
</div>
@@ -2393,9 +2520,9 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect3">
- <h4 id="_make_file_changes_and_commit">5.6.3. Make File Changes and Commit</h4>
+ <h4 id="_make_file_changes_and_commit">6.6.3. Make File Changes and Commit</h4>
<div class="paragraph">
- <p>Next, make changes to your files using the usual commands (see also our <a href="#_dg_git-cookbook">git cookbook</a> section):</p>
+ <p>Next, make changes to your files using the usual commands (see also our <a href="../dg/dg.html#_dg_git-cookbook">git cookbook</a> section):</p>
</div>
<div class="ulist">
<ul>
@@ -2414,7 +2541,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect3">
- <h4 id="_rebasing_with_code_master_code">5.6.4. Rebasing with <code>master</code></h4>
+ <h4 id="_rebasing_with_code_master_code">6.6.4. Rebasing with <code>master</code></h4>
<div class="paragraph">
<p>Before you can share your change, you should rebase (in other words replay) your changes on top of the <code>master</code> branch.</p>
</div>
@@ -2438,7 +2565,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect3">
- <h4 id="_raising_a_pull_request">5.6.5. Raising a pull request</h4>
+ <h4 id="_raising_a_pull_request">6.6.5. Raising a pull request</h4>
<div class="paragraph">
<p>If you have your own fork, you can now simply push the changes you\u2019ve made locally to your fork:</p>
</div>
@@ -2462,7 +2589,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect2">
- <h3 id="_if_your_pull_request_is_accepted">5.7. If your pull request is accepted</h3>
+ <h3 id="_if_your_pull_request_is_accepted">6.7. If your pull request is accepted</h3>
<div class="paragraph">
<p>To double check that your pull request is accepted, update your <code>master</code> branch from the <code>upstream</code> remote:</p>
</div>
@@ -2476,7 +2603,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
<p>Finally, you might want to push the latest changes in master back up to your github fork. If so, use:</p>
</div>
<div class="sect3">
- <h4 id="_if_your_pull_request_is_rejected">5.7.1. If your pull request is rejected</h4>
+ <h4 id="_if_your_pull_request_is_rejected">6.7.1. If your pull request is rejected</h4>
<div class="paragraph">
<p>If your pull request is rejected, then you\u2019ll need to update your branch from the main repository and then address the rejection reason.</p>
</div>
@@ -2499,7 +2626,7 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
</div>
<div class="sect1">
- <h2 id="_dg_git-cookbook">6. Appendix: Git Cookbook</h2>
+ <h2 id="_dg_git-cookbook">7. Appendix: Git Cookbook</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_git-cookbook.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
@@ -2507,13 +2634,13 @@ why this is a problem, and how the patch fixes the problem when applied.</code><
</div>
<div class="ulist">
<ul>
- <li> <p><a href="#_dg_building-isis">building Apache Isis</a></p> </li>
- <li> <p><a href="#_dg_contributing">Contributing</a></p> </li>
- <li> <p><a href="#_cgcom_policies_git-policy">Git policy</a></p> </li>
+ <li> <p><a href="../dg/dg.html#_dg_building-isis">building Apache Isis</a></p> </li>
+ <li> <p><a href="../dg/dg.html#_dg_contributing">Contributing</a></p> </li>
+ <li> <p><a href="../dg/dg.html#_cgcom_policies_git-policy">Git policy</a></p> </li>
</ul>
</div>
<div class="sect2">
- <h3 id="_modifying_existing_files">6.1. Modifying existing files</h3>
+ <h3 id="_modifying_existing_files">7.1. Modifying existing files</h3>
<div class="paragraph">
<p>To modify existing files:</p>
</div>
@@ -2539,7 +2666,7 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_adding_new_files">6.2. Adding new files</h3>
+ <h3 id="_adding_new_files">7.2. Adding new files</h3>
<div class="paragraph">
<p>To add a new file:</p>
</div>
@@ -2554,7 +2681,7 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_deleting_files">6.3. Deleting files</h3>
+ <h3 id="_deleting_files">7.3. Deleting files</h3>
<div class="paragraph">
<p>To delete a file:</p>
</div>
@@ -2566,7 +2693,7 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_renaming_or_moving_files">6.4. Renaming or moving files</h3>
+ <h3 id="_renaming_or_moving_files">7.4. Renaming or moving files</h3>
<div class="paragraph">
<p>To rename or move a file:</p>
</div>
@@ -2578,13 +2705,13 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_common_workflows">6.5. Common Workflows</h3>
+ <h3 id="_common_workflows">7.5. Common Workflows</h3>
<div class="paragraph">
- <p>The <a href="#_dg_contributing">contributing</a> page describes the workflow for non-committers. The <a href="cgcom.html#_cgcom_policies_git-policy">Git policy</a> page describes a workflow for Apache Isis <strong>committers</strong>.</p>
+ <p>The <a href="../dg/dg.html#_dg_contributing">contributing</a> page describes the workflow for non-committers. The <a href="../cgcom/cgcom.html#_cgcom_policies_git-policy">Git policy</a> page describes a workflow for Apache Isis <strong>committers</strong>.</p>
</div>
</div>
<div class="sect2">
- <h3 id="_backing_up_a_local_branch">6.6. Backing up a local branch</h3>
+ <h3 id="_backing_up_a_local_branch">7.6. Backing up a local branch</h3>
<div class="paragraph">
<p>If committing to a local branch, the changes are still just that: local, and run risk of a disk failure or other disaster.</p>
</div>
@@ -2623,7 +2750,7 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_quick_change_stashing_changes">6.7. Quick change: stashing changes</h3>
+ <h3 id="_quick_change_stashing_changes">7.7. Quick change: stashing changes</h3>
<div class="paragraph">
<p>If you are working on something but are not ready to commit, then use:</p>
</div>
@@ -2651,7 +2778,7 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_ignoring_files">6.8. Ignoring files</h3>
+ <h3 id="_ignoring_files">7.8. Ignoring files</h3>
<div class="paragraph">
<p>Put file patterns into <code>.gitignore</code>. There is one at the root of the git repo, but they can additionally appear in subdirectories (the results are cumulative).</p>
</div>
@@ -2666,9 +2793,9 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_more_advanced_use_cases">6.9. More advanced use cases</h3>
+ <h3 id="_more_advanced_use_cases">7.9. More advanced use cases</h3>
<div class="sect3">
- <h4 id="_if_accidentally_push_to_remote">6.9.1. If accidentally push to remote</h4>
+ <h4 id="_if_accidentally_push_to_remote">7.9.1. If accidentally push to remote</h4>
<div class="paragraph">
<p>Suppose you committed to <code>master</code>, and then pushed the change, and then decided that you didn\u2019t intend to do that:</p>
</div>
@@ -2718,7 +2845,7 @@ git commit -m "ISIS-nnn: yada yada"</code></pre>
</div>
</div>
<div class="sect2">
- <h3 id="_if_you_ve_accidentally_worked_on_code_master_code_branch">6.10. If you\u2019ve accidentally worked on <code>master</code> branch</h3>
+ <h3 id="_if_you_ve_accidentally_worked_on_code_master_code_branch">7.10. If you\u2019ve accidentally worked on <code>master</code> branch</h3>
<div class="paragraph">
<p>If at any time the <code>git pull</code> from your upstream fails, it most likely means that you must have made commits on the <code>master</code> branch. You can use <code>gitk --all</code> to confirm; at some point in time both <code>master</code> and <code>origin\master</code> will have a common ancestor.</p>
</div>
@@ -2752,7 +2879,7 @@ git reset --hard <i>shaId</i> # move master branch shaId of com
</div>
</div>
<div class="sect2">
- <h3 id="_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">6.11. If you\u2019ve forgotten to prefix your commits (but not pushed)</h3>
+ <h3 id="_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">7.11. If you\u2019ve forgotten to prefix your commits (but not pushed)</h3>
<div class="paragraph">
<p>One of our committers, Alexander Krasnukhin, has put together some git scripts to help his workflow. Using one of these, <code>git prefix</code>, you can just commit with proper message without bothering about prefix and add prefix only in the end <strong>before</strong> the final push.</p>
</div>
@@ -2771,14 +2898,14 @@ git reset --hard <i>shaId</i> # move master branch shaId of com
</div>
</div>
<div class="sect1">
- <h2 id="_dg_working-with-many-repos">7. Appendix: Working with Many Repos</h2>
+ <h2 id="_dg_working-with-many-repos">8. Appendix: Working with Many Repos</h2>
<button type="button" class="button secondary" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/dg/_dg_working-with-many-repos.adoc"" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "><i class="fa fa-pencil-square-o"></i> Edit</button>
<div class="sectionbody">
<div class="paragraph">
<p>Applications built with Apache Isis often (should) consist of multiple modules, each in separate git repositories. For example, there are the various (non-ASF) <a href="http://isisaddons.org">Isis Addons</a> that provide various cross-cutting concerns/technical services (security, mail-merge etc), as well the modules eg as provided by the (non-ASF) <a href="http://catalog.incode.org">Incode Catalog</a>, which provides generic business subdomains (communication channels, documents etc).</p>
</div>
<div class="paragraph">
- <p>In addition, your own application may well be structured as a number of distinct modules (probably with the entities in each module being mapped to a different schema), and using such techniques as the <a href="ugbtb.html#_ugbtb_decoupling_event-bus">event bus</a> and <a href="ugbtb.html#_ugbtb_decoupling_mixins">mixins</a> so that these modules are decoupled from each other.</p>
+ <p>In addition, your own application may well be structured as a number of distinct modules (probably with the entities in each module being mapped to a different schema), and using such techniques as the <a href="../ugfun/ugfun.html#_ugfun_building-blocks_events_domain-events">event bus</a> and <a href="../ugfun/ugfun.html#_ugfun_building-blocks_types-of-domain-objects_mixins">mixins</a> so that these modules are decoupled from each other.</p>
</div>
<div class="paragraph">
<p>All of which is a preamble to say that you will likely have multiple directories on your local development computer, for each such git repository that you contribute to.</p>
@@ -2787,7 +2914,7 @@ git reset --hard <i>shaId</i> # move master branch shaId of com
<p>In this appendix we provide some simple but useful bash scripts to help you manage each such.</p>
</div>
<div class="sect2">
- <h3 id="_prerequisites">7.1. Prerequisites</h3>
+ <h3 id="_prerequisites">8.1. Prerequisites</h3>
<div class="paragraph">
<p>We recommend that you adopt a convention for your directories. For example, open source repositories (such as the Isis Addons and Incode Catalog mentioned above) reside in <a href="https://github.com/">github.com</a>, while your own proprietary code might reside in some other service, eg <a href="https://bitbucket.org/">bitbucket</a>. For example:</p>
</div>
@@ -2810,7 +2937,7 @@ git reset --hard <i>shaId</i> # move master branch shaId of com
</div>
</div>
<div class="sect2">
- <h3 id="__code_repos_txt_code">7.2. <code>_repos.txt</code></h3>
+ <h3 id="__code_repos_txt_code">8.2. <code>_repos.txt</code></h3>
<div class="paragraph">
<p>Create a file <code>_repos.txt</code> that catalogues the repositories, eg:</p>
</div>
@@ -2833,7 +2960,7 @@ git reset --hard <i>shaId</i> # move master branch shaId of com
</div>
</div>
<div class="sect2">
-
<TRUNCATED>
[05/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/dividers.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/application-menu/dividers.png b/content/guides/ugvw/images/application-menu/dividers.png
new file mode 100644
index 0000000..dcb415d
Binary files /dev/null and b/content/guides/ugvw/images/application-menu/dividers.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/layout-menus.pdn
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/application-menu/layout-menus.pdn b/content/guides/ugvw/images/application-menu/layout-menus.pdn
new file mode 100644
index 0000000..01453f7
Binary files /dev/null and b/content/guides/ugvw/images/application-menu/layout-menus.pdn differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/layout-menus.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/application-menu/layout-menus.png b/content/guides/ugvw/images/application-menu/layout-menus.png
new file mode 100644
index 0000000..0bc73d1
Binary files /dev/null and b/content/guides/ugvw/images/application-menu/layout-menus.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/application-menu/tertiary.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/application-menu/tertiary.png b/content/guides/ugvw/images/application-menu/tertiary.png
new file mode 100644
index 0000000..f2d2281
Binary files /dev/null and b/content/guides/ugvw/images/application-menu/tertiary.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png b/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png
new file mode 100644
index 0000000..96cbb31
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/010-attachment-field-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/010-attachment-field.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/010-attachment-field.png b/content/guides/ugvw/images/blob-attachments/010-attachment-field.png
new file mode 100644
index 0000000..013f6e2
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/010-attachment-field.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png
new file mode 100644
index 0000000..7f90bea
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png
new file mode 100644
index 0000000..a7e3dc4
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/020-edit-choose-file.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png b/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png
new file mode 100644
index 0000000..6a32d1b
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser-520.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser.png b/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser.png
new file mode 100644
index 0000000..700c325
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/030-choose-file-using-browser.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated-940.png b/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated-940.png
new file mode 100644
index 0000000..d6bc924
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated.png b/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated.png
new file mode 100644
index 0000000..60ea5b3
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/040-edit-chosen-file-indicated.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered-940.png b/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered-940.png
new file mode 100644
index 0000000..302bbbc
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered.png b/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered.png
new file mode 100644
index 0000000..50799b2
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/050-ok-if-image-then-rendered.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/060-download-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/060-download-940.png b/content/guides/ugvw/images/blob-attachments/060-download-940.png
new file mode 100644
index 0000000..41b4b27
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/060-download-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/060-download.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/060-download.png b/content/guides/ugvw/images/blob-attachments/060-download.png
new file mode 100644
index 0000000..f726d0d
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/060-download.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/070-edit-clear-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/070-edit-clear-940.png b/content/guides/ugvw/images/blob-attachments/070-edit-clear-940.png
new file mode 100644
index 0000000..0eae54e
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/070-edit-clear-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/blob-attachments/070-edit-clear.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/blob-attachments/070-edit-clear.png b/content/guides/ugvw/images/blob-attachments/070-edit-clear.png
new file mode 100644
index 0000000..57c2a24
Binary files /dev/null and b/content/guides/ugvw/images/blob-attachments/070-edit-clear.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/bookmarked-pages/panel-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/bookmarked-pages/panel-940.png b/content/guides/ugvw/images/bookmarked-pages/panel-940.png
new file mode 100644
index 0000000..c572707
Binary files /dev/null and b/content/guides/ugvw/images/bookmarked-pages/panel-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/bookmarked-pages/panel-estatio-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/bookmarked-pages/panel-estatio-940.png b/content/guides/ugvw/images/bookmarked-pages/panel-estatio-940.png
new file mode 100644
index 0000000..2fad852
Binary files /dev/null and b/content/guides/ugvw/images/bookmarked-pages/panel-estatio-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/bookmarked-pages/panel-estatio.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/bookmarked-pages/panel-estatio.png b/content/guides/ugvw/images/bookmarked-pages/panel-estatio.png
new file mode 100644
index 0000000..0fa0cfa
Binary files /dev/null and b/content/guides/ugvw/images/bookmarked-pages/panel-estatio.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/bookmarked-pages/panel.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/bookmarked-pages/panel.png b/content/guides/ugvw/images/bookmarked-pages/panel.png
new file mode 100644
index 0000000..b0d85f7
Binary files /dev/null and b/content/guides/ugvw/images/bookmarked-pages/panel.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/brand-logo/brand-logo-signin.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/brand-logo/brand-logo-signin.png b/content/guides/ugvw/images/brand-logo/brand-logo-signin.png
new file mode 100644
index 0000000..92a022d
Binary files /dev/null and b/content/guides/ugvw/images/brand-logo/brand-logo-signin.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/brand-logo/brand-logo.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/brand-logo/brand-logo.png b/content/guides/ugvw/images/brand-logo/brand-logo.png
new file mode 100644
index 0000000..7ab8ab3
Binary files /dev/null and b/content/guides/ugvw/images/brand-logo/brand-logo.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/010-copy-link-button-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/010-copy-link-button-940.png b/content/guides/ugvw/images/copy-link/010-copy-link-button-940.png
new file mode 100644
index 0000000..bf70a84
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/010-copy-link-button-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/010-copy-link-button.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/010-copy-link-button.png b/content/guides/ugvw/images/copy-link/010-copy-link-button.png
new file mode 100644
index 0000000..ef64d29
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/010-copy-link-button.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/020-copy-link-dialog-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/020-copy-link-dialog-940.png b/content/guides/ugvw/images/copy-link/020-copy-link-dialog-940.png
new file mode 100644
index 0000000..84d050a
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/020-copy-link-dialog-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/020-copy-link-dialog.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/020-copy-link-dialog.png b/content/guides/ugvw/images/copy-link/020-copy-link-dialog.png
new file mode 100644
index 0000000..6be3190
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/020-copy-link-dialog.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/030-hints-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/030-hints-940.png b/content/guides/ugvw/images/copy-link/030-hints-940.png
new file mode 100644
index 0000000..3a4f690
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/030-hints-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/030-hints.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/030-hints.png b/content/guides/ugvw/images/copy-link/030-hints.png
new file mode 100644
index 0000000..5010132
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/030-hints.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/040-copy-link-with-hints-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/040-copy-link-with-hints-940.png b/content/guides/ugvw/images/copy-link/040-copy-link-with-hints-940.png
new file mode 100644
index 0000000..29ccf3b
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/040-copy-link-with-hints-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/040-copy-link-with-hints.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/040-copy-link-with-hints.png b/content/guides/ugvw/images/copy-link/040-copy-link-with-hints.png
new file mode 100644
index 0000000..da9674f
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/040-copy-link-with-hints.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/050-title-url-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/050-title-url-940.png b/content/guides/ugvw/images/copy-link/050-title-url-940.png
new file mode 100644
index 0000000..955e6b2
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/050-title-url-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/copy-link/050-title-url.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/copy-link/050-title-url.png b/content/guides/ugvw/images/copy-link/050-title-url.png
new file mode 100644
index 0000000..7fbf6d5
Binary files /dev/null and b/content/guides/ugvw/images/copy-link/050-title-url.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/embedded-view/no-footer.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/embedded-view/no-footer.png b/content/guides/ugvw/images/embedded-view/no-footer.png
new file mode 100644
index 0000000..48d3a39
Binary files /dev/null and b/content/guides/ugvw/images/embedded-view/no-footer.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/embedded-view/no-header-no-footer.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/embedded-view/no-header-no-footer.png b/content/guides/ugvw/images/embedded-view/no-header-no-footer.png
new file mode 100644
index 0000000..4e238f6
Binary files /dev/null and b/content/guides/ugvw/images/embedded-view/no-header-no-footer.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/embedded-view/no-header.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/embedded-view/no-header.png b/content/guides/ugvw/images/embedded-view/no-header.png
new file mode 100644
index 0000000..22e245b
Binary files /dev/null and b/content/guides/ugvw/images/embedded-view/no-header.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/embedded-view/regular.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/embedded-view/regular.png b/content/guides/ugvw/images/embedded-view/regular.png
new file mode 100644
index 0000000..926fb7d
Binary files /dev/null and b/content/guides/ugvw/images/embedded-view/regular.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/layout-dynamic-xml/ToDoAppDashboard.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/layout-dynamic-xml/ToDoAppDashboard.png b/content/guides/ugvw/images/layout-dynamic-xml/ToDoAppDashboard.png
new file mode 100644
index 0000000..69340be
Binary files /dev/null and b/content/guides/ugvw/images/layout-dynamic-xml/ToDoAppDashboard.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/layout-dynamic-xml/ToDoItem.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/layout-dynamic-xml/ToDoItem.png b/content/guides/ugvw/images/layout-dynamic-xml/ToDoItem.png
new file mode 100644
index 0000000..c47d52f
Binary files /dev/null and b/content/guides/ugvw/images/layout-dynamic-xml/ToDoItem.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/layouts/customer-order.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/layouts/customer-order.png b/content/guides/ugvw/images/layouts/customer-order.png
new file mode 100644
index 0000000..b0aa271
Binary files /dev/null and b/content/guides/ugvw/images/layouts/customer-order.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/layouts/estatio-Invoice.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/layouts/estatio-Invoice.png b/content/guides/ugvw/images/layouts/estatio-Invoice.png
new file mode 100644
index 0000000..be7e917
Binary files /dev/null and b/content/guides/ugvw/images/layouts/estatio-Invoice.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/layouts/estatio-Lease.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/layouts/estatio-Lease.png b/content/guides/ugvw/images/layouts/estatio-Lease.png
new file mode 100644
index 0000000..e80ecb2
Binary files /dev/null and b/content/guides/ugvw/images/layouts/estatio-Lease.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/layouts/estatio-LeaseItem.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/layouts/estatio-LeaseItem.png b/content/guides/ugvw/images/layouts/estatio-LeaseItem.png
new file mode 100644
index 0000000..993d498
Binary files /dev/null and b/content/guides/ugvw/images/layouts/estatio-LeaseItem.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/layouts/todoapp-ToDoItem.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/layouts/todoapp-ToDoItem.png b/content/guides/ugvw/images/layouts/todoapp-ToDoItem.png
new file mode 100644
index 0000000..3218651
Binary files /dev/null and b/content/guides/ugvw/images/layouts/todoapp-ToDoItem.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/recent-pages/recent-pages-940.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/recent-pages/recent-pages-940.png b/content/guides/ugvw/images/recent-pages/recent-pages-940.png
new file mode 100644
index 0000000..2e55860
Binary files /dev/null and b/content/guides/ugvw/images/recent-pages/recent-pages-940.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/recent-pages/recent-pages.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/recent-pages/recent-pages.png b/content/guides/ugvw/images/recent-pages/recent-pages.png
new file mode 100644
index 0000000..8be97de
Binary files /dev/null and b/content/guides/ugvw/images/recent-pages/recent-pages.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/4-0-8-0.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/4-0-8-0.png b/content/guides/ugvw/images/reference-layout/4-0-8-0.png
new file mode 100644
index 0000000..1ebb062
Binary files /dev/null and b/content/guides/ugvw/images/reference-layout/4-0-8-0.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/4-4-4-12.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/4-4-4-12.png b/content/guides/ugvw/images/reference-layout/4-4-4-12.png
new file mode 100644
index 0000000..fd946bf
Binary files /dev/null and b/content/guides/ugvw/images/reference-layout/4-4-4-12.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/6-6-0-12.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/6-6-0-12.png b/content/guides/ugvw/images/reference-layout/6-6-0-12.png
new file mode 100644
index 0000000..369efb7
Binary files /dev/null and b/content/guides/ugvw/images/reference-layout/6-6-0-12.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/isis-layout-show-facets.css
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/isis-layout-show-facets.css b/content/guides/ugvw/images/reference-layout/isis-layout-show-facets.css
new file mode 100644
index 0000000..c6b6334
--- /dev/null
+++ b/content/guides/ugvw/images/reference-layout/isis-layout-show-facets.css
@@ -0,0 +1,3 @@
+\ufefful.isis-facets {
+ display: initial;
+}
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/isis-layout.css
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/isis-layout.css b/content/guides/ugvw/images/reference-layout/isis-layout.css
new file mode 100644
index 0000000..acd445d
--- /dev/null
+++ b/content/guides/ugvw/images/reference-layout/isis-layout.css
@@ -0,0 +1,253 @@
+\ufeff.primary-1 {
+ background-color: #669900;
+}
+
+.primary-2 {
+ background-color: #669900;
+}
+
+.primary-3 {
+ background-color: #669900;
+}
+
+.primary-4 {
+ background-color: #99FF66;
+}
+
+.primary-5 {
+ background-color: #CCFF99;
+}
+
+.secondary-a-1 {
+ background-color: #006666;
+}
+
+.secondary-a-2 {
+ background-color: #006666;
+}
+
+.secondary-a-3 {
+ background-color: #006666;
+}
+
+.secondary-a-4 {
+ background-color: #66CCCC;
+}
+
+.secondary-a-5 {
+ background-color: #99CCCC;
+}
+
+.secondary-b-1 {
+ background-color: #999900;
+}
+
+.secondary-b-2 {
+ background-color: #999900;
+}
+
+.secondary-b-3 {
+ background-color: #999900;
+}
+
+.secondary-b-4 {
+ background-color: #FFFF66;
+}
+
+.secondary-b-5 {
+ background-color: #FFFFCC;
+}
+
+.complement-1 {
+ background-color: #990033;
+}
+
+.complement-2 {
+ background-color: #990033;
+}
+
+.complement-3 {
+ background-color: #990033;
+}
+
+.complement-4 {
+ background-color: #FF6699;
+}
+
+.complement-5 {
+ background-color: #FF99CC;
+}
+
+
+
+legend {
+ background-color: white;
+}
+
+fieldset {
+ padding-bottom: 10px;
+}
+
+span,li {
+ color: white;
+}
+span {
+ font-weight: bold;
+}
+
+li {
+ padding-bottom: 10px;
+ margin-bottom: 10px;
+}
+
+
+
+.isis-header {
+ padding: 20px 80px 20px 40px;
+ margin-right: 100px;
+ background-color: #99CCCC;
+ display: block;
+ width: 100%;
+}
+
+.isis-header span.isis-title {
+ font-size: xx-large;
+ padding: 5px 80px 5px 40px;
+ margin-right: 50px;
+ color: black;
+ background-color: #99FF66;
+ display: inline-table;
+ vertical-align: bottom;
+}
+
+.isis-header div.isis-actions span {
+ font-size: large;
+ padding: 5px 5px 5px 5px;
+ display: inline-table;
+}
+
+.isis-memberGroup, .isis-collection {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ min-height: 100px;
+}
+
+.isis-memberGroup {
+ background-color: #669900;
+}
+
+.isis-collection {
+ background-color: #999900;
+}
+
+
+div.isis-property > span {
+ margin-left: 5%;
+ padding-left: 10px;
+ width: 90%;
+ display: block;
+}
+
+fieldset div.isis-property > span {
+ padding: 5px;
+ margin: 10px;
+ background-color: #006666;
+}
+
+.isis-header div.isis-actions,
+fieldset div.isis-actions {
+ margin-left: 60px;
+}
+
+fieldset.isis-collection div.isis-actions {
+ margin-left: 60px;
+}
+
+.isis-header .isis-actions {
+ display: inline-block;
+}
+
+.isis-header div.isis-action,
+fieldset div.isis-action {
+ display: inline-table;
+ padding: 5px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ background-color: #990033;
+}
+
+
+fieldset div.isis-action span {
+ background-color: #990033;
+}
+
+.isis-memberGroups {}
+
+.isis-memberGroup.min-height-50,
+.isis-collection.min-height-50 {
+ min-height: 50px;
+}
+
+.isis-memberGroup.min-height-100,
+.isis-collection.min-height-100 {
+ min-height: 100px;
+}
+
+.isis-memberGroup.min-height-150,
+.isis-collection.min-height-150 {
+ min-height: 150px;
+}
+
+.isis-memberGroup.min-height-200,
+.isis-collection.min-height-200 {
+ min-height: 200px;
+}
+
+.isis-memberGroup.min-height-250,
+.isis-collection.min-height-250 {
+ min-height: 250px;
+}
+
+.isis-memberGroup.min-height-300,
+.isis-collection.min-height-300 {
+ min-height: 300px;
+}
+
+.isis-memberGroup.min-height-350,
+.isis-collection.min-height-350 {
+ min-height: 350px;
+}
+
+.isis-memberGroup.min-height-400,
+.isis-collection.min-height-400 {
+ min-height: 400px;
+}
+
+.isis-memberGroup .isis-hidden {
+ display: none;
+}
+
+.isis-action ul.isis-facets li {
+ margin-top: 30px;
+}
+ul.isis-facets li {
+ margin-left: 40px;
+ font-size: small;
+}
+.isis-action ul.isis-facets li {
+ margin-top: 10px;
+ margin-left: 20px;
+}
+.isis-action ul.isis-facets li {
+ font-size: small;
+}
+ul.isis-facets {
+ line-height: 0px;
+}
+ul.isis-facets {
+ margin:0px;
+}
+
+.isis-facets {
+ display: none;
+}
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/layout-4-0-8-0.html
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/layout-4-0-8-0.html b/content/guides/ugvw/images/reference-layout/layout-4-0-8-0.html
new file mode 100644
index 0000000..12056c8
--- /dev/null
+++ b/content/guides/ugvw/images/reference-layout/layout-4-0-8-0.html
@@ -0,0 +1,198 @@
+\ufeff<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>colspans={4,0,8,0}</title>
+
+ <!-- Bootstrap -->
+ <!--
+ <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
+ <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css">
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
+ -->
+
+ <!-- Bootstrap -->
+ <link href="css/bootstrap.min.css" rel="stylesheet">
+
+ <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+ <![endif]-->
+ <link href="isis-layout.css" rel="stylesheet">
+ <!--<link href="isis-layout-show-facets.css" rel="stylesheet">-->
+</head>
+ <body>
+ <div class="container">
+ <h1>colspans={4,0,8,0}</h1>
+ <div class="row">
+ <div class="col-md-12">
+ <div class="isis-header">
+ <span class="isis-title">Buy bread</span>
+ <div class="isis-actions">
+ <div class="isis-action x-caution">
+ <span>delete</span>
+ </div>
+ <div class="isis-action">
+ <span data-isis-id="duplicate">clone</span>
+ <ul class="isis-facets">
+ <li>describedAs.value="Create a new todo item from this one"</li>
+ </ul>
+ </div>
+ <div class="isis-action">
+ <span>recentChanges</span>
+ </div>
+ <div class="isis-action">
+ <span>recentChanges</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-4 isis-memberGroups">
+ <fieldset class="isis-memberGroup min-height-100">
+ <legend>General</legend>
+ <div class="isis-property">
+ <span data-isis-typicallength="50">description</span>
+ <ul class="isis-facets">
+ <li>typicalLength.value=50</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>category</span>
+ <ul class="isis-facets">
+ <li>disabled.reason="Use action to update both category and subcategory"</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>subcategory</span>
+ <ul class="isis-facets">
+ <li>disabled.reason="Use action to update both category and subcategory"</li>
+ </ul>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="updateCategory">update</span>
+ </div>
+ <div class="isis-action">
+ <span>analyseCategory</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property">
+ <span class="isis-hidden">ownedBy</span>
+ </div>
+ <div class="isis-property x-highlight">
+ <span data-isis-id="complete">done</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="completed">done</span>
+ <ul class="isis-facets">
+ <li>describedAs.value="Mark this todo item as having been completed"</li>
+ </ul>
+ </div>
+ <div class="isis-action">
+ <span>scheduleExplicitly</span>
+ </div>
+ <div class="isis-action">
+ <span>scheduleImplicitly</span>
+ </div>
+ <div class="isis-action">
+ <span data-isis-id="notYetCompleted">not done</span>
+ </div>
+ </div>
+ </div>
+ </fieldset>
+ <fieldset class="isis-memberGroup">
+ <legend>Priority</legend>
+ <div class="isis-property">
+ <span>relativePriority</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span>previous</span>
+ </div>
+ <div class="isis-action">
+ <span>next</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property x-key">
+ <span>dueBy</span>
+ </div>
+ <legend>Other</legend>
+ <div class="isis-property">
+ <span>cost</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="updateCost">update</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property">
+ <span>notes</span>
+ <ul class="isis-facets">
+ <li>multiLine.numberOfLines=5</li>
+ <li>hidden.where=ALL_TABLES</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>attachment</span>
+ <ul class="isis-facets">
+ <li>hidden.where=ALL_TABLES</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span data-isis-id="versionSequence">version</span>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>hidden.where=STANDALONE_TABLES</li>
+ </ul>
+ </div>
+ </fieldset>
+ </div>
+ <div class="col-md-8">
+ <fieldset class="isis-collection min-height-100">
+ <legend>dependencies</legend>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span>add</span>
+ </div>
+ <div class="isis-action x-caution">
+ <span>remove</span>
+ </div>
+ </div>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>paged.value=5</li>
+ <li>render.value=EAGERLY</li>
+ </ul>
+ </fieldset>
+ <fieldset class="isis-collection min-height-200">
+ <legend>similarTo</legend>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>paged.value=3</li>
+ <li>render.value=LAZILY</li>
+ </ul>
+ </fieldset>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ </div>
+ </div>
+ </div>
+
+ <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <!-- Include all compiled plugins (below), or include individual files as needed -->
+ <script src="js/bootstrap.min.js"></script>
+ <script>
+ $(document).ready(function () {
+ });
+ </script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/layout-4-4-4-12.html
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/layout-4-4-4-12.html b/content/guides/ugvw/images/reference-layout/layout-4-4-4-12.html
new file mode 100644
index 0000000..a8d4bbc
--- /dev/null
+++ b/content/guides/ugvw/images/reference-layout/layout-4-4-4-12.html
@@ -0,0 +1,205 @@
+\ufeff<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>colspans={4,4,4,12}</title>
+
+ <!-- Bootstrap -->
+ <!--
+ <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
+ <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css">
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
+ -->
+
+ <!-- Bootstrap -->
+ <link href="css/bootstrap.min.css" rel="stylesheet">
+
+ <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+ <![endif]-->
+ <link href="isis-layout.css" rel="stylesheet">
+ <!--<link href="isis-layout-show-facets.css" rel="stylesheet">-->
+</head>
+ <body>
+ <div class="container">
+ <h1>colspans={4,4,4,12}</h1>
+ <div class="row">
+ <div class="col-md-12">
+ <div class="isis-header">
+ <span class="isis-title">Buy bread</span>
+ <div class="isis-actions">
+ <div class="isis-action x-caution">
+ <span>delete</span>
+ </div>
+ <div class="isis-action">
+ <span data-isis-id="duplicate">clone</span>
+ <ul class="isis-facets">
+ <li>describedAs.value="Create a new todo item from this one"</li>
+ </ul>
+ </div>
+ <div class="isis-action">
+ <span>recentChanges</span>
+ </div>
+ <div class="isis-action">
+ <span>recentChanges</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-4 isis-memberGroups">
+ <fieldset class="isis-memberGroup min-height-100">
+ <legend>General</legend>
+ <div class="isis-property">
+ <span data-isis-typicallength="50">description</span>
+ <ul class="isis-facets">
+ <li>typicalLength.value=50</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>category</span>
+ <ul class="isis-facets">
+ <li>disabled.reason="Use action to update both category and subcategory"</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>subcategory</span>
+ <ul class="isis-facets">
+ <li>disabled.reason="Use action to update both category and subcategory"</li>
+ </ul>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="updateCategory">update</span>
+ </div>
+ <div class="isis-action">
+ <span>analyseCategory</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property">
+ <span class="isis-hidden">ownedBy</span>
+ </div>
+ <div class="isis-property x-highlight">
+ <span data-isis-id="complete">done</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="completed">done</span>
+ <ul class="isis-facets">
+ <li>describedAs.value="Mark this todo item as having been completed"</li>
+ </ul>
+ </div>
+ <div class="isis-action">
+ <span>scheduleExplicitly</span>
+ </div>
+ <div class="isis-action">
+ <span>scheduleImplicitly</span>
+ </div>
+ <div class="isis-action">
+ <span data-isis-id="notYetCompleted">not done</span>
+ </div>
+ </div>
+ </div>
+ </fieldset>
+ </div>
+ <div class="col-md-4 isis-memberGroups">
+ <fieldset class="isis-memberGroup">
+ <legend>Priority</legend>
+ <div class="isis-property">
+ <span>relativePriority</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span>previous</span>
+ </div>
+ <div class="isis-action">
+ <span>next</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property x-key">
+ <span>dueBy</span>
+ </div>
+ </fieldset>
+ </div>
+ <div class="col-md-4 isis-memberGroups">
+ <fieldset class="isis-memberGroup">
+ <legend>Other</legend>
+ <div class="isis-property">
+ <span>cost</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="updateCost">update</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property">
+ <span>notes</span>
+ <ul class="isis-facets">
+ <li>multiLine.numberOfLines=5</li>
+ <li>hidden.where=ALL_TABLES</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>attachment</span>
+ <ul class="isis-facets">
+ <li>hidden.where=ALL_TABLES</li>
+ </ul>
+ </div>
+ </fieldset>
+ <fieldset class="isis-memberGroup min-height-100">
+ <legend>Misc</legend>
+ <div class="isis-property">
+ <span data-isis-id="versionSequence">version</span>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>hidden.where=STANDALONE_TABLES</li>
+ </ul>
+ </div>
+ </fieldset>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <fieldset class="isis-collection min-height-100">
+ <legend>dependencies</legend>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span>add</span>
+ </div>
+ <div class="isis-action x-caution">
+ <span>remove</span>
+ </div>
+ </div>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>paged.value=5</li>
+ <li>render.value=EAGERLY</li>
+ </ul>
+ </fieldset>
+ <fieldset class="isis-collection min-height-200">
+ <legend>similarTo</legend>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>paged.value=3</li>
+ <li>render.value=LAZILY</li>
+ </ul>
+ </fieldset>
+ </div>
+ </div>
+ </div>
+
+ <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <!-- Include all compiled plugins (below), or include individual files as needed -->
+ <script src="js/bootstrap.min.js"></script>
+ <script>
+ $(document).ready(function () {
+ });
+ </script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/reference-layout/layout-6-6-0-12.html
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/reference-layout/layout-6-6-0-12.html b/content/guides/ugvw/images/reference-layout/layout-6-6-0-12.html
new file mode 100644
index 0000000..496b008
--- /dev/null
+++ b/content/guides/ugvw/images/reference-layout/layout-6-6-0-12.html
@@ -0,0 +1,203 @@
+\ufeff<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>colspans={6,6,0,12}</title>
+
+ <!-- Bootstrap -->
+ <!--
+ <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
+ <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css">
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
+ -->
+
+ <!-- Bootstrap -->
+ <link href="css/bootstrap.min.css" rel="stylesheet">
+
+ <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+ <![endif]-->
+ <link href="isis-layout.css" rel="stylesheet">
+ <!--<link href="isis-layout-show-facets.css" rel="stylesheet">-->
+</head>
+ <body>
+ <div class="container">
+ <h1>colspans={6,6,0,12}</h1>
+ <div class="row">
+ <div class="col-md-12">
+ <div class="isis-header">
+ <span class="isis-title">Buy bread</span>
+ <div class="isis-actions">
+ <div class="isis-action x-caution">
+ <span>delete</span>
+ </div>
+ <div class="isis-action">
+ <span data-isis-id="duplicate">clone</span>
+ <ul class="isis-facets">
+ <li>describedAs.value="Create a new todo item from this one"</li>
+ </ul>
+ </div>
+ <div class="isis-action">
+ <span>recentChanges</span>
+ </div>
+ <div class="isis-action">
+ <span>recentChanges</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-6 isis-memberGroups">
+ <fieldset class="isis-memberGroup min-height-100">
+ <legend>General</legend>
+ <div class="isis-property">
+ <span data-isis-typicallength="50">description</span>
+ <ul class="isis-facets">
+ <li>typicalLength.value=50</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>category</span>
+ <ul class="isis-facets">
+ <li>disabled.reason="Use action to update both category and subcategory"</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>subcategory</span>
+ <ul class="isis-facets">
+ <li>disabled.reason="Use action to update both category and subcategory"</li>
+ </ul>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="updateCategory">update</span>
+ </div>
+ <div class="isis-action">
+ <span>analyseCategory</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property">
+ <span class="isis-hidden">ownedBy</span>
+ </div>
+ <div class="isis-property x-highlight">
+ <span data-isis-id="complete">done</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="completed">done</span>
+ <ul class="isis-facets">
+ <li>describedAs.value="Mark this todo item as having been completed"</li>
+ </ul>
+ </div>
+ <div class="isis-action">
+ <span>scheduleExplicitly</span>
+ </div>
+ <div class="isis-action">
+ <span>scheduleImplicitly</span>
+ </div>
+ <div class="isis-action">
+ <span data-isis-id="notYetCompleted">not done</span>
+ </div>
+ </div>
+ </div>
+ </fieldset>
+ <fieldset class="isis-memberGroup min-height-100">
+ <legend>Misc</legend>
+ <div class="isis-property">
+ <span data-isis-id="versionSequence">version</span>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>hidden.where=STANDALONE_TABLES</li>
+ </ul>
+ </div>
+ </fieldset>
+ </div>
+ <div class="col-md-6 isis-memberGroups">
+ <fieldset class="isis-memberGroup">
+ <legend>Priority</legend>
+ <div class="isis-property">
+ <span>relativePriority</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span>previous</span>
+ </div>
+ <div class="isis-action">
+ <span>next</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property x-key">
+ <span>dueBy</span>
+ </div>
+ </fieldset>
+ <fieldset class="isis-memberGroup">
+ <legend>Other</legend>
+ <div class="isis-property">
+ <span>cost</span>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span data-isis-id="updateCost">update</span>
+ </div>
+ </div>
+ </div>
+ <div class="isis-property">
+ <span>notes</span>
+ <ul class="isis-facets">
+ <li>multiLine.numberOfLines=5</li>
+ <li>hidden.where=ALL_TABLES</li>
+ </ul>
+ </div>
+ <div class="isis-property">
+ <span>attachment</span>
+ <ul class="isis-facets">
+ <li>hidden.where=ALL_TABLES</li>
+ </ul>
+ </div>
+ </fieldset>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <fieldset class="isis-collection min-height-100">
+ <legend>dependencies</legend>
+ <div class="isis-actions">
+ <div class="isis-action">
+ <span>add</span>
+ </div>
+ <div class="isis-action x-caution">
+ <span>remove</span>
+ </div>
+ </div>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>paged.value=5</li>
+ <li>render.value=EAGERLY</li>
+ </ul>
+ </fieldset>
+ <fieldset class="isis-collection min-height-200">
+ <legend>similarTo</legend>
+ <ul class="isis-facets">
+ <li>disabled</li>
+ <li>paged.value=3</li>
+ <li>render.value=LAZILY</li>
+ </ul>
+ </fieldset>
+ </div>
+ </div>
+ </div>
+
+ <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <!-- Include all compiled plugins (below), or include individual files as needed -->
+ <script src="js/bootstrap.min.js"></script>
+ <script>
+ $(document).ready(function () {
+ });
+ </script>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/suppress-password-reset/login-page-default.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/suppress-password-reset/login-page-default.png b/content/guides/ugvw/images/suppress-password-reset/login-page-default.png
new file mode 100644
index 0000000..fdf2dee
Binary files /dev/null and b/content/guides/ugvw/images/suppress-password-reset/login-page-default.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/suppress-password-reset/login-page-suppress-password-reset.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/suppress-password-reset/login-page-suppress-password-reset.png b/content/guides/ugvw/images/suppress-password-reset/login-page-suppress-password-reset.png
new file mode 100644
index 0000000..b557269
Binary files /dev/null and b/content/guides/ugvw/images/suppress-password-reset/login-page-suppress-password-reset.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/suppress-remember-me/login-page-default.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/suppress-remember-me/login-page-default.png b/content/guides/ugvw/images/suppress-remember-me/login-page-default.png
new file mode 100644
index 0000000..fdf2dee
Binary files /dev/null and b/content/guides/ugvw/images/suppress-remember-me/login-page-default.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/suppress-remember-me/login-page-suppress-remember-me.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/suppress-remember-me/login-page-suppress-remember-me.png b/content/guides/ugvw/images/suppress-remember-me/login-page-suppress-remember-me.png
new file mode 100644
index 0000000..fe69496
Binary files /dev/null and b/content/guides/ugvw/images/suppress-remember-me/login-page-suppress-remember-me.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/suppress-sign-up/login-page-default.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/suppress-sign-up/login-page-default.png b/content/guides/ugvw/images/suppress-sign-up/login-page-default.png
new file mode 100644
index 0000000..fdf2dee
Binary files /dev/null and b/content/guides/ugvw/images/suppress-sign-up/login-page-default.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/suppress-sign-up/login-page-suppress-sign-up.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/suppress-sign-up/login-page-suppress-sign-up.png b/content/guides/ugvw/images/suppress-sign-up/login-page-suppress-sign-up.png
new file mode 100644
index 0000000..8ff8bc3
Binary files /dev/null and b/content/guides/ugvw/images/suppress-sign-up/login-page-suppress-sign-up.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/theme-chooser/example-1.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/theme-chooser/example-1.png b/content/guides/ugvw/images/theme-chooser/example-1.png
new file mode 100644
index 0000000..4db4b18
Binary files /dev/null and b/content/guides/ugvw/images/theme-chooser/example-1.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/theme-chooser/example-2.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/theme-chooser/example-2.png b/content/guides/ugvw/images/theme-chooser/example-2.png
new file mode 100644
index 0000000..435194d
Binary files /dev/null and b/content/guides/ugvw/images/theme-chooser/example-2.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/user-registration/login-page-default.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/user-registration/login-page-default.png b/content/guides/ugvw/images/user-registration/login-page-default.png
new file mode 100644
index 0000000..fdf2dee
Binary files /dev/null and b/content/guides/ugvw/images/user-registration/login-page-default.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/user-registration/sign-up-after-registration.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/user-registration/sign-up-after-registration.png b/content/guides/ugvw/images/user-registration/sign-up-after-registration.png
new file mode 100644
index 0000000..59902f9
Binary files /dev/null and b/content/guides/ugvw/images/user-registration/sign-up-after-registration.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/user-registration/sign-up-email-with-verification-link.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/user-registration/sign-up-email-with-verification-link.png b/content/guides/ugvw/images/user-registration/sign-up-email-with-verification-link.png
new file mode 100644
index 0000000..021b642
Binary files /dev/null and b/content/guides/ugvw/images/user-registration/sign-up-email-with-verification-link.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/user-registration/sign-up-login-page-after-sign-up.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/user-registration/sign-up-login-page-after-sign-up.png b/content/guides/ugvw/images/user-registration/sign-up-login-page-after-sign-up.png
new file mode 100644
index 0000000..3402bf6
Binary files /dev/null and b/content/guides/ugvw/images/user-registration/sign-up-login-page-after-sign-up.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/user-registration/sign-up-page.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/user-registration/sign-up-page.png b/content/guides/ugvw/images/user-registration/sign-up-page.png
new file mode 100644
index 0000000..8e3bdaa
Binary files /dev/null and b/content/guides/ugvw/images/user-registration/sign-up-page.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/images/user-registration/sign-up-registration-page.png
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/images/user-registration/sign-up-registration-page.png b/content/guides/ugvw/images/user-registration/sign-up-registration-page.png
new file mode 100644
index 0000000..189965a
Binary files /dev/null and b/content/guides/ugvw/images/user-registration/sign-up-registration-page.png differ
[03/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugvw/ugvw.pdf
----------------------------------------------------------------------
diff --git a/content/guides/ugvw/ugvw.pdf b/content/guides/ugvw/ugvw.pdf
index 9b45cbc..950f0eb 100644
--- a/content/guides/ugvw/ugvw.pdf
+++ b/content/guides/ugvw/ugvw.pdf
@@ -4,16 +4,16 @@
<< /Title (Wicket Viewer)
/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:20170411195612+01'00')
-/ModDate (D:20170411195612+01'00')
+/CreationDate (D:20170420093438+01'00')
+/ModDate (D:20170420093438+01'00')
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
/Names 16 0 R
-/Outlines 528 0 R
-/PageLabels 573 0 R
+/Outlines 690 0 R
+/PageLabels 734 0 R
/PageMode /UseOutlines
/OpenAction [7 0 R /FitH 842.89]
/ViewerPreferences << /DisplayDocTitle true
@@ -22,8 +22,8 @@ endobj
endobj
3 0 obj
<< /Type /Pages
-/Count 59
-/Kids [7 0 R 10 0 R 12 0 R 14 0 R 38 0 R 50 0 R 63 0 R 71 0 R 79 0 R 88 0 R 94 0 R 100 0 R 110 0 R 112 0 R 127 0 R 134 0 R 142 0 R 149 0 R 152 0 R 163 0 R 169 0 R 175 0 R 185 0 R 195 0 R 204 0 R 212 0 R 219 0 R 225 0 R 233 0 R 243 0 R 249 0 R 260 0 R 265 0 R 269 0 R 277 0 R 281 0 R 296 0 R 299 0 R 308 0 R 312 0 R 320 0 R 328 0 R 335 0 R 337 0 R 344 0 R 348 0 R 354 0 R 357 0 R 361 0 R 365 0 R 372 0 R 375 0 R 392 0 R 405 0 R 408 0 R 416 0 R 424 0 R 427 0 R 433 0 R]
+/Count 82
+/Kids [7 0 R 10 0 R 12 0 R 14 0 R 38 0 R 50 0 R 63 0 R 71 0 R 79 0 R 88 0 R 94 0 R 100 0 R 110 0 R 112 0 R 127 0 R 134 0 R 142 0 R 149 0 R 152 0 R 163 0 R 169 0 R 175 0 R 185 0 R 197 0 R 200 0 R 213 0 R 220 0 R 225 0 R 230 0 R 248 0 R 263 0 R 267 0 R 272 0 R 276 0 R 279 0 R 286 0 R 290 0 R 294 0 R 302 0 R 317 0 R 322 0 R 325 0 R 330 0 R 340 0 R 342 0 R 352 0 R 361 0 R 369 0 R 376 0 R 382 0 R 388 0 R 396 0 R 402 0 R 413 0 R 418 0 R 422 0 R 432 0 R 436 0 R 445 0 R 453 0 R 461 0 R 463 0 R 471 0 R 475 0 R 480 0 R 483 0 R 487 0 R 491 0 R 498 0 R 501 0 R 508 0 R 512 0 R 530 0 R 543 0 R 546 0 R 554 0 R 561 0 R 565 0 R 568 0 R 583 0 R 585 0 R 594 0 R]
>>
endobj
4 0 obj
@@ -80,15 +80,15 @@ endobj
<< /Type /Font
/BaseFont /AAAAEF+NotoSerif
/Subtype /TrueType
-/FontDescriptor 575 0 R
+/FontDescriptor 736 0 R
/FirstChar 32
/LastChar 255
-/Widths 577 0 R
-/ToUnicode 576 0 R
+/Widths 738 0 R
+/ToUnicode 737 0 R
>>
endobj
9 0 obj
-<< /Length 32052
+<< /Length 31952
>>
stream
q
@@ -471,7 +471,7 @@ ET
BT
48.24 585.5359999999998 Td
/F1.0 10.5 Tf
-[<332e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ
+[<332e204c61> 20.01953125 <796f7574>] TJ
ET
0.000 0.000 0.000 SCN
@@ -480,9 +480,9 @@ ET
0.200 0.200 0.200 SCN
BT
-186.54874999999993 585.5359999999998 Td
+95.69224999999994 585.5359999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -511,7 +511,7 @@ ET
BT
60.24 567.0559999999998 Td
/F1.0 10.5 Tf
-<332e312e20416262726576696174696e672f7375707072657373696e67207469746c657320696e207461626c6573> Tj
+[<332e312e20416e6e6f746174696f6e2d6261736564204c61> 20.01953125 <796f7574>] TJ
ET
0.000 0.000 0.000 SCN
@@ -520,9 +520,9 @@ ET
0.200 0.200 0.200 SCN
BT
-282.74974999999995 567.0559999999998 Td
+207.92674999999997 567.0559999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -540,7 +540,7 @@ ET
BT
535.3009999999999 567.0559999999998 Td
/F1.0 10.5 Tf
-<3233> Tj
+<3230> Tj
ET
0.000 0.000 0.000 SCN
@@ -551,7 +551,7 @@ ET
BT
60.24 548.5759999999998 Td
/F1.0 10.5 Tf
-<332e322e205375707072657373696e67202772656d656d626572206d6527> Tj
+[<332e322e2046696c652d6261736564204c61> 20.01953125 <796f757473>] TJ
ET
0.000 0.000 0.000 SCN
@@ -560,9 +560,9 @@ ET
0.200 0.200 0.200 SCN
BT
-223.96024999999997 548.5759999999998 Td
+175.85974999999996 548.5759999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -580,7 +580,7 @@ ET
BT
535.3009999999999 548.5759999999998 Td
/F1.0 10.5 Tf
-<3233> Tj
+<3236> Tj
ET
0.000 0.000 0.000 SCN
@@ -591,7 +591,7 @@ ET
BT
60.24 530.0959999999998 Td
/F1.0 10.5 Tf
-<332e332e205375707072657373696e6720277369676e20757027> Tj
+[<332e332e204170706c69636174696f6e204d656e75204c61> 20.01953125 <796f7574>] TJ
ET
0.000 0.000 0.000 SCN
@@ -600,9 +600,9 @@ ET
0.200 0.200 0.200 SCN
BT
-186.54874999999993 530.0959999999998 Td
+207.92674999999997 530.0959999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -620,7 +620,7 @@ ET
BT
535.3009999999999 530.0959999999998 Td
/F1.0 10.5 Tf
-<3235> Tj
+<3336> Tj
ET
0.000 0.000 0.000 SCN
@@ -631,7 +631,7 @@ ET
BT
60.24 511.6159999999998 Td
/F1.0 10.5 Tf
-<332e342e205375707072657373696e67202770617373776f726420726573657427> Tj
+[<332e342e2054> 29.78515625 <61626c6520436f6c756d6e73>] TJ
ET
0.000 0.000 0.000 SCN
@@ -640,9 +640,9 @@ ET
0.200 0.200 0.200 SCN
BT
-229.30474999999996 511.6159999999998 Td
+159.82624999999996 511.6159999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -660,7 +660,7 @@ ET
BT
535.3009999999999 511.6159999999998 Td
/F1.0 10.5 Tf
-<3236> Tj
+<3430> Tj
ET
0.000 0.000 0.000 SCN
@@ -669,9 +669,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 493.1359999999998 Td
+48.24 493.1359999999998 Td
/F1.0 10.5 Tf
-[<332e352e205374726970706564205769636b> 20.01953125 <65742074616773>] TJ
+[<342e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ
ET
0.000 0.000 0.000 SCN
@@ -700,7 +700,7 @@ ET
BT
535.3009999999999 493.1359999999998 Td
/F1.0 10.5 Tf
-<3238> Tj
+<3432> Tj
ET
0.000 0.000 0.000 SCN
@@ -711,7 +711,7 @@ ET
BT
60.24 474.6559999999998 Td
/F1.0 10.5 Tf
-<332e362e2053686f77696e672061207468656d652063686f6f736572> Tj
+<342e312e20416262726576696174696e672f7375707072657373696e67207469746c657320696e207461626c6573> Tj
ET
0.000 0.000 0.000 SCN
@@ -720,9 +720,9 @@ ET
0.200 0.200 0.200 SCN
BT
-213.27124999999995 474.6559999999998 Td
+282.74974999999995 474.6559999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -740,7 +740,7 @@ ET
BT
535.3009999999999 474.6559999999998 Td
/F1.0 10.5 Tf
-<3238> Tj
+<3435> Tj
ET
0.000 0.000 0.000 SCN
@@ -749,9 +749,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 456.17599999999976 Td
+60.24 456.17599999999976 Td
/F1.0 10.5 Tf
-[<342e205265717565737420506172> 20.01953125 <616d6574657273>] TJ
+<342e322e205375707072657373696e67202772656d656d626572206d6527> Tj
ET
0.000 0.000 0.000 SCN
@@ -760,9 +760,9 @@ ET
0.200 0.200 0.200 SCN
BT
-165.17074999999994 456.17599999999976 Td
+223.96024999999997 456.17599999999976 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -780,7 +780,7 @@ ET
BT
535.3009999999999 456.17599999999976 Td
/F1.0 10.5 Tf
-<3331> Tj
+<3435> Tj
ET
0.000 0.000 0.000 SCN
@@ -791,7 +791,7 @@ ET
BT
60.24 437.69599999999974 Td
/F1.0 10.5 Tf
-[<342e312e205375707072657373696e672048656164657220616e642046> 40.0390625 <6f6f7465722028456d626564646564205669657729>] TJ
+<342e332e205375707072657373696e6720277369676e20757027> Tj
ET
0.000 0.000 0.000 SCN
@@ -800,9 +800,9 @@ ET
0.200 0.200 0.200 SCN
BT
-330.85024999999996 437.69599999999974 Td
+186.54874999999993 437.69599999999974 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -820,7 +820,7 @@ ET
BT
535.3009999999999 437.69599999999974 Td
/F1.0 10.5 Tf
-<3331> Tj
+<3437> Tj
ET
0.000 0.000 0.000 SCN
@@ -829,9 +829,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 419.2159999999997 Td
+60.24 419.2159999999997 Td
/F1.0 10.5 Tf
-[<352e204c61> 20.01953125 <796f7574>] TJ
+<342e342e205375707072657373696e67202770617373776f726420726573657427> Tj
ET
0.000 0.000 0.000 SCN
@@ -840,9 +840,9 @@ ET
0.200 0.200 0.200 SCN
BT
-95.69224999999994 419.2159999999997 Td
+229.30474999999996 419.2159999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -860,7 +860,7 @@ ET
BT
535.3009999999999 419.2159999999997 Td
/F1.0 10.5 Tf
-<3333> Tj
+<3438> Tj
ET
0.000 0.000 0.000 SCN
@@ -871,18 +871,7 @@ ET
BT
60.24 400.7359999999997 Td
/F1.0 10.5 Tf
-<352e312e20> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-79.9485 400.7359999999997 Td
-/F4.0 10.5 Tf
-<6c61796f75742e786d6c> Tj
+[<342e352e205374726970706564205769636b> 20.01953125 <65742074616773>] TJ
ET
0.000 0.000 0.000 SCN
@@ -891,9 +880,9 @@ ET
0.200 0.200 0.200 SCN
BT
-138.44824999999992 400.7359999999997 Td
+186.54874999999993 400.7359999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -911,7 +900,7 @@ ET
BT
535.3009999999999 400.7359999999997 Td
/F1.0 10.5 Tf
-<3333> Tj
+<3530> Tj
ET
0.000 0.000 0.000 SCN
@@ -922,7 +911,7 @@ ET
BT
60.24 382.2559999999997 Td
/F1.0 10.5 Tf
-<352e322e2052656f72646572696e6720636f6c756d6e73> Tj
+<342e362e2053686f77696e672061207468656d652063686f6f736572> Tj
ET
0.000 0.000 0.000 SCN
@@ -931,9 +920,9 @@ ET
0.200 0.200 0.200 SCN
BT
-186.54874999999993 382.2559999999997 Td
+213.27124999999995 382.2559999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -951,7 +940,7 @@ ET
BT
535.3009999999999 382.2559999999997 Td
/F1.0 10.5 Tf
-<3333> Tj
+<3530> Tj
ET
0.000 0.000 0.000 SCN
@@ -962,7 +951,7 @@ ET
BT
48.24 363.77599999999967 Td
/F1.0 10.5 Tf
-<362e20437573746f6d69736174696f6e> Tj
+<352e20437573746f6d69736174696f6e> Tj
ET
0.000 0.000 0.000 SCN
@@ -991,7 +980,7 @@ ET
BT
535.3009999999999 363.77599999999967 Td
/F1.0 10.5 Tf
-<3335> Tj
+<3533> Tj
ET
0.000 0.000 0.000 SCN
@@ -1002,7 +991,7 @@ ET
BT
60.24 345.29599999999965 Td
/F1.0 10.5 Tf
-[<362e312e204272> 20.01953125 <616e64206c6f676f>] TJ
+[<352e312e204272> 20.01953125 <616e64206c6f676f>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1031,7 +1020,7 @@ ET
BT
535.3009999999999 345.29599999999965 Td
/F1.0 10.5 Tf
-<3335> Tj
+<3533> Tj
ET
0.000 0.000 0.000 SCN
@@ -1042,7 +1031,7 @@ ET
BT
60.24 326.81599999999963 Td
/F1.0 10.5 Tf
-<362e322e2053706563696679696e6720612064656661756c74207468656d65> Tj
+<352e322e2053706563696679696e6720612064656661756c74207468656d65> Tj
ET
0.000 0.000 0.000 SCN
@@ -1071,7 +1060,7 @@ ET
BT
535.3009999999999 326.81599999999963 Td
/F1.0 10.5 Tf
-<3337> Tj
+<3535> Tj
ET
0.000 0.000 0.000 SCN
@@ -1082,7 +1071,7 @@ ET
BT
60.24 308.3359999999996 Td
/F1.0 10.5 Tf
-[<362e332e2057> 60.05859375 <656c636f6d652070616765>] TJ
+[<352e332e2057> 60.05859375 <656c636f6d652070616765>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1111,7 +1100,7 @@ ET
BT
535.3009999999999 308.3359999999996 Td
/F1.0 10.5 Tf
-<3338> Tj
+<3536> Tj
ET
0.000 0.000 0.000 SCN
@@ -1122,7 +1111,7 @@ ET
BT
60.24 289.8559999999996 Td
/F1.0 10.5 Tf
-<362e342e2041626f75742070616765> Tj
+<352e342e2041626f75742070616765> Tj
ET
0.000 0.000 0.000 SCN
@@ -1151,7 +1140,7 @@ ET
BT
535.3009999999999 289.8559999999996 Td
/F1.0 10.5 Tf
-<3338> Tj
+<3536> Tj
ET
0.000 0.000 0.000 SCN
@@ -1162,7 +1151,7 @@ ET
BT
60.24 271.3759999999996 Td
/F1.0 10.5 Tf
-<362e352e20547765616b696e672043535320636c6173736573> Tj
+<352e352e20547765616b696e672043535320636c6173736573> Tj
ET
0.000 0.000 0.000 SCN
@@ -1191,7 +1180,7 @@ ET
BT
535.3009999999999 271.3759999999996 Td
/F1.0 10.5 Tf
-<3431> Tj
+<3539> Tj
ET
0.000 0.000 0.000 SCN
@@ -1202,7 +1191,7 @@ ET
BT
60.24 252.89599999999956 Td
/F1.0 10.5 Tf
-<362e362e2043686561702d6e2d636865657266756c207468656d65> Tj
+<352e362e2043686561702d6e2d636865657266756c207468656d65> Tj
ET
0.000 0.000 0.000 SCN
@@ -1231,7 +1220,7 @@ ET
BT
535.3009999999999 252.89599999999956 Td
/F1.0 10.5 Tf
-<3436> Tj
+<3634> Tj
ET
0.000 0.000 0.000 SCN
@@ -1242,7 +1231,7 @@ ET
BT
60.24 234.41599999999957 Td
/F1.0 10.5 Tf
-<362e372e205573696e67206120646966666572656e74204353532066696c65> Tj
+<352e372e205573696e67206120646966666572656e74204353532066696c65> Tj
ET
0.000 0.000 0.000 SCN
@@ -1271,7 +1260,7 @@ ET
BT
535.3009999999999 234.41599999999957 Td
/F1.0 10.5 Tf
-<3437> Tj
+<3635> Tj
ET
0.000 0.000 0.000 SCN
@@ -1282,7 +1271,7 @@ ET
BT
60.24 215.93599999999958 Td
/F1.0 10.5 Tf
-<362e382e20437573746f6d204a617661736372697074> Tj
+<352e382e20437573746f6d204a617661736372697074> Tj
ET
0.000 0.000 0.000 SCN
@@ -1311,7 +1300,7 @@ ET
BT
535.3009999999999 215.93599999999958 Td
/F1.0 10.5 Tf
-<3437> Tj
+<3635> Tj
ET
0.000 0.000 0.000 SCN
@@ -1322,7 +1311,7 @@ ET
BT
60.24 197.4559999999996 Td
/F1.0 10.5 Tf
-[<362e392e2041> 20.01953125 <75746f2d726566726573682070616765>] TJ
+[<352e392e2041> 20.01953125 <75746f2d726566726573682070616765>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1351,7 +1340,7 @@ ET
BT
535.3009999999999 197.4559999999996 Td
/F1.0 10.5 Tf
-<3438> Tj
+<3636> Tj
ET
0.000 0.000 0.000 SCN
@@ -1360,9 +1349,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 178.9759999999996 Td
+60.24 178.9759999999996 Td
/F1.0 10.5 Tf
-<372e20457874656e64696e672074686520566965776572> Tj
+<352e31302e20456d6265646465642056696577> Tj
ET
0.000 0.000 0.000 SCN
@@ -1391,7 +1380,7 @@ ET
BT
535.3009999999999 178.9759999999996 Td
/F1.0 10.5 Tf
-<3439> Tj
+<3637> Tj
ET
0.000 0.000 0.000 SCN
@@ -1400,9 +1389,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 160.4959999999996 Td
+48.24 160.4959999999996 Td
/F1.0 10.5 Tf
-[<372e312e20437573746f6d20426f6f74737472> 20.01953125 <6170207468656d65>] TJ
+<362e20457874656e64696e672074686520566965776572> Tj
ET
0.000 0.000 0.000 SCN
@@ -1411,9 +1400,9 @@ ET
0.200 0.200 0.200 SCN
BT
-207.92674999999997 160.4959999999996 Td
+170.51524999999992 160.4959999999996 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1431,7 +1420,7 @@ ET
BT
535.3009999999999 160.4959999999996 Td
/F1.0 10.5 Tf
-<3439> Tj
+<3639> Tj
ET
0.000 0.000 0.000 SCN
@@ -1442,7 +1431,7 @@ ET
BT
60.24 142.01599999999962 Td
/F1.0 10.5 Tf
-<372e322e205265706c6163696e67207061676520656c656d656e7473> Tj
+[<362e312e20437573746f6d20426f6f74737472> 20.01953125 <6170207468656d65>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1471,7 +1460,7 @@ ET
BT
535.3009999999999 142.01599999999962 Td
/F1.0 10.5 Tf
-<3530> Tj
+<3639> Tj
ET
0.000 0.000 0.000 SCN
@@ -1482,7 +1471,7 @@ ET
BT
60.24 123.53599999999963 Td
/F1.0 10.5 Tf
-<372e332e20437573746f6d207061676573> Tj
+<362e322e205265706c6163696e67207061676520656c656d656e7473> Tj
ET
0.000 0.000 0.000 SCN
@@ -1491,9 +1480,9 @@ ET
0.200 0.200 0.200 SCN
BT
-154.48174999999992 123.53599999999963 Td
+207.92674999999997 123.53599999999963 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1511,7 +1500,7 @@ ET
BT
535.3009999999999 123.53599999999963 Td
/F1.0 10.5 Tf
-<3533> Tj
+<3730> Tj
ET
0.000 0.000 0.000 SCN
@@ -1522,7 +1511,7 @@ ET
BT
60.24 105.05599999999964 Td
/F1.0 10.5 Tf
-[<372e342e20497369732041> 20.01953125 <64646f6e7320457874656e73696f6e73>] TJ
+<362e332e20437573746f6d207061676573> Tj
ET
0.000 0.000 0.000 SCN
@@ -1531,9 +1520,9 @@ ET
0.200 0.200 0.200 SCN
BT
-197.23774999999995 105.05599999999964 Td
+154.48174999999992 105.05599999999964 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1551,7 +1540,7 @@ ET
BT
535.3009999999999 105.05599999999964 Td
/F1.0 10.5 Tf
-<3534> Tj
+<3733> Tj
ET
0.000 0.000 0.000 SCN
@@ -1562,7 +1551,7 @@ ET
BT
60.24 86.57599999999965 Td
/F1.0 10.5 Tf
-<372e352e204c6f67696e2076696120517565727920417267732028666f722050726f746f747970696e6729> Tj
+<362e342e204c6f67696e2076696120517565727920417267732028666f722050726f746f747970696e6729> Tj
ET
0.000 0.000 0.000 SCN
@@ -1591,7 +1580,7 @@ ET
BT
535.3009999999999 86.57599999999965 Td
/F1.0 10.5 Tf
-<3535> Tj
+<3734> Tj
ET
0.000 0.000 0.000 SCN
@@ -1602,7 +1591,7 @@ ET
BT
48.24 68.09599999999966 Td
/F1.0 10.5 Tf
-[<382e20497369732041> 20.01953125 <64642d6f6e7320286e6f742041534629>] TJ
+<372e2048696e747320616e642054697073> Tj
ET
0.000 0.000 0.000 SCN
@@ -1611,9 +1600,9 @@ ET
0.200 0.200 0.200 SCN
BT
-170.51524999999992 68.09599999999966 Td
+133.10374999999993 68.09599999999966 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1631,7 +1620,7 @@ ET
BT
535.3009999999999 68.09599999999966 Td
/F1.0 10.5 Tf
-<3536> Tj
+<3736> Tj
ET
0.000 0.000 0.000 SCN
@@ -1648,14 +1637,13 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F2.0 18 0 R
/F1.0 8 0 R
-/F4.0 53 0 R
>>
>>
-/Annots [442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R]
+/Annots [607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 679 0 R 680 0 R 681 0 R 682 0 R]
>>
endobj
11 0 obj
-<< /Length 3411
+<< /Length 2533
>>
stream
q
@@ -1667,7 +1655,7 @@ q
BT
60.24 794.6759999999999 Td
/F1.0 10.5 Tf
-<382e312e20457863656c20646f776e6c6f6164> Tj
+<372e312e205065722d75736572205468656d6573> Tj
ET
0.000 0.000 0.000 SCN
@@ -1696,7 +1684,7 @@ ET
BT
535.3009999999999 794.6759999999999 Td
/F1.0 10.5 Tf
-<3536> Tj
+<3736> Tj
ET
0.000 0.000 0.000 SCN
@@ -1707,7 +1695,7 @@ ET
BT
60.24 776.1959999999999 Td
/F1.0 10.5 Tf
-<382e322e2046756c6c63616c656e64617232> Tj
+[<372e322e20486f77206931386e20746865205769636b> 20.01953125 <6574207669657765723f>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1716,9 +1704,9 @@ ET
0.200 0.200 0.200 SCN
BT
-154.48174999999992 776.1959999999999 Td
+229.30474999999996 776.1959999999999 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1736,7 +1724,7 @@ ET
BT
535.3009999999999 776.1959999999999 Td
/F1.0 10.5 Tf
-<3536> Tj
+<3738> Tj
ET
0.000 0.000 0.000 SCN
@@ -1745,9 +1733,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 757.7159999999999 Td
+48.24 757.7159999999999 Td
/F1.0 10.5 Tf
-<382e332e20476d617033> Tj
+[<382e20417070656e6469783a20497369732041> 20.01953125 <64642d6f6e7320286e6f742041534629>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1756,9 +1744,9 @@ ET
0.200 0.200 0.200 SCN
BT
-117.07024999999993 757.7159999999999 Td
+223.96024999999997 757.7159999999999 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1776,47 +1764,7 @@ ET
BT
535.3009999999999 757.7159999999999 Td
/F1.0 10.5 Tf
-<3536> 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
-60.24 739.2359999999999 Td
-/F1.0 10.5 Tf
-[<382e342e205769636b> 20.01953125 <656420636861727473>] 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
-154.48174999999992 739.2359999999999 Td
-/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-
-BT
-533.94125 739.2359999999999 Td
-/F1.0 5.25 Tf
-<ca> Tj
-ET
-
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-535.3009999999999 739.2359999999999 Td
-/F1.0 10.5 Tf
-<3536> Tj
+<3739> Tj
ET
0.000 0.000 0.000 SCN
@@ -1834,7 +1782,7 @@ endobj
/Font << /F1.0 8 0 R
>>
>>
-/Annots [519 0 R 520 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R 526 0 R]
+/Annots [683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R]
>>
endobj
13 0 obj
@@ -2477,7 +2425,7 @@ endobj
/Font << /F2.0 18 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 527 0 R
+/XObject << /Stamp1 689 0 R
>>
>>
/Annots [19 0 R 20 0 R 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R]
@@ -2492,18 +2440,18 @@ endobj
>>
endobj
17 0 obj
-<< /Kids [103 0 R 352 0 R 429 0 R 227 0 R 418 0 R 104 0 R 440 0 R 237 0 R]
+<< /Kids [103 0 R 439 0 R 521 0 R 241 0 R 459 0 R 104 0 R 465 0 R 252 0 R 426 0 R]
>>
endobj
18 0 obj
<< /Type /Font
/BaseFont /AAAAEG+NotoSerif-Bold
/Subtype /TrueType
-/FontDescriptor 579 0 R
+/FontDescriptor 740 0 R
/FirstChar 32
/LastChar 255
-/Widths 581 0 R
-/ToUnicode 580 0 R
+/Widths 742 0 R
+/ToUnicode 741 0 R
>>
endobj
19 0 obj
@@ -3036,7 +2984,7 @@ endobj
/F3.1 45 0 R
>>
/XObject << /I1 43 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
>>
/Annots [42 0 R 44 0 R 46 0 R]
@@ -3551,7 +3499,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/recent-pages/recent-pages.png)
+/URI (images/recent-pages/recent-pages.png)
>>
/Subtype /Link
/Rect [48.24 270.09596434359855 547.0399999999998 561.1300000000005]
@@ -3562,16 +3510,19 @@ endobj
<< /Type /Font
/BaseFont /AAAAEH+FontAwesome
/Subtype /TrueType
-/FontDescriptor 583 0 R
+/FontDescriptor 744 0 R
/FirstChar 32
/LastChar 255
-/Widths 585 0 R
-/ToUnicode 584 0 R
+/Widths 746 0 R
+/ToUnicode 745 0 R
>>
endobj
46 0 obj
<< /Border [0 0 0]
-/Dest ()
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf)
+>>
/Subtype /Link
/Rect [441.5436153428819 239.06596434359855 517.2979551323783 253.34596434359855]
/Type /Annot
@@ -3988,7 +3939,7 @@ endobj
/F5.0 54 0 R
>>
/XObject << /I2 60 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
>>
/Annots [52 0 R 57 0 R 59 0 R 61 0 R]
@@ -3999,7 +3950,10 @@ endobj
endobj
52 0 obj
<< /Border [0 0 0]
-/Dest (_ugvw_features_bookmarked-pages)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_features_bookmarked-pages)
+>>
/Subtype /Link
/Rect [70.12933607700893 762.38 165.07746707589286 776.6600000000001]
/Type /Annot
@@ -4009,22 +3963,22 @@ endobj
<< /Type /Font
/BaseFont /AAAAEI+mplus1mn-regular
/Subtype /TrueType
-/FontDescriptor 587 0 R
+/FontDescriptor 748 0 R
/FirstChar 32
/LastChar 255
-/Widths 589 0 R
-/ToUnicode 588 0 R
+/Widths 750 0 R
+/ToUnicode 749 0 R
>>
endobj
54 0 obj
<< /Type /Font
/BaseFont /AAAAEJ+mplus-1p-regular
/Subtype /TrueType
-/FontDescriptor 591 0 R
+/FontDescriptor 752 0 R
/FirstChar 32
/LastChar 255
-/Widths 593 0 R
-/ToUnicode 592 0 R
+/Widths 754 0 R
+/ToUnicode 753 0 R
>>
endobj
55 0 obj
@@ -4037,7 +3991,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-Action_semantics)
+/URI (../rgant/rgant.pdf#_rgant-Action_semantics)
>>
/Subtype /Link
/Rect [51.873000000000005 586.1200000000002 165.787294921875 600.4000000000003]
@@ -4503,7 +4457,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/bookmarked-pages/panel.png)
+/URI (images/bookmarked-pages/panel.png)
>>
/Subtype /Link
/Rect [48.24 58.370983606557786 547.04 393.63000000000034]
@@ -5292,7 +5246,7 @@ endobj
/F2.0 18 0 R
>>
/XObject << /I3 66 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
>>
/Annots [64 0 R 65 0 R 67 0 R 69 0 R]
@@ -5300,7 +5254,10 @@ endobj
endobj
64 0 obj
<< /Border [0 0 0]
-/Dest ()
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf)
+>>
/Subtype /Link
/Rect [443.6471153428819 786.8599999999999 518.3497051323784 801.14]
/Type /Annot
@@ -5709,7 +5666,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/bookmarked-pages/panel-estatio.png)
+/URI (images/bookmarked-pages/panel-estatio.png)
>>
/Subtype /Link
/Rect [48.24000000000001 391.9559643435982 547.04 682.9900000000001]
@@ -5723,7 +5680,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-DomainObjectLayout)
+/URI (../rgant/rgant.pdf#_rgant-DomainObjectLayout)
>>
/Subtype /Link
/Rect [268.626755859375 272.30596434359813 384.32605078125005 286.58596434359816]
@@ -7089,7 +7046,7 @@ endobj
/F3.1 45 0 R
/F2.0 18 0 R
>>
-/XObject << /Stamp1 527 0 R
+/XObject << /Stamp1 689 0 R
>>
>>
/Annots [72 0 R 75 0 R]
@@ -7099,7 +7056,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgant.pdf#_rgant-ActionLayout)
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout)
>>
/Subtype /Link
/Rect [385.58625585937506 697.8999999999999 462.0468457031251 712.18]
@@ -7114,7 +7071,10 @@ endobj
endobj
75 0 obj
<< /Border [0 0 0]
-/Dest (_ugvw_features_recent-pages)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_features_recent-pages)
+>>
/Subtype /Link
/Rect [69.66000000000001 302.65999999999985 134.37150000000003 316.9399999999999]
/Type /Annot
@@ -7373,7 +7333,7 @@ endobj
/F3.1 45 0 R
>>
/XObject << /I4 83 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
>>
/Annots [81 0 R 84 0 R 85 0 R]
@@ -7889,7 +7849,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/copy-link/010-copy-link-button.png)
+/URI (images/copy-link/010-copy-link-button.png)
>>
/Subtype /Link
/Rect [48.24 325.5459643435985 547.0399999999998 616.5800000000004]
@@ -7898,7 +7858,10 @@ endobj
endobj
85 0 obj
<< /Border [0 0 0]
-/Dest ()
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf)
+>>
/Subtype /Link
/Rect [443.6471153428819 294.5159643435985 518.3497051323784 308.7959643435985]
/Type /Annot
@@ -8483,7 +8446,7 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I5 86 0 R
/I6 91 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F1.0 8 0 R
/F4.0 53 0 R
@@ -8497,7 +8460,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/copy-link/020-copy-link-dialog.png)
+/URI (images/copy-link/020-copy-link-dialog.png)
>>
/Subtype /Link
/Rect [48.24 514.8559643435981 547.0399999999998 805.89]
@@ -8992,7 +8955,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/copy-link/030-hints.png)
+/URI (images/copy-link/030-hints.png)
>>
/Subtype /Link
/Rect [48.24 49.861928687196155 547.0399999999998 340.89596434359805]
@@ -9275,7 +9238,7 @@ endobj
/F2.0 18 0 R
>>
/XObject << /I7 95 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
>>
/Annots [96 0 R]
@@ -9702,7 +9665,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/copy-link/040-copy-link-with-hints.png)
+/URI (images/copy-link/040-copy-link-with-hints.png)
>>
/Subtype /Link
/Rect [48.24 459.29596434359814 547.0399999999998 750.33]
@@ -10315,7 +10278,7 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I8 98 0 R
/I9 106 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F2.0 18 0 R
/F1.0 8 0 R
@@ -10329,7 +10292,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/copy-link/050-title-url.png)
+/URI (images/copy-link/050-title-url.png)
>>
/Subtype /Link
/Rect [48.24 470.35254343293957 547.04 805.89]
@@ -10340,13 +10303,13 @@ endobj
[100 0 R /XYZ 0 458.35254343293957 null]
endobj
103 0 obj
-<< /Limits [(__ugvw_customisation_tweaking-css-classes_columns-in-tables) (_ugvw_configuration-properties_suppressing-sign-up)]
-/Names [(__ugvw_customisation_tweaking-css-classes_columns-in-tables) 350 0 R (__ugvw_customisation_tweaking-css-classes_columns-in-tables_globally) 351 0 R (__ugvw_extending_replacing-page-elements_collections) 409 0 R (_ugvw) 15 0 R (_ugvw_configuration-properties) 186 0 R (_ugvw_configuration-properties_abbreviating-titles) 213 0 R (_ugvw_configuration-properties_showing-theme-chooser) 253 0 R (_ugvw_configuration-properties_stripped-wicket-tags) 252 0 R (_ugvw_configuration-properties_suppressing-password-reset) 239 0 R (_ugvw_configuration-properties_suppressing-remember-me) 216 0 R (_ugvw_configuration-properties_suppressing-sign-up) 226 0 R]
+<< /Limits [(__ugvw) (_ugvw_customisation)]
+/Names [(__ugvw) 15 0 R (__ugvw_customisation_tweaking-css-classes_columns-in-tables) 477 0 R (__ugvw_customisation_tweaking-css-classes_columns-in-tables_globally) 478 0 R (__ugvw_extending_replacing-page-elements_collections) 547 0 R (__ugvw_layout_file-based_unreferenced) 277 0 R (_ugvw_appendix_isis-addons) 595 0 R (_ugvw_configuration-properties) 343 0 R (_ugvw_configuration-properties_abbreviating-titles) 370 0 R (_ugvw_configuration-properties_showing-theme-chooser) 406 0 R (_ugvw_configuration-properties_stripped-wicket-tags) 405 0 R (_ugvw_configuration-properties_suppressing-password-reset) 393 0 R (_ugvw_configuration-properties_suppressing-remember-me) 373 0 R (_ugvw_configuration-properties_suppressing-sign-up) 383 0 R (_ugvw_customisation) 423 0 R]
>>
endobj
104 0 obj
-<< /Limits [(domain-code-2) (how-the-viewer-selects-components)]
-/Names [(domain-code-2) 68 0 R (domain-code-3) 147 0 R (download) 139 0 R (edit-mode) 124 0 R (excel-download) 437 0 R (exporting-the-attributes-into-the-app) 338 0 R (fullcalendar2) 438 0 R (gmap3) 439 0 R (hints) 90 0 R (how-the-viewer-selects-components) 399 0 R]
+<< /Limits [(domain-code-2) (fieldsets)]
+/Names [(domain-code-2) 68 0 R (domain-code-3) 147 0 R (domain-services) 303 0 R (domainservicelayout) 314 0 R (download) 139 0 R (edit-mode) 124 0 R (example-layouts) 214 0 R (examples) 259 0 R (exporting-the-attributes-into-the-app) 464 0 R (fieldsets) 270 0 R]
>>
endobj
105 0 obj
@@ -13184,7 +13147,7 @@ endobj
/F5.0 54 0 R
/F3.1 45 0 R
>>
-/XObject << /Stamp1 527 0 R
+/XObject << /Stamp1 689 0 R
>>
>>
>>
@@ -13620,7 +13583,7 @@ endobj
/F4.0 53 0 R
>>
/XObject << /I10 121 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
>>
/Annots [113 0 R 114 0 R 116 0 R 117 0 R 119 0 R 122 0 R 123 0 R]
@@ -13628,7 +13591,10 @@ endobj
endobj
113 0 obj
<< /Border [0 0 0]
-/Dest (_ugvw_configuration-properties_abbreviating-titles)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_configuration-properties_abbreviating-titles)
+>>
/Subtype /Link
/Rect [390.6901449819711 759.8299999999999 535.04 774.11]
/Type /Annot
@@ -13636,7 +13602,10 @@ endobj
endobj
114 0 obj
<< /Border [0 0 0]
-/Dest (_ugvw_configuration-properties_abbreviating-titles)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_configuration-properties_abbreviating-titles)
+>>
/Subtype /Link
/Rect [125.80666666666667 744.05 151.68916666666667 758.33]
/Type /Annot
@@ -13649,7 +13618,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_value-types_Blob)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_value-types_Blob)
>>
/Subtype /Link
/Rect [259.356076953125 672.19 281.962576953125 686.4700000000001]
@@ -13660,7 +13629,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgcms.pdf#_rgcms_classes_value-types_Clob)
+/URI (../rgcms/rgcms.pdf#_rgcms_classes_value-types_Clob)
>>
/Subtype /Link
/Rect [524.8534999999999 672.19 547.04 686.4700000000001]
@@ -13979,7 +13948,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/blob-attachments/010-attachment-field.png)
+/URI (images/blob-attachments/010-attachment-field.png)
>>
/Subtype /Link
/Rect [48.24000000000001 199.6110638297876 547.04 481.38000000000034]
@@ -13988,7 +13957,10 @@ endobj
endobj
123 0 obj
<< /Border [0 0 0]
-/Dest ()
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf)
+>>
/Subtype /Link
/Rect [443.6471153428819 168.5810638297876 518.3497051323784 182.8610638297876]
/Type /Annot
@@ -14389,7 +14361,7 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I11 125 0 R
/I12 130 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F2.0 18 0 R
/F1.0 8 0 R
@@ -14402,7 +14374,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/blob-attachments/020-edit-choose-file.png)
+/URI (images/blob-attachments/020-edit-choose-file.png)
>>
/Subtype /Link
/Rect [48.24 524.1210638297873 547.04 805.89]
@@ -14772,7 +14744,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/blob-attachments/030-choose-file-using-browser.png)
+/URI (images/blob-attachments/030-choose-file-using-browser.png)
>>
/Subtype /Link
/Rect [48.24 183.71106382978724 438.24 454.46106382978724]
@@ -15222,7 +15194,7 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I13 132 0 R
/I14 137 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F2.0 18 0 R
/F1.0 8 0 R
@@ -15236,7 +15208,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/blob-attachments/040-edit-chosen-file-indicated.png)
+/URI (images/blob-attachments/040-edit-chosen-file-indicated.png)
>>
/Subtype /Link
/Rect [48.24 524.1210638297873 547.04 805.89]
@@ -15655,7 +15627,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/blob-attachments/050-ok-if-image-then-rendered.png)
+/URI (images/blob-attachments/050-ok-if-image-then-rendered.png)
>>
/Subtype /Link
/Rect [48.24 172.6921276595745 547.04 454.46106382978724]
@@ -16210,7 +16182,7 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I15 140 0 R
/I16 145 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F2.0 18 0 R
/F1.0 8 0 R
@@ -16224,7 +16196,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/blob-attachments/060-download.png)
+/URI (images/blob-attachments/060-download.png)
>>
/Subtype /Link
/Rect [48.24 524.1210638297873 547.04 805.89]
@@ -16553,7 +16525,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/blob-attachments/070-edit-clear.png)
+/URI (images/blob-attachments/070-edit-clear.png)
>>
/Subtype /Link
/Rect [48.24 172.6921276595745 547.04 454.46106382978724]
@@ -20525,7 +20497,7 @@ endobj
/F1.0 8 0 R
/F2.0 18 0 R
>>
-/XObject << /Stamp1 527 0 R
+/XObject << /Stamp1 689 0 R
>>
>>
>>
@@ -20933,7 +20905,7 @@ endobj
/F2.0 18 0 R
>>
/XObject << /I17 159 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
>>
/Annots [153 0 R 154 0 R 155 0 R 156 0 R 160 0 R]
@@ -20943,7 +20915,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_spi_UserRegistrationService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserRegistrationService)
>>
/Subtype /Link
/Rect [84.93 763.8299999999999 206.34129492187503 778.11]
@@ -20954,7 +20926,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_EmailNotificationService)
>>
/Subtype /Link
/Rect [84.93 742.05 211.95900000000003 756.33]
@@ -20965,7 +20937,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_EmailService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EmailService)
>>
/Subtype /Link
/Rect [84.93 720.27 151.1955 734.5500000000001]
@@ -20987,11 +20959,11 @@ endobj
<< /Type /Font
/BaseFont /AAAAEK+NotoSerif-Italic
/Subtype /TrueType
-/FontDescriptor 595 0 R
+/FontDescriptor 756 0 R
/FirstChar 32
/LastChar 255
-/Widths 597 0 R
-/ToUnicode 596 0 R
+/Widths 758 0 R
+/ToUnicode 757 0 R
>>
endobj
158 0 obj
@@ -21053,7 +21025,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/user-registration/login-page-default.png)
+/URI (images/user-registration/login-page-default.png)
>>
/Subtype /Link
/Rect [48.24000000000001 218.8425000000003 273.24 519.7800000000003]
@@ -21175,7 +21147,7 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I18 161 0 R
/I19 165 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F1.0 8 0 R
>>
@@ -21187,7 +21159,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/user-registration/sign-up-page.png)
+/URI (images/user-registration/sign-up-page.png)
>>
/Subtype /Link
/Rect [48.24 504.9525 273.24 805.89]
@@ -21262,7 +21234,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/user-registration/sign-up-login-page-after-sign-up.png)
+/URI (images/user-registration/sign-up-login-page-after-sign-up.png)
>>
/Subtype /Link
/Rect [48.24 121.34437500000001 273.24 465.1725]
@@ -21383,7 +21355,7 @@ endobj
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I20 167 0 R
/I21 171 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F1.0 8 0 R
>>
@@ -21395,7 +21367,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/user-registration/sign-up-email-with-verification-link.png)
+/URI (images/user-registration/sign-up-email-with-verification-link.png)
>>
/Subtype /Link
/Rect [48.24 625.6951948051948 423.24 805.89]
@@ -21465,7 +21437,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/user-registration/sign-up-registration-page.png)
+/URI (images/user-registration/sign-up-registration-page.png)
>>
/Subtype /Link
/Rect [48.24 284.9776948051948 273.24 585.9151948051948]
@@ -21903,7 +21875,7 @@ endobj
/Contents 174 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/XObject << /I22 173 0 R
-/Stamp1 527 0 R
+/Stamp1 689 0 R
>>
/Font << /F2.0 18 0 R
/F1.0 8 0 R
@@ -21916,7 +21888,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (images/wicket-viewer/user-registration/sign-up-after-registration.png)
+/URI (images/user-registration/sign-up-after-registration.png)
>>
/Subtype /Link
/Rect [48.24 466.93509394572027 547.04 805.89]
@@ -21930,7 +21902,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_spi_UserRegistrationService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_spi_UserRegistrationService)
>>
/Subtype /Link
/Rect [239.4559321986607 378.84509394572024 361.72299999999996 393.1250939457202]
@@ -21963,7 +21935,7 @@ endobj
<< /Border [0 0 0]
/A << /Type /Action
/S /URI
-/URI (rgsvc.pdf#_rgsvc_api_EmailService)
+/URI (../rgsvc/rgsvc.pdf#_rgsvc_api_EmailService)
>>
/Subtype /Link
/Rect [135.73950000000002 341.28509394572023 202.005 355.5650939457202]
@@ -21972,7 +21944,10 @@ endobj
endobj
182 0 obj
<< /Border [0 0 0]
-/Dest (_ugvw_configuration-properties_suppressing-sign-up)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_configuration-properties_suppressing-sign-up)
+>>
/Subtype /Link
/Rect [376.90199841308595 254.16509394572014 487.8950993652344 268.44509394572015]
/Type /Annot
@@ -21980,14 +21955,17 @@ endobj
endobj
183 0 obj
<< /Border [0 0 0]
-/Dest (_ugvw_configuration-properties_suppressing-password-reset)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_configuration-properties_suppressing-password-reset)
+>>
/Subtype /Link
/Rect [48.24000000000001 238.38509394572014 150.1845 252.66509394572014]
/Type /Annot
>>
endobj
184 0 obj
-<< /Length 31149
+<< /Length 17235
>>
stream
q
@@ -21999,7 +21977,7 @@ q
BT
48.24 782.394 Td
/F2.0 22 Tf
-[<4368617074657220332e20436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ
+[<4368617074657220332e204c61> 20.01953125 <796f7574>] TJ
ET
0.000 0.000 0.000 SCN
@@ -22007,12 +21985,42 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-0.366 Tw
+0.222 Tw
BT
48.24 753.206 Td
/F1.0 10.5 Tf
-[<5769636b> 20.01953125 <657420636f6e6669677572> 20.01953125 <6174696f6e2070726f7065727469657320616c74657220746865207761> 20.01953125 <7920696e20776869636820417061636865204973697327205769636b> 20.01953125 <6574207669657765722072656e6465727320646f6d61696e>] TJ
+<496e20696d706c656d656e74696e672074686520> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.259 0.545 0.792 scn
+0.259 0.545 0.792 SCN
+
+0.222 Tw
+
+BT
+154.001841015625 753.206 Td
+/F1.0 10.5 Tf
+[<6e616b> 20.01953125 <6564206f626a65637473207061747465726e>] TJ
+ET
+
+
+0.000 Tw
+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
+
+0.222 Tw
+
+BT
+262.4495299479167 753.206 Td
+/F1.0 10.5 Tf
+<2c2041706163686520497369732061696d7320746f20696e666572206173206d75636820696e666f726d6174696f6e2066726f6d20746865> Tj
ET
@@ -22022,10 +22030,88 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+2.523 Tw
+
BT
48.24 737.426 Td
/F1.0 10.5 Tf
-<6f626a656374732e20205468657920617265207479706963616c6c792073746f72656420696e20> Tj
+<646f6d61696e20636c617373657320617320706f737369626c652e204e657665727468656c6573732c20736f6d65206d657461646174612072656c6174696e6720736f6c656c7920746f2074686520554920697320696e6576697461626c79> Tj
+ET
+
+
+0.000 Tw
+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
+
+0.467 Tw
+
+BT
+48.24 721.6460000000001 Td
+/F1.0 10.5 Tf
+<72657175697265642e205468697320636861707465722064657363726962657320686f77207468697320697320646f6e6520626f746820666f7220646f6d61696e206f626a65637473207573696e672065697468657220616e6e6f746174696f6e73> Tj
+ET
+
+
+0.000 Tw
+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
+48.24 705.8660000000001 Td
+/F1.0 10.5 Tf
+[<6f72207573696e6720616e206173736f636961746564206c61> 20.01953125 <796f75742066696c652e>] 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
+
+0.635 Tw
+
+BT
+48.24 678.086 Td
+/F1.0 10.5 Tf
+[<497420616c736f2064657363726962657320686f7720746f206c61> 20.01953125 <796f757420746865206170706c69636174696f6e206d656e75206974656d732028636f6e7461696e696e6720646f6d61696e20736572766963652720616374696f6e73292c206173>] TJ
+ET
+
+
+0.000 Tw
+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
+48.24 662.306 Td
+/F1.0 10.5 Tf
+<6d6f72652077656c6c206173206d6f726520616476616e63656420746f70696373207375636820617320637573746f6d6973696e6720776869636820636f6c756d6e732061707065617220696e207461626c65732e> 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
+48.24 622.4660000000001 Td
+/F2.0 18 Tf
+[<332e312e20416e6e6f746174696f6e2d6261736564204c61> 20.01953125 <796f7574>] 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
+48.24 594.4460000000001 Td
+/F1.0 10.5 Tf
+<4d657461646174612070726f766964696e672055492068696e74732063616e2062652073706563696669656420656974686572207573696e6720616e6e6f746174696f6e732c206f72207573696e67206120> Tj
ET
0.000 0.000 0.000 SCN
@@ -22034,9 +22120,9 @@ ET
0.694 0.129 0.275 SCN
BT
-230.35200000000003 737.426 Td
+454.17 594.4460000000001 Td
/F4.0 10.5 Tf
-<5745422d494e462f7669657765725f7769636b65742e70726f70657274696573> Tj
+<6c61796f75742e786d6c> Tj
ET
0.000 0.000 0.000 SCN
@@ -22045,44 +22131,63 @@ ET
0.200 0.200 0.200 SCN
BT
-398.35200000000003 737.426 Td
+506.67 594.4460000000001 Td
/F1.0 10.5 Tf
-<2e> Tj
+<2066696c652e> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-q
-0.5 w
-0.933 0.933 0.933 SCN
-113.807 589.090 m
-113.807 721.610 l
-S
-Q
-0.098 0.251 0.486 scn
-0.098 0.251 0.486 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.576 Tw
+
+BT
+48.24 566.6660000000002 Td
+/F1.0 10.5 Tf
+[<496e206d6f737420636173657320796f752077696c6c2070726f6261626c792077616e7420746f20757365207468652066696c652d626173656420617070726f6163683a206368616e67657320746f2066696c65206c61> 20.01953125 <796f75747320617265>] TJ
+ET
+
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.098 0.251 0.486 scn
-0.098 0.251 0.486 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.947 Tw
BT
-76.73933333333333 646.7700000000001 Td
-/F3.1 24 Tf
-<21> Tj
+48.24 550.8860000000002 Td
+/F1.0 10.5 Tf
+[<7069636b> 20.01953125 <65642075702064796e616d6963616c6c79> 89.84375 <2c20616e64207573696e6720612066696c6520616c736f20616c6c6f7773207461627320616e64207461622067726f75707320746f206265207370656369666965643a2074686973206973206e6f74>] TJ
ET
+
+0.000 Tw
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
-0.871 Tw
+BT
+48.24 535.1060000000002 Td
+/F1.0 10.5 Tf
+<737570706f72746564207573696e6720616e6e6f746174696f6e732e> 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
+
+1.088 Tw
BT
-125.80666666666667 705.6460000000001 Td
+48.24 507.3260000000002 Td
/F1.0 10.5 Tf
-[<54> 29.78515625 <6f2074656c6c204170616368652049736973207468617420746865205769636b> 20.01953125 <65742076696577657220697320696e207573652028616e642073686f756c64207468657265666f726520736561726368>] TJ
+<4e657665727468656c6573732c20616e6e6f746174696f6e7320617265207374696c6c20737570706f7274656420616e642061726520736f6d6574696d65732075736566756c20666f7220766572792073696d706c65206f626a65637473206f72> Tj
ET
@@ -22093,9 +22198,20 @@ ET
0.200 0.200 0.200 SCN
BT
-125.80666666666667 689.8660000000001 Td
+48.24 491.54600000000016 Td
/F1.0 10.5 Tf
-<666f722074686520> Tj
+[<6a757374207768656e2070726f746f747970696e672e20546869732073656374696f6e206578706c61696e7320686f77> 69.82421875 <2e>] 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
+48.24 457.04600000000016 Td
+/F2.0 13 Tf
+<332e312e312e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -22104,9 +22220,9 @@ ET
0.694 0.129 0.275 SCN
BT
-162.09466666666668 689.8660000000001 Td
-/F4.0 10.5 Tf
-<7669657765725f7769636b65742e70726f70657274696573> Tj
+84.83500000000001 457.04600000000016 Td
+/F4.0 13 Tf
+<404d656d6265724f72646572> Tj
ET
0.000 0.000 0.000 SCN
@@ -22114,70 +22230,55 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+2.758 Tw
+
BT
-288.0946666666667 689.8660000000001 Td
+48.24 430.48600000000016 Td
/F1.0 10.5 Tf
-<2066696c65292c206164642074686520666f6c6c6f77696e6720746f20> Tj
+<54686520> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
+2.758 Tw
+
BT
-418.57816666666673 689.8660000000001 Td
+72.41757142857142 430.48600000000016 Td
/F4.0 10.5 Tf
-<5745422d494e462f7765622e786d6c> Tj
+<404d656d6265724f72646572> Tj
ET
+
+0.000 Tw
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
+2.758 Tw
+
BT
-497.32816666666673 689.8660000000001 Td
+135.41757142857145 430.48600000000016 Td
/F1.0 10.5 Tf
-<3a> Tj
+<2020616e6e6f746174696f6e206973207573656420746f2073706563696679207468652072656c6174697665206f72646572206f6620646f6d61696e20636c6173732070726f706572746965732c> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-q
-0.961 0.961 0.961 scn
-129.807 674.050 m
-531.040 674.050 l
-533.249 674.050 535.040 672.259 535.040 670.050 c
-535.040 597.090 l
-535.040 594.881 533.249 593.090 531.040 593.090 c
-129.807 593.090 l
-127.598 593.090 125.807 594.881 125.807 597.090 c
-125.807 670.050 l
-125.807 672.259 127.598 674.050 129.807 674.050 c
-h
-f
-0.800 0.800 0.800 SCN
-0.75 w
-129.807 674.050 m
-531.040 674.050 l
-533.249 674.050 535.040 672.259 535.040 670.050 c
-535.040 597.090 l
-535.040 594.881 533.249 593.090 531.040 593.090 c
-129.807 593.090 l
-127.598 593.090 125.807 594.881 125.807 597.090 c
-125.807 670.050 l
-125.807 672.259 127.598 674.050 129.807 674.050 c
-h
-S
-Q
-0.184 0.435 0.624 scn
-0.184 0.435 0.624 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-136.80666666666667 651.2250000000001 Td
-/F4.0 11 Tf
-<3c636f6e746578742d706172616d3e> Tj
+48.24 414.70600000000013 Td
+/F1.0 10.5 Tf
+<636f6c6c656374696f6e7320616e6420616374696f6e732e> Tj
ET
0.000 0.000 0.000 SCN
@@ -22185,111 +22286,158 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
+0.422 Tw
+
BT
-136.80666666666667 636.4850000000001 Td
-/F4.0 11 Tf
-<ca202020> Tj
+48.24 386.92600000000016 Td
+/F1.0 10.5 Tf
+<54686520616e6e6f746174696f6e20646566696e65732074776f20617474726962757465732c20> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.184 0.435 0.624 scn
-0.184 0.435 0.624 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+0.422 Tw
BT
-158.80666666666667 636.4850000000001 Td
-/F4.0 11 Tf
-<3c706172616d2d6e616d653e> Tj
+244.18035714285713 386.92600000000016 Td
+/F4.0 10.5 Tf
+<6e616d652829> Tj
ET
+
+0.000 Tw
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
+0.422 Tw
+
BT
-224.80666666666667 636.4850000000001 Td
-/F4.0 11 Tf
-<697369732e76696577657273> Tj
+275.68035714285713 386.92600000000016 Td
+/F1.0 10.5 Tf
+<20616e6420> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.184 0.435 0.624 scn
-0.184 0.435 0.624 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+0.422 Tw
BT
-290.8066666666667 636.4850000000001 Td
-/F4.0 11 Tf
-<3c2f706172616d2d6e616d653e> Tj
+301.07349999999997 386.92600000000016 Td
+/F4.0 10.5 Tf
+<73657175656e63652829> Tj
ET
+
+0.000 Tw
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
+0.422 Tw
+
BT
-136.80666666666667 621.7450000000001 Td
-/F4.0 11 Tf
-<ca202020> Tj
+353.57349999999997 386.92600000000016 Td
+/F1.0 10.5 Tf
+<2e2020546865697220757361676520646570656e6473206f6e20746865206d656d626572> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.184 0.435 0.624 scn
-0.184 0.435 0.624 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-158.80666666666667 621.7450000000001 Td
-/F4.0 11 Tf
-<3c706172616d2d76616c75653e> Tj
+48.24 371.1460000000002 Td
+/F1.0 10.5 Tf
+<747970653a> 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
-230.30666666666667 621.7450000000001 Td
-/F4.0 11 Tf
-<7769636b6574> Tj
+56.88050000000001 343.36600000000016 Td
+/F1.0 10.5 Tf
+<a5> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.184 0.435 0.624 scn
-0.184 0.435 0.624 SCN
+
+0.000 Tc
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.481 Tw
BT
-263.3066666666667 621.7450000000001 Td
-/F4.0 11 Tf
-<3c2f706172616d2d76616c75653e> Tj
+66.24000000000001 343.36600000000016 Td
+/F1.0 10.5 Tf
+<666f722070726f706572746965732c2074686520> Tj
ET
+
+0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.184 0.435 0.624 scn
-0.184 0.435 0.624 SCN
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+0.481 Tw
BT
-136.80666666666667 607.0050000000002 Td
-/F4.0 11 Tf
-<3c2f636f6e746578742d706172616d3e> Tj
+161.1526 343.36600000000016 Td
+/F4.0 10.5 Tf
+<6e616d652829> Tj
ET
+
+0.000 Tw
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
-5.065 Tw
+0.481 Tw
BT
-48.24000000000001 565.1260000000001 Td
+192.6526 343.36600000000016 Td
/F1.0 10.5 Tf
-[<496620796f752070726566657220796f752063616e20706c61636520616c6c20636f6e6669677572> 20.01953125 <6174696f6e2070726f7065727469657320696e746f20>] TJ
+<206973207573656420746f2067726f75702070726f7065727469657320746f67657468657220696e746f2061206d656d6265722067726f75702028616c736f2063616c6c6564> Tj
+ET
+
+
+0.000 Tw
+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
+
+0.381 Tw
+
+BT
+66.24000000000001 327.5860000000001 Td
+/F1.0 10.5 Tf
+<612070726f70657274792067726f7570206f722061206669656c647365742e202054686520> Tj
ET
@@ -22299,12 +22447,12 @@ ET
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
-5.065 Tw
+0.381 Tw
BT
-398.90239044744317 565.1260000000001 Td
+245.56149999999997 327.5860000000001 Td
/F4.0 10.5 Tf
-<5745422d494e462f697369732e70726f70657274696573> Tj
+<73657175656e63652829> Tj
ET
@@ -22314,25 +22462,36 @@ ET
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
-5.065 Tw
+0.381 Tw
BT
-519.6523904474432 565.1260000000001 Td
+298.06149999999997 327.5860000000001 Td
/F1.0 10.5 Tf
-<2028746865> Tj
+<207468656e206f72646572732070726f706572746965732077697468696e2074686573652067726f7570732e204966206e6f> Tj
ET
0.000 Tw
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+66.24000000000001 311.80600000000015 Td
+/F4.0 10.5 Tf
+<6e616d652829> 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
-48.24000000000001 549.3460000000001 Td
+97.74000000000001 311.80600000000015 Td
/F1.0 10.5 Tf
-[<636f6e6669677572> 20.01953125 <6174696f6e2070726f706572746965732066726f6d20616c6c20636f6e6669672066696c657320617265206d657267656420746f676574686572292e>] TJ
+[<20697320737065636966696564207468656e207468652070726f706572747920697320706c6163656420696e20612066616c6c6261636b202247656e6572> 20.01953125 <616c222067726f75702c2063616c6c6564202247656e6572> 20.01953125 <616c222e>] TJ
ET
0.000 0.000 0.000 SCN
@@ -22341,7301 +22500,5462 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24000000000001 521.5660000000003 Td
-/F6.0 10.5 Tf
-[<54> 29.78515625 <61626c6520312e205769636b> 20.01953125 <65742056696577657220436f6e6669677572> 20.01953125 <6174696f6e2050726f70657274696573>] TJ
+66.24000000000001 284.0260000000001 Td
+/F1.0 10.5 Tf
+[<546865206e616d65206f66207468657365206d656d6265722067726f7570732f6669656c647365747320617265207468656e207265666572656e6365642062> 20.01953125 <7920>] TJ
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-48.240 476.190 166.267 37.560 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-214.507 476.190 83.133 37.560 re
-f
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+403.825294921875 284.0260000000001 Td
+/F4.0 10.5 Tf
+<404d656d62657247726f75704c61796f7574> Tj
+ET
+
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-297.640 476.190 249.400 37.560 re
-f
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+498.325294921875 284.0260000000001 Td
+/F1.0 10.5 Tf
+<2e> Tj
+ET
+
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-48.240 438.630 166.267 37.560 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-214.507 438.630 83.133 37.560 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-297.640 438.630 249.400 37.560 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-48.240 401.070 166.267 37.560 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-214.507 401.070 83.133 37.560 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-297.640 401.070 249.400 37.560 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-48.240 363.510 166.267 37.560 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-214.507 363.510 83.133 37.560 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-297.640 363.510 249.400 37.560 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-48.240 297.390 166.267 66.120 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-214.507 297.390 83.133 66.120 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-297.640 297.390 249.400 66.120 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-48.240 231.270 166.267 66.120 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-214.507 231.270 83.133 66.120 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-297.640 231.270 249.400 66.120 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-48.240 150.870 166.267 80.400 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-214.507 150.870 83.133 80.400 re
-f
-0.000 0.000 0.000 scn
-0.976 0.976 0.976 scn
-297.640 150.870 249.400 80.400 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-48.240 70.470 166.267 80.400 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-214.507 70.470 83.133 80.400 re
-f
-0.000 0.000 0.000 scn
-1.000 1.000 1.000 scn
-297.640 70.470 249.400 80.400 re
-f
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 513.750 m
-214.507 513.750 l
-S
-[ ] 0 d
-1.5 w
-0.867 0.867 0.867 SCN
-48.240 476.190 m
-214.507 476.190 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 514.000 m
-48.240 475.440 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 514.000 m
-214.507 475.440 l
-S
-[ ] 0 d
-1 w
-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
-51.24000000000001 498.0030000000002 Td
-/F2.0 10.5 Tf
-<50726f7065727479> Tj
+56.88050000000001 256.24600000000015 Td
+/F1.0 10.5 Tf
+<a5> Tj
ET
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 513.750 m
-297.640 513.750 l
-S
-[ ] 0 d
-1.5 w
-0.867 0.867 0.867 SCN
-214.507 476.190 m
-297.640 476.190 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 514.000 m
-214.507 475.440 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 514.000 m
-297.640 475.440 l
-S
-[ ] 0 d
-1 w
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
+0.000 0.000 0.000 scn
-BT
-217.50650040000002 498.0030000000002 Td
-/F2.0 10.5 Tf
-[<56> 60.05859375 <616c7565>] TJ
-ET
+0.000 Tc
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+2.264 Tw
BT
-217.50650040000002 483.7230000000002 Td
-/F2.0 10.5 Tf
-<28> Tj
+66.24000000000001 256.24600000000015 Td
+/F1.0 10.5 Tf
+<666f7220636f6c6c656374696f6e732c2074686520> Tj
ET
-BT
-221.69600040000003 483.7230000000002 Td
-/F6.0 10.5 Tf
-<64656661756c742076616c7565> Tj
-ET
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+2.264 Tw
BT
-284.8115004 483.7230000000002 Td
-/F2.0 10.5 Tf
-<29> Tj
+167.794625 256.24600000000015 Td
+/F4.0 10.5 Tf
+<6e616d652829> Tj
ET
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 513.750 m
-547.040 513.750 l
-S
-[ ] 0 d
-1.5 w
-0.867 0.867 0.867 SCN
-297.640 476.190 m
-547.040 476.190 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 514.000 m
-297.640 475.440 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-547.040 514.000 m
-547.040 475.440 l
-S
-[ ] 0 d
-1 w
+
+0.000 Tw
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
+
+2.264 Tw
BT
-300.63950120000004 498.0030000000002 Td
-/F2.0 10.5 Tf
-<4465736372697074696f6e> Tj
+199.294625 256.24600000000015 Td
+/F1.0 10.5 Tf
+<20617474726962757465206973202863757272656e746c792920756e757365642e202054686520> Tj
ET
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 476.190 m
-214.507 476.190 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 438.630 m
-214.507 438.630 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 476.440 m
-48.240 438.380 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 476.440 m
-214.507 438.380 l
-S
-[ ] 0 d
-1 w
+
+0.000 Tw
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
+0.000 0.000 0.000 scn
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
+2.264 Tw
+
BT
-51.24000000000001 460.4430000000002 Td
+398.7039166666666 256.24600000000015 Td
/F4.0 10.5 Tf
-<697369732e7669657765722e7769636b65742e> Tj
+<73657175656e63652829> Tj
ET
+
+0.000 Tw
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
+
+2.264 Tw
BT
-51.24000000000001 446.16300000000024 Td
+451.2039166666666 256.24600000000015 Td
+/F1.0 10.5 Tf
+<206f726465727320636f6c6c656374696f6e73> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+
+0.000 Tw
+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
-51.24000000000001 446.16300000000024 Td
-/F4.0 10.5 Tf
-<616a617844656275674d6f6465> Tj
+66.24000000000001 240.46600000000015 Td
+/F1.0 10.5 Tf
+<72656c617469766520746f206f6e6520616e6f74686572> Tj
ET
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 476.190 m
-297.640 476.190 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 438.630 m
-297.640 438.630 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 476.440 m
-214.507 438.380 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 476.440 m
-297.640 438.380 l
-S
-[ ] 0 d
-1 w
-0.000 0.000 0.000 SCN
+
+-0.500 Tc
0.200 0.200 0.200 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 SCN
BT
-217.50650040000002 460.4430000000002 Td
-/F4.0 10.5 Tf
-<74727565> Tj
+56.88050000000001 218.68600000000015 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.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-238.50650040000002 460.4430000000002 Td
+66.24000000000001 218.68600000000015 Td
/F1.0 10.5 Tf
-<2c> Tj
+<666f7220616374696f6e732c2074686520> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
BT
-241.13150040000002 460.4430000000002 Td
+143.55150000000003 218.68600000000015 Td
/F4.0 10.5 Tf
-<66616c7365> Tj
+<6e616d652829> 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
-217.50650040000002 446.16300000000024 Td
+175.05150000000003 218.68600000000015 Td
/F1.0 10.5 Tf
-<28> Tj
+<20617474726962757465206173736f63696174657320616e20616374696f6e20776974682065697468657220612070726f7065727479206f722077697468206120636f6c6c656374696f6e2e> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+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
-221.13950040000003 446.16300000000024 Td
-/F7.0 10.5 Tf
-<66616c7365> Tj
+74.88050000000001 196.90600000000015 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.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.063 Tw
BT
-247.38950040000003 446.16300000000024 Td
+84.24000000000001 196.90600000000015 Td
/F1.0 10.5 Tf
-<29> Tj
+<49662074686520> Tj
ET
+
+0.000 Tw
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 476.190 m
-547.040 476.190 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 438.630 m
-547.040 438.630 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 476.440 m
-297.640 438.380 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-547.040 476.440 m
-547.040 438.380 l
-S
-[ ] 0 d
-1 w
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+0.063 Tw
+
+BT
+113.50376666666668 196.90600000000015 Td
+/F4.0 10.5 Tf
+<6e616d652829> Tj
+ET
+
+
+0.000 Tw
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
+
+0.063 Tw
BT
-300.63950120000004 460.4430000000002 Td
+145.00376666666668 196.90600000000015 Td
/F1.0 10.5 Tf
-[<7768657468657220746865205769636b> 20.01953125 <6574206465627567206d6f64652073686f756c64206265>] TJ
+<20617474726962757465206d61746368657320612070726f7065727479206e616d652c207468656e2074686520616374696f6ed57320627574746f6e2069732072656e646572656420636c6f736520746f> Tj
ET
+0.000 Tw
+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
-300.63950120000004 446.16300000000024 Td
+84.24000000000001 181.12600000000015 Td
/F1.0 10.5 Tf
-<656e61626c65642e> Tj
+[<7468652070726f7065727479> 89.84375 <2c206163636f7264696e6720746f20>] TJ
ET
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 438.630 m
-214.507 438.630 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 401.070 m
-214.507 401.070 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 438.880 m
-48.240 400.820 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 438.880 m
-214.507 400.820 l
-S
-[ ] 0 d
-1 w
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
+0.000 0.000 0.000 scn
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
BT
-51.24000000000001 422.8830000000002 Td
+216.02714062500002 181.12600000000015 Td
/F4.0 10.5 Tf
-<697369732e7669657765722e7769636b65742e> Tj
+<40416374696f6e4c61796f757423706f736974696f6e2829> 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
-51.24000000000001 408.6030000000002 Td
+342.027140625 181.12600000000015 Td
+/F1.0 10.5 Tf
+<206174747269627574652e> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+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
-51.24000000000001 408.6030000000002 Td
-/F4.0 10.5 Tf
-<626f6f6b6d61726b65645061676573> Tj
+74.88050000000001 159.34600000000015 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.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+2.065 Tw
+
+BT
+84.24000000000001 159.34600000000015 Td
+/F1.0 10.5 Tf
+<4f6e20746865206f746865722068616e642069662074686520606e616d65282920617474726962757465206d617463686573206120636f6c6c656374696f6e206e616d652c207468656e2074686520616374696f6ed573> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 438.630 m
-297.640 438.630 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 401.070 m
-297.640 401.070 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 438.880 m
-214.507 400.820 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 438.880 m
-297.640 400.820 l
-S
-[ ] 0 d
-1 w
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+84.24000000000001 143.56600000000014 Td
+/F1.0 10.5 Tf
+<627574746f6e2069732072656e6465726564206f6e2074686520636f6c6c656374696f6ed573206865616465722e> 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
-217.50650040000002 422.8830000000002 Td
+74.88050000000001 121.78600000000014 Td
/F1.0 10.5 Tf
-<2b766520696e74> Tj
+<a5> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+0.000 Tc
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.670 Tw
BT
-217.50650040000002 408.6030000000002 Td
+84.24000000000001 121.78600000000014 Td
/F1.0 10.5 Tf
-<28> Tj
+<4966207468657265206973206e6f20> Tj
ET
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
+0.670 Tw
+
BT
-221.13950040000003 408.6030000000002 Td
-/F7.0 10.5 Tf
-<3135> Tj
+152.97461111111113 121.78600000000014 Td
+/F4.0 10.5 Tf
+<6e616d652829> Tj
ET
+
+0.000 Tw
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
+
+0.670 Tw
BT
-231.63950040000003 408.6030000000002 Td
+184.47461111111113 121.78600000000014 Td
/F1.0 10.5 Tf
-<29> Tj
+<2076616c75652c207468656e2074686520616374696f6e20697320636f6e7369646572656420746f207065727461696e20746f20746865206f626a65637420617320612077686f6c652c> Tj
ET
+
+0.000 Tw
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 438.630 m
-547.040 438.630 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 401.070 m
-547.040 401.070 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 438.880 m
-297.640 400.820 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-547.040 438.880 m
-547.040 400.820 l
-S
-[ ] 0 d
-1 w
-0.000 0.000 0.000 SCN
0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-300.63950120000004 422.8830000000002 Td
+84.24000000000001 106.00600000000014 Td
/F1.0 10.5 Tf
-<6e756d626572206f6620706167657320746f20626f6f6b6d61726b> Tj
+<616e642069747320627574746f6e2069732072656e646572656420636c6f736520746f20746865206f626a656374d5732069636f6e20616e64207469746c652e> Tj
ET
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 401.070 m
-214.507 401.070 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 363.510 m
-214.507 363.510 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 401.320 m
-48.240 363.260 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 401.320 m
-214.507 363.260 l
-S
-[ ] 0 d
-1 w
0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
0.200 0.200 0.200 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-51.24000000000001 385.3230000000002 Td
-/F4.0 10.5 Tf
-<697369732e7669657765722e7769636b65742e> Tj
-ET
+0.200 0.200 0.200 SCN
-0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
+0.267 Tw
BT
-51.24000000000001 371.04300000000023 Td
+48.24000000000001 72.22600000000014 Td
+/F1.0 10.5 Tf
+[<57697468696e20616e> 20.01953125 <79206f662074686573652c2074686520>] TJ
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-51.24000000000001 371.04300000000023 Td
-/F4.0 10.5 Tf
-<62726561646372756d62732e73686f7743686f6f736572> Tj
-ET
+0.000 Tw
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 401.070 m
-297.640 401.070 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 363.510 m
-297.640 363.510 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 401.320 m
-214.507 363.260 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 401.320 m
-297.640 363.260 l
-S
-[ ] 0 d
-1 w
-0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
0.694 0.129 0.275 scn
0.694 0.129 0.275 SCN
+0.267 Tw
+
BT
-217.50650040000002 385.3230000000002 Td
+171.21852994791666 72.22600000000014 Td
/F4.0 10.5 Tf
-<74727565> Tj
+<73657175656e63652829> Tj
ET
+
+0.000 Tw
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
+
+0.267 Tw
BT
-238.50650040000002 385.3230000000002 Td
+223.71852994791666 72.22600000000014 Td
/F1.0 10.5 Tf
-<2c> Tj
+<207468656e2064657465726d696e6573207468652072656c6174697665206f72646572696e67206f662074686520616374696f6e20776974682072657370656374> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
-
-BT
-241.13150040000002 385.3230000000002 Td
-/F4.0 10.5 Tf
-<66616c7365> Tj
-ET
+0.000 Tw
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
+
+2.289 Tw
BT
-217.50650040000002 371.04300000000023 Td
+48.24000000000001 56.44600000000014 Td
/F1.0 10.5 Tf
-<28> Tj
+<746f206f7468657220616374696f6e7320746861742068617665206265656e2073696d696c61726c79206173736f63696174656420776974682070726f706572746965732f636f6c6c656374696f6e73206f72206c6566742061732022667265652d> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+
+0.000 Tw
+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
-221.13950040000003 371.04300000000023 Td
-/F7.0 10.5 Tf
-<74727565> Tj
+49.24 14.388 Td
+/F1.0 9 Tf
+<3230> Tj
ET
0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+185 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 595.28 841.89]
+/Contents 184 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F2.0 18 0 R
+/F1.0 8 0 R
+/F4.0 53 0 R
+>>
+/XObject << /Stamp1 689 0 R
+>>
+>>
+/Annots [187 0 R 189 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R]
+>>
+endobj
+186 0 obj
+[185 0 R /XYZ 0 841.89 null]
+endobj
+187 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (http://en.wikipedia.org/wiki/Naked_objects)
+>>
+/Subtype /Link
+/Rect [154.001841015625 750.14 262.4495299479167 764.4200000000001]
+/Type /Annot
+>>
+endobj
+188 0 obj
+[185 0 R /XYZ 0 646.4900000000001 null]
+endobj
+189 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_layout_file-based)
+>>
+/Subtype /Link
+/Rect [454.17 592.9760000000001 506.67 603.4760000000001]
+/Type /Annot
+>>
+endobj
+190 0 obj
+[185 0 R /XYZ 0 475.7300000000002 null]
+endobj
+191 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder)
+>>
+/Subtype /Link
+/Rect [72.41757142857142 429.01600000000013 135.41757142857145 439.51600000000013]
+/Type /Annot
+>>
+endobj
+192 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder_name)
+>>
+/Subtype /Link
+/Rect [244.18035714285713 385.45600000000013 275.68035714285713 395.95600000000013]
+/Type /Annot
+>>
+endobj
+193 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MemberOrder_sequence)
+>>
+/Subtype /Link
+/Rect [301.07349999999997 385.45600000000013 353.57349999999997 395.95600000000013]
+/Type /Annot
+>>
+endobj
+194 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-MemberGroupLayout)
+>>
+/Subtype /Link
+/Rect [403.825294921875 282.55600000000015 498.325294921875 293.05600000000015]
+/Type /Annot
+>>
+endobj
+195 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (../rgant/rgant.pdf#_rgant-ActionLayout_position)
+>>
+/Subtype /Link
+/Rect [216.02714062500002 179.65600000000015 342.027140625 190.15600000000015]
+/Type /Annot
+>>
+endobj
+196 0 obj
+<< /Length 64562
+>>
+stream
+q
+/DeviceRGB cs
0.200 0.200 0.200 scn
+/DeviceRGB CS
+0.200 0.200 0.200 SCN
BT
-242.13950040000003 371.04300000000023 Td
+48.24 794.6759999999999 Td
/F1.0 10.5 Tf
-<29> Tj
+<7374616e64696e67222e> Tj
ET
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 401.070 m
-547.040 401.070 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 363.510 m
-547.040 363.510 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 401.320 m
-297.640 363.260 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-547.040 401.320 m
-547.040 363.260 l
-S
-[ ] 0 d
-1 w
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
-300.63950120000004 385.3230000000002 Td
+48.24 766.896 Td
/F1.0 10.5 Tf
-<5768657468657220746f2073686f772063686f6f73657220666f722042726561646372756d6273> Tj
+[<46> 40.0390625 <6f72206578616d706c653a>] TJ
ET
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 363.510 m
-214.507 363.510 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 297.390 m
-214.507 297.390 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 363.760 m
-48.240 297.140 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 363.760 m
-214.507 297.140 l
+q
+0.961 0.961 0.961 scn
+52.240 751.080 m
+543.040 751.080 l
+545.249 751.080 547.040 749.289 547.040 747.080 c
+547.040 482.500 l
+547.040 480.291 545.249 478.500 543.040 478.500 c
+52.240 478.500 l
+50.031 478.500 48.240 480.291 48.240 482.500 c
+48.240 747.080 l
+48.240 749.289 50.031 751.080 52.240 751.080 c
+h
+f
+0.800 0.800 0.800 SCN
+0.75 w
+52.240 751.080 m
+543.040 751.080 l
+545.249 751.080 547.040 749.289 547.040 747.080 c
+547.040 482.500 l
+547.040 480.291 545.249 478.500 543.040 478.500 c
+52.240 478.500 l
+50.031 478.500 48.240 480.291 48.240 482.500 c
+48.240 747.080 l
+48.240 749.289 50.031 751.080 52.240 751.080 c
+h
S
-[ ] 0 d
-1 w
-0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+Q
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
BT
-51.24000000000001 347.7630000000002 Td
-/F4.0 10.5 Tf
-<697369732e7669657765722e7769636b65742e> Tj
+59.24 728.255 Td
+/F4.0 11 Tf
+<7075626c6963> 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
-51.24000000000001 333.4830000000002 Td
+92.24000000000001 728.255 Td
+/F4.0 11 Tf
+<20> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.467 0.533 scn
+0.000 0.467 0.533 SCN
BT
-51.24000000000001 333.4830000000002 Td
-/F4.0 10.5 Tf
-<646174655061747465726e> Tj
+97.74000000000001 728.255 Td
+/F4.0 11 Tf
+<636c617373> Tj
ET
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 363.510 m
-297.640 363.510 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 297.390 m
-297.640 297.390 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 363.760 m
-214.507 297.140 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 363.760 m
-297.640 297.140 l
-S
-[ ] 0 d
-1 w
-0.000 0.000 0.000 SCN
0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
BT
-217.50650040000002 347.7630000000002 Td
-/F1.0 10.5 Tf
-<6461746520666f726d6174> Tj
+125.24000000000001 728.255 Td
+/F4.0 11 Tf
+<20> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.000 0.667 0.533 scn
+0.000 0.667 0.533 SCN
BT
-217.50650040000002 333.4830000000002 Td
-/F1.0 10.5 Tf
-<28> Tj
+130.74 728.255 Td
+/F4.0 11 Tf
+<546f446f4974656d> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+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
-221.13950040000003 333.4830000000002 Td
-/F4.0 10.5 Tf
-<64642d4d4d2d79797979> Tj
+174.74 728.255 Td
+/F4.0 11 Tf
+<20> 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
-273.63950040000003 333.4830000000002 Td
-/F1.0 10.5 Tf
-<29> Tj
+180.24 728.255 Td
+/F4.0 11 Tf
+<7b> Tj
ET
-0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 363.510 m
-547.040 363.510 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 297.390 m
-547.040 297.390 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 363.760 m
-297.640 297.140 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-547.040 363.760 m
-547.040 297.140 l
-S
-[ ] 0 d
-1 w
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
-300.63950120000004 347.7630000000002 Td
-/F1.0 10.5 Tf
-<54686520> Tj
+59.24 713.515 Td
+/F4.0 11 Tf
+<ca202020> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.600 0.600 1.000 scn
+0.600 0.600 1.000 SCN
BT
-322.05950120000006 347.7630000000002 Td
-/F4.0 10.5 Tf
-<53696d706c6544617465466f726d6174> Tj
+81.24000000000001 713.515 Td
+/F4.0 11 Tf
+<404d656d6265724f72646572> 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
-406.05950120000006 347.7630000000002 Td
-/F1.0 10.5 Tf
-[<207573656420746f2072656e6465722064617465732e202046> 40.0390625 <6f72>] TJ
-ET
-
-
-BT
-300.63950120000004 333.4830000000002 Td
-/F1.0 10.5 Tf
-[<7468652064617465207069636b> 20.01953125 <657220287768696368207573657320>] TJ
+147.24 713.515 Td
+/F4.0 11 Tf
+<28> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+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
-439.54379612187506 333.4830000000002 Td
-/F4.0 10.5 Tf
-<6d6f6d656e742e6a73> Tj
+152.74 713.515 Td
+/F4.0 11 Tf
+<73657175656e6365> 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
-486.79379612187506 333.4830000000002 Td
-/F1.0 10.5 Tf
-[<206c696272> 20.01953125 <617279292c>] TJ
+196.74 713.515 Td
+/F4.0 11 Tf
+<3d> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-300.63950120000004 319.2030000000002 Td
-/F1.0 10.5 Tf
-<7468697320697320636f6e7665727465642064796e616d6963616c6c7920696e746f20746865> Tj
+202.24 713.515 Td
+/F4.0 11 Tf
+<22> Tj
ET
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-300.63950120000004 304.92300000000023 Td
-/F1.0 10.5 Tf
-<636f72726573706f6e64696e6720> Tj
+207.74 713.515 Td
+/F4.0 11 Tf
+<31> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.800 0.200 0.000 scn
+0.800 0.200 0.000 SCN
BT
-376.30250120000005 304.92300000000023 Td
-/F4.0 10.5 Tf
-<6d6f6d656e742e6a73> Tj
+213.24 713.515 Td
+/F4.0 11 Tf
+<22> 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
-423.55250120000005 304.92300000000023 Td
-/F1.0 10.5 Tf
-<20666f726d61742e> Tj
+218.74 713.515 Td
+/F4.0 11 Tf
+<29> Tj
ET
+0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 297.390 m
-214.507 297.390 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 231.270 m
-214.507 231.270 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 297.640 m
-48.240 231.020 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 297.640 m
-214.507 231.020 l
-S
-[ ] 0 d
-1 w
-0.000 0.000 0.000 SCN
0.200 0.200 0.200 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 SCN
BT
-51.24000000000001 281.6430000000002 Td
-/F4.0 10.5 Tf
-<697369732e7669657765722e7769636b65742e> Tj
+59.24 698.7750000000001 Td
+/F4.0 11 Tf
+<ca202020> Tj
ET
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
+0.000 0.000 0.000 scn
+0.000 0.400 0.600 scn
+0.000 0.400 0.600 SCN
BT
-51.24000000000001 267.36300000000017 Td
+81.24000000000001 698.7750000000001 Td
+/F4.0 11 Tf
+<7075626c6963> Tj
ET
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+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
-51.24000000000001 267.36300000000017 Td
-/F4.0 10.5 Tf
-<6461746554696d655061747465726e> Tj
+114.24000000000001 698.7750000000001 Td
+/F4.0 11 Tf
+<20> Tj
ET
0.000 0.000 0.000 SCN
-0.200 0.200 0.200 scn
0.000 0.000 0.000 scn
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 297.390 m
-297.640 297.390 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 231.270 m
-297.640 231.270 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-214.507 297.640 m
-214.507 231.020 l
-S
-[ ] 0 d
-0.5 w
-0.867 0.867 0.867 SCN
-297.640 297.640 m
-297.640 231.020 l
-S
-[ ] 0 d
-1 w
+0.000 0.467 0.533 scn
+0.000 0.467 0.533 SCN
+
+BT
+119.74000000000001 698.7750000000001 Td
+/F4.0 11 Tf
+<537472696e67> 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
-217.50650040000002 281.6430
<TRUNCATED>
[18/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png
----------------------------------------------------------------------
diff --git a/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png b/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png
new file mode 100644
index 0000000..f0cf269
Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/action-semantics-are-you-sure.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png
----------------------------------------------------------------------
diff --git a/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png
new file mode 100644
index 0000000..1981c09
Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-happy-case.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png
----------------------------------------------------------------------
diff --git a/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png
new file mode 100644
index 0000000..6182447
Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/are-you-sure-sad-case.png differ
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png
----------------------------------------------------------------------
diff --git a/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png b/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png
new file mode 100644
index 0000000..e1a76fe
Binary files /dev/null and b/content/guides/ugbtb/images/hints-and-tips/are-you-sure.png differ
[13/34] isis-site git commit: ISIS-1521: ugfun.adoc and FIXMEs
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis-site/blob/6ad91949/content/guides/ugfun/ugfun.pdf
----------------------------------------------------------------------
diff --git a/content/guides/ugfun/ugfun.pdf b/content/guides/ugfun/ugfun.pdf
index e3d71d7..e309b6f 100644
--- a/content/guides/ugfun/ugfun.pdf
+++ b/content/guides/ugfun/ugfun.pdf
@@ -4,16 +4,16 @@
<< /Title (Fundamentals)
/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:20170411195520+01'00')
-/ModDate (D:20170411195520+01'00')
+/CreationDate (D:20170420093337+01'00')
+/ModDate (D:20170420093337+01'00')
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
/Names 16 0 R
-/Outlines 1219 0 R
-/PageLabels 1263 0 R
+/Outlines 1199 0 R
+/PageLabels 1258 0 R
/PageMode /UseOutlines
/OpenAction [7 0 R /FitH 842.89]
/ViewerPreferences << /DisplayDocTitle true
@@ -22,8 +22,8 @@ endobj
endobj
3 0 obj
<< /Type /Pages
-/Count 128
-/Kids [7 0 R 10 0 R 12 0 R 14 0 R 42 0 R 50 0 R 53 0 R 56 0 R 60 0 R 66 0 R 85 0 R 90 0 R 96 0 R 110 0 R 116 0 R 124 0 R 130 0 R 133 0 R 142 0 R 158 0 R 169 0 R 183 0 R 197 0 R 204 0 R 211 0 R 216 0 R 220 0 R 226 0 R 240 0 R 265 0 R 296 0 R 324 0 R 340 0 R 349 0 R 353 0 R 364 0 R 367 0 R 379 0 R 387 0 R 395 0 R 402 0 R 408 0 R 414 0 R 421 0 R 427 0 R 434 0 R 439 0 R 445 0 R 464 0 R 468 0 R 471 0 R 479 0 R 487 0 R 493 0 R 495 0 R 499 0 R 502 0 R 510 0 R 518 0 R 529 0 R 537 0 R 543 0 R 552 0 R 559 0 R 563 0 R 569 0 R 577 0 R 588 0 R 594 0 R 601 0 R 604 0 R 618 0 R 627 0 R 636 0 R 639 0 R 646 0 R 651 0 R 674 0 R 691 0 R 704 0 R 714 0 R 719 0 R 724 0 R 734 0 R 739 0 R 742 0 R 744 0 R 751 0 R 761 0 R 769 0 R 787 0 R 824 0 R 850 0 R 885 0 R 897 0 R 899 0 R 914 0 R 917 0 R 930 0 R 937 0 R 942 0 R 947 0 R 963 0 R 976 0 R 980 0 R 985 0 R 989 0 R 992 0 R 999 0 R 1002 0 R 1006 0 R 1014 0 R 1029 0 R 1032 0 R 1035 0 R 1045 0 R 1050 0 R 1053 0 R 1058 0 R 1069 0 R 1074 0 R 1084 0 R 1086 0 R 1094 0
R 1100 0 R 1110 0 R 1116 0 R 1118 0 R]
+/Count 133
+/Kids [7 0 R 10 0 R 12 0 R 14 0 R 42 0 R 50 0 R 53 0 R 56 0 R 60 0 R 66 0 R 85 0 R 90 0 R 96 0 R 110 0 R 116 0 R 124 0 R 130 0 R 133 0 R 142 0 R 158 0 R 169 0 R 183 0 R 197 0 R 208 0 R 216 0 R 223 0 R 228 0 R 237 0 R 246 0 R 252 0 R 257 0 R 267 0 R 280 0 R 290 0 R 305 0 R 313 0 R 321 0 R 330 0 R 344 0 R 346 0 R 357 0 R 360 0 R 372 0 R 380 0 R 388 0 R 395 0 R 401 0 R 407 0 R 414 0 R 420 0 R 427 0 R 432 0 R 438 0 R 457 0 R 461 0 R 464 0 R 472 0 R 476 0 R 482 0 R 484 0 R 486 0 R 489 0 R 502 0 R 504 0 R 506 0 R 510 0 R 527 0 R 532 0 R 543 0 R 550 0 R 562 0 R 573 0 R 581 0 R 585 0 R 594 0 R 603 0 R 608 0 R 618 0 R 622 0 R 635 0 R 640 0 R 647 0 R 650 0 R 665 0 R 674 0 R 683 0 R 686 0 R 692 0 R 695 0 R 705 0 R 710 0 R 719 0 R 724 0 R 726 0 R 732 0 R 736 0 R 738 0 R 742 0 R 755 0 R 765 0 R 768 0 R 772 0 R 776 0 R 783 0 R 791 0 R 794 0 R 804 0 R 808 0 R 813 0 R 818 0 R 824 0 R 833 0 R 840 0 R 850 0 R 868 0 R 881 0 R 883 0 R 897 0 R 903 0 R 908 0 R 919 0 R 926 0 R 931 0 R 943 0 R 953 0 R 961
0 R 974 0 R 977 0 R 982 0 R 987 0 R 1011 0 R 1039 0 R 1070 0 R]
>>
endobj
4 0 obj
@@ -80,15 +80,15 @@ endobj
<< /Type /Font
/BaseFont /AAAACQ+NotoSerif
/Subtype /TrueType
-/FontDescriptor 1265 0 R
+/FontDescriptor 1260 0 R
/FirstChar 32
/LastChar 255
-/Widths 1267 0 R
-/ToUnicode 1266 0 R
+/Widths 1262 0 R
+/ToUnicode 1261 0 R
>>
endobj
9 0 obj
-<< /Length 31986
+<< /Length 32124
>>
stream
q
@@ -351,7 +351,7 @@ ET
BT
60.24 640.9759999999999 Td
/F1.0 10.5 Tf
-<322e342e204275696c64696e6720426c6f636b73> Tj
+[<322e342e204465706c6f> 20.01953125 <796d656e74204f7074696f6e73>] TJ
ET
0.000 0.000 0.000 SCN
@@ -360,9 +360,9 @@ ET
0.200 0.200 0.200 SCN
BT
-159.82624999999996 640.9759999999999 Td
+186.54874999999993 640.9759999999999 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -389,9 +389,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 622.4959999999999 Td
+48.24 622.4959999999999 Td
/F1.0 10.5 Tf
-[<322e352e204672> 20.01953125 <616d65776f726b2d70726f7669646564205365727669636573>] TJ
+<332e204275696c64696e6720426c6f636b73> Tj
ET
0.000 0.000 0.000 SCN
@@ -400,9 +400,9 @@ ET
0.200 0.200 0.200 SCN
BT
-234.64924999999994 622.4959999999999 Td
+138.44824999999992 622.4959999999999 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -420,7 +420,7 @@ ET
BT
535.3009999999999 622.4959999999999 Td
/F1.0 10.5 Tf
-<3236> Tj
+<3232> Tj
ET
0.000 0.000 0.000 SCN
@@ -431,7 +431,7 @@ ET
BT
60.24 604.0159999999998 Td
/F1.0 10.5 Tf
-[<322e362e20497369732041> 20.01953125 <64642d6f6e73>] TJ
+<332e312e2041204d6574614d6f64656c> Tj
ET
0.000 0.000 0.000 SCN
@@ -440,9 +440,9 @@ ET
0.200 0.200 0.200 SCN
BT
-143.79274999999996 604.0159999999998 Td
+149.13724999999994 604.0159999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -460,7 +460,7 @@ ET
BT
535.3009999999999 604.0159999999998 Td
/F1.0 10.5 Tf
-<3238> Tj
+<3232> Tj
ET
0.000 0.000 0.000 SCN
@@ -471,7 +471,7 @@ ET
BT
60.24 585.5359999999998 Td
/F1.0 10.5 Tf
-[<322e372e204f74686572204465706c6f> 20.01953125 <796d656e74204f7074696f6e73>] TJ
+<332e322e2054797065206f6620446f6d61696e204f626a65637473> Tj
ET
0.000 0.000 0.000 SCN
@@ -480,9 +480,9 @@ ET
0.200 0.200 0.200 SCN
BT
-218.61574999999993 585.5359999999998 Td
+202.58224999999993 585.5359999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -500,7 +500,7 @@ ET
BT
535.3009999999999 585.5359999999998 Td
/F1.0 10.5 Tf
-<3239> Tj
+<3232> Tj
ET
0.000 0.000 0.000 SCN
@@ -509,9 +509,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 567.0559999999998 Td
+60.24 567.0559999999998 Td
/F1.0 10.5 Tf
-<332e2047657474696e672053746172746564> Tj
+<332e332e204964656e74696669657273> Tj
ET
0.000 0.000 0.000 SCN
@@ -520,9 +520,9 @@ ET
0.200 0.200 0.200 SCN
BT
-138.44824999999992 567.0559999999998 Td
+133.10374999999993 567.0559999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -540,7 +540,7 @@ ET
BT
535.3009999999999 567.0559999999998 Td
/F1.0 10.5 Tf
-<3332> Tj
+<3330> Tj
ET
0.000 0.000 0.000 SCN
@@ -551,7 +551,7 @@ ET
BT
60.24 548.5759999999998 Td
/F1.0 10.5 Tf
-<332e312e2050726572657175697369746573> Tj
+<332e342e204f626a656374204d656d62657273> Tj
ET
0.000 0.000 0.000 SCN
@@ -560,9 +560,9 @@ ET
0.200 0.200 0.200 SCN
BT
-149.13724999999994 548.5759999999998 Td
+165.17074999999994 548.5759999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -591,7 +591,7 @@ ET
BT
60.24 530.0959999999998 Td
/F1.0 10.5 Tf
-<332e322e2053696d706c6541707020417263686574797065> Tj
+<332e352e204576656e7473> Tj
ET
0.000 0.000 0.000 SCN
@@ -600,9 +600,9 @@ ET
0.200 0.200 0.200 SCN
BT
-191.89324999999997 530.0959999999998 Td
+117.07024999999993 530.0959999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -620,7 +620,7 @@ ET
BT
535.3009999999999 530.0959999999998 Td
/F1.0 10.5 Tf
-<3332> Tj
+<3333> Tj
ET
0.000 0.000 0.000 SCN
@@ -631,7 +631,7 @@ ET
BT
60.24 511.6159999999998 Td
/F1.0 10.5 Tf
-<332e332e20446174616e75636c65757320456e68616e636572> Tj
+<332e362e204d6f64756c6573> Tj
ET
0.000 0.000 0.000 SCN
@@ -640,9 +640,9 @@ ET
0.200 0.200 0.200 SCN
BT
-197.23774999999995 511.6159999999998 Td
+127.75924999999995 511.6159999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -660,7 +660,7 @@ ET
BT
535.3009999999999 511.6159999999998 Td
/F1.0 10.5 Tf
-<3435> Tj
+<3335> Tj
ET
0.000 0.000 0.000 SCN
@@ -671,7 +671,7 @@ ET
BT
48.24 493.1359999999998 Td
/F1.0 10.5 Tf
-<342e20486f7720746f73> Tj
+<342e2047657474696e672053746172746564> Tj
ET
0.000 0.000 0.000 SCN
@@ -680,9 +680,9 @@ ET
0.200 0.200 0.200 SCN
BT
-101.03674999999993 493.1359999999998 Td
+138.44824999999992 493.1359999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -700,7 +700,7 @@ ET
BT
535.3009999999999 493.1359999999998 Td
/F1.0 10.5 Tf
-<3439> Tj
+<3337> Tj
ET
0.000 0.000 0.000 SCN
@@ -711,7 +711,7 @@ ET
BT
60.24 474.6559999999998 Td
/F1.0 10.5 Tf
-<342e312e20436c61737320537472756374757265> Tj
+<342e312e2050726572657175697369746573> Tj
ET
0.000 0.000 0.000 SCN
@@ -720,9 +720,9 @@ ET
0.200 0.200 0.200 SCN
BT
-159.82624999999996 474.6559999999998 Td
+149.13724999999994 474.6559999999998 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -740,7 +740,7 @@ ET
BT
535.3009999999999 474.6559999999998 Td
/F1.0 10.5 Tf
-<3439> Tj
+<3337> Tj
ET
0.000 0.000 0.000 SCN
@@ -751,7 +751,7 @@ ET
BT
60.24 456.17599999999976 Td
/F1.0 10.5 Tf
-<342e322e2055492048696e7473> Tj
+<342e322e2053696d706c6541707020417263686574797065> Tj
ET
0.000 0.000 0.000 SCN
@@ -760,9 +760,9 @@ ET
0.200 0.200 0.200 SCN
BT
-122.41474999999997 456.17599999999976 Td
+191.89324999999997 456.17599999999976 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -780,7 +780,7 @@ ET
BT
535.3009999999999 456.17599999999976 Td
/F1.0 10.5 Tf
-<3732> Tj
+<3337> Tj
ET
0.000 0.000 0.000 SCN
@@ -791,7 +791,7 @@ ET
BT
60.24 437.69599999999974 Td
/F1.0 10.5 Tf
-<342e332e20446f6d61696e205365727669636573> Tj
+<342e332e20446174616e75636c65757320456e68616e636572> Tj
ET
0.000 0.000 0.000 SCN
@@ -800,9 +800,9 @@ ET
0.200 0.200 0.200 SCN
BT
-165.17074999999994 437.69599999999974 Td
+197.23774999999995 437.69599999999974 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -820,7 +820,7 @@ ET
BT
535.3009999999999 437.69599999999974 Td
/F1.0 10.5 Tf
-<3830> Tj
+<3530> Tj
ET
0.000 0.000 0.000 SCN
@@ -829,9 +829,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 419.2159999999997 Td
+48.24 419.2159999999997 Td
/F1.0 10.5 Tf
-[<342e342e204f626a656374204d616e6167656d656e7420284352> 9.765625 <554429>] TJ
+[<352e2050726f6772> 20.01953125 <616d6d696e67204d6f64656c>] TJ
ET
0.000 0.000 0.000 SCN
@@ -840,9 +840,9 @@ ET
0.200 0.200 0.200 SCN
BT
-223.96024999999997 419.2159999999997 Td
+165.17074999999994 419.2159999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -860,7 +860,7 @@ ET
BT
535.3009999999999 419.2159999999997 Td
/F1.0 10.5 Tf
-<3837> Tj
+<3534> Tj
ET
0.000 0.000 0.000 SCN
@@ -871,7 +871,7 @@ ET
BT
60.24 400.7359999999997 Td
/F1.0 10.5 Tf
-<342e352e20427573696e6573732052756c6573> Tj
+<352e312e20446f6d61696e20456e746974696573> Tj
ET
0.000 0.000 0.000 SCN
@@ -880,9 +880,9 @@ ET
0.200 0.200 0.200 SCN
BT
-154.48174999999992 400.7359999999997 Td
+165.17074999999994 400.7359999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -900,7 +900,7 @@ ET
BT
535.3009999999999 400.7359999999997 Td
/F1.0 10.5 Tf
-<3837> Tj
+<3535> Tj
ET
0.000 0.000 0.000 SCN
@@ -911,7 +911,7 @@ ET
BT
60.24 382.2559999999997 Td
/F1.0 10.5 Tf
-<342e362e2044657269766564204d656d62657273> Tj
+<352e322e20446f6d61696e205365727669636573> Tj
ET
0.000 0.000 0.000 SCN
@@ -920,9 +920,9 @@ ET
0.200 0.200 0.200 SCN
BT
-170.51524999999992 382.2559999999997 Td
+165.17074999999994 382.2559999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -940,7 +940,7 @@ ET
BT
535.3009999999999 382.2559999999997 Td
/F1.0 10.5 Tf
-<3839> Tj
+<3539> Tj
ET
0.000 0.000 0.000 SCN
@@ -951,7 +951,7 @@ ET
BT
60.24 363.77599999999967 Td
/F1.0 10.5 Tf
-<342e372e2044726f7020446f776e7320616e642044656661756c7473> Tj
+<352e332e2050726f7065727479> Tj
ET
0.000 0.000 0.000 SCN
@@ -960,9 +960,9 @@ ET
0.200 0.200 0.200 SCN
BT
-213.27124999999995 363.77599999999967 Td
+127.75924999999995 363.77599999999967 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -980,7 +980,7 @@ ET
BT
535.3009999999999 363.77599999999967 Td
/F1.0 10.5 Tf
-<3839> Tj
+<3637> Tj
ET
0.000 0.000 0.000 SCN
@@ -991,7 +991,7 @@ ET
BT
60.24 345.29599999999965 Td
/F1.0 10.5 Tf
-[<342e382e2042756c6b2041> 20.01953125 <6374696f6e73>] TJ
+<352e342e20436f6c6c656374696f6e73> Tj
ET
0.000 0.000 0.000 SCN
@@ -1000,9 +1000,9 @@ ET
0.200 0.200 0.200 SCN
BT
-143.79274999999996 345.29599999999965 Td
+138.44824999999992 345.29599999999965 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1020,7 +1020,7 @@ ET
BT
535.3009999999999 345.29599999999965 Td
/F1.0 10.5 Tf
-<3931> Tj
+<3734> Tj
ET
0.000 0.000 0.000 SCN
@@ -1031,7 +1031,7 @@ ET
BT
60.24 326.81599999999963 Td
/F1.0 10.5 Tf
-<342e392e20436f6c6c656374696f6e73206f662076616c756573> Tj
+[<352e352e2041> 20.01953125 <6374696f6e73>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1040,9 +1040,9 @@ ET
0.200 0.200 0.200 SCN
BT
-186.54874999999993 326.81599999999963 Td
+122.41474999999997 326.81599999999963 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1060,7 +1060,7 @@ ET
BT
535.3009999999999 326.81599999999963 Td
/F1.0 10.5 Tf
-<3931> Tj
+<3736> Tj
ET
0.000 0.000 0.000 SCN
@@ -1071,7 +1071,7 @@ ET
BT
60.24 308.3359999999996 Td
/F1.0 10.5 Tf
-<342e31302e20537562636c6173732070726f7065727469657320696e207461626c6573> Tj
+<352e362e20496e6a656374696e67207365727669636573> Tj
ET
0.000 0.000 0.000 SCN
@@ -1080,9 +1080,9 @@ ET
0.200 0.200 0.200 SCN
BT
-229.30474999999996 308.3359999999996 Td
+170.51524999999992 308.3359999999996 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1100,7 +1100,7 @@ ET
BT
535.3009999999999 308.3359999999996 Td
/F1.0 10.5 Tf
-<3931> Tj
+<3832> Tj
ET
0.000 0.000 0.000 SCN
@@ -1109,9 +1109,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 289.8559999999996 Td
+60.24 289.8559999999996 Td
/F1.0 10.5 Tf
-[<352e204f626a656374204c61> 20.01953125 <796f7574>] TJ
+[<352e372e2050726f7065727469657320767320506172> 20.01953125 <616d6574657273>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1120,9 +1120,9 @@ ET
0.200 0.200 0.200 SCN
BT
-133.10374999999993 289.8559999999996 Td
+207.92674999999997 289.8559999999996 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1140,7 +1140,7 @@ ET
BT
535.3009999999999 289.8559999999996 Td
/F1.0 10.5 Tf
-<3933> Tj
+<3834> Tj
ET
0.000 0.000 0.000 SCN
@@ -1151,7 +1151,7 @@ ET
BT
60.24 271.3759999999996 Td
/F1.0 10.5 Tf
-[<352e312e20537461746963204f626a656374204c61> 20.01953125 <796f7574>] TJ
+<352e382e2056696577204d6f64656c73> Tj
ET
0.000 0.000 0.000 SCN
@@ -1160,9 +1160,9 @@ ET
0.200 0.200 0.200 SCN
BT
-181.20424999999994 271.3759999999996 Td
+149.13724999999994 271.3759999999996 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1180,7 +1180,7 @@ ET
BT
535.3009999999999 271.3759999999996 Td
/F1.0 10.5 Tf
-<3933> Tj
+<3834> Tj
ET
0.000 0.000 0.000 SCN
@@ -1191,7 +1191,7 @@ ET
BT
60.24 252.89599999999956 Td
/F1.0 10.5 Tf
-[<352e322e2044796e616d69632028584d4c29204c61> 20.01953125 <796f7574>] TJ
+<352e392e204d6978696e73> Tj
ET
0.000 0.000 0.000 SCN
@@ -1200,9 +1200,9 @@ ET
0.200 0.200 0.200 SCN
BT
-197.23774999999995 252.89599999999956 Td
+117.07024999999993 252.89599999999956 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1220,7 +1220,7 @@ ET
BT
535.3009999999999 252.89599999999956 Td
/F1.0 10.5 Tf
-<3939> Tj
+<3936> Tj
ET
0.000 0.000 0.000 SCN
@@ -1229,9 +1229,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 234.41599999999957 Td
+48.24 234.41599999999957 Td
/F1.0 10.5 Tf
-[<352e332e2044796e616d696320284a534f4e29204c61> 20.01953125 <796f7574>] TJ
+<362e2055492048696e7473> Tj
ET
0.000 0.000 0.000 SCN
@@ -1240,9 +1240,9 @@ ET
0.200 0.200 0.200 SCN
BT
-202.05724999999995 234.41599999999957 Td
+105.85624999999993 234.41599999999957 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1260,7 +1260,7 @@ ET
BT
529.4314999999999 234.41599999999957 Td
/F1.0 10.5 Tf
-<313039> Tj
+<313033> Tj
ET
0.000 0.000 0.000 SCN
@@ -1271,7 +1271,7 @@ ET
BT
60.24 215.93599999999958 Td
/F1.0 10.5 Tf
-[<352e342e204170706c69636174696f6e204d656e75204c61> 20.01953125 <796f7574>] TJ
+[<362e312e204c61> 20.01953125 <796f7574>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1280,9 +1280,9 @@ ET
0.200 0.200 0.200 SCN
BT
-212.74624999999992 215.93599999999958 Td
+116.54524999999995 215.93599999999958 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1300,7 +1300,7 @@ ET
BT
529.4314999999999 215.93599999999958 Td
/F1.0 10.5 Tf
-<313132> Tj
+<313033> Tj
ET
0.000 0.000 0.000 SCN
@@ -1311,7 +1311,7 @@ ET
BT
60.24 197.4559999999996 Td
/F1.0 10.5 Tf
-[<352e352e205374617469632076732044796e616d6963204c61> 20.01953125 <796f757473>] TJ
+<362e322e204f626a656374205469746c657320616e642049636f6e73> Tj
ET
0.000 0.000 0.000 SCN
@@ -1320,9 +1320,9 @@ ET
0.200 0.200 0.200 SCN
BT
-212.74624999999992 197.4559999999996 Td
+196.71274999999991 197.4559999999996 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1340,7 +1340,7 @@ ET
BT
529.4314999999999 197.4559999999996 Td
/F1.0 10.5 Tf
-<313136> Tj
+<313033> Tj
ET
0.000 0.000 0.000 SCN
@@ -1349,9 +1349,9 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24 178.9759999999996 Td
+60.24 178.9759999999996 Td
/F1.0 10.5 Tf
-[<362e2046> 69.82421875 <41> 20.01953125 <5173>] TJ
+[<362e332e2041> 20.01953125 <6374696f6e2049636f6e7320616e6420435353>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1360,9 +1360,9 @@ ET
0.200 0.200 0.200 SCN
BT
-89.82274999999993 178.9759999999996 Td
+186.02374999999995 178.9759999999996 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1380,7 +1380,7 @@ ET
BT
529.4314999999999 178.9759999999996 Td
/F1.0 10.5 Tf
-<313138> Tj
+<313039> Tj
ET
0.000 0.000 0.000 SCN
@@ -1391,7 +1391,7 @@ ET
BT
60.24 160.4959999999996 Td
/F1.0 10.5 Tf
-<362e312e20456e61626c696e67204c6f6767696e67> Tj
+<362e342e204e616d657320616e64204465736372697074696f6e73> Tj
ET
0.000 0.000 0.000 SCN
@@ -1400,9 +1400,9 @@ ET
0.200 0.200 0.200 SCN
BT
-169.99024999999995 160.4959999999996 Td
+202.05724999999995 160.4959999999996 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1420,7 +1420,7 @@ ET
BT
529.4314999999999 160.4959999999996 Td
/F1.0 10.5 Tf
-<313138> Tj
+<313131> Tj
ET
0.000 0.000 0.000 SCN
@@ -1431,7 +1431,7 @@ ET
BT
60.24 142.01599999999962 Td
/F1.0 10.5 Tf
-<362e322e2053756274797065206e6f742066756c6c7920706f70756c61746564> Tj
+<362e352e2045616765722072656e646572696e67> Tj
ET
0.000 0.000 0.000 SCN
@@ -1440,9 +1440,9 @@ ET
0.200 0.200 0.200 SCN
BT
-223.43524999999994 142.01599999999962 Td
+164.6457499999999 142.01599999999962 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1460,7 +1460,7 @@ ET
BT
529.4314999999999 142.01599999999962 Td
/F1.0 10.5 Tf
-<313138> Tj
+<313132> Tj
ET
0.000 0.000 0.000 SCN
@@ -1469,9 +1469,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 123.53599999999963 Td
+48.24 123.53599999999963 Td
/F1.0 10.5 Tf
-[<362e332e20486f7720706172736520696d6167657320696e2052> 20.01953125 <4f207669657765723f>] TJ
+[<372e204f626a656374204d616e6167656d656e7420284352> 9.765625 <554429>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1480,9 +1480,9 @@ ET
0.200 0.200 0.200 SCN
BT
-250.1577499999999 123.53599999999963 Td
+202.05724999999995 123.53599999999963 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1500,7 +1500,7 @@ ET
BT
529.4314999999999 123.53599999999963 Td
/F1.0 10.5 Tf
-<313230> Tj
+<313134> Tj
ET
0.000 0.000 0.000 SCN
@@ -1511,7 +1511,7 @@ ET
BT
60.24 105.05599999999964 Td
/F1.0 10.5 Tf
-<362e342e20456e68616e6365206f6e6c792028496e74656c6c694a29> Tj
+<372e312e20496e7374616e74696174696e67> Tj
ET
0.000 0.000 0.000 SCN
@@ -1520,9 +1520,9 @@ ET
0.200 0.200 0.200 SCN
BT
-196.71274999999991 105.05599999999964 Td
+148.6122499999999 105.05599999999964 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1540,7 +1540,7 @@ ET
BT
529.4314999999999 105.05599999999964 Td
/F1.0 10.5 Tf
-<313230> Tj
+<313134> Tj
ET
0.000 0.000 0.000 SCN
@@ -1551,7 +1551,7 @@ ET
BT
60.24 86.57599999999965 Td
/F1.0 10.5 Tf
-<362e352e205065722d75736572205468656d6573> Tj
+<372e322e2050657273697374696e67> Tj
ET
0.000 0.000 0.000 SCN
@@ -1560,9 +1560,9 @@ ET
0.200 0.200 0.200 SCN
BT
-164.6457499999999 86.57599999999965 Td
+132.5787499999999 86.57599999999965 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1580,7 +1580,7 @@ ET
BT
529.4314999999999 86.57599999999965 Td
/F1.0 10.5 Tf
-<313230> Tj
+<313135> Tj
ET
0.000 0.000 0.000 SCN
@@ -1591,7 +1591,7 @@ ET
BT
60.24 68.09599999999966 Td
/F1.0 10.5 Tf
-[<362e362e20486f77206931386e20746865205769636b> 20.01953125 <6574207669657765723f>] TJ
+<372e332e2046696e64696e67204f626a65637473> Tj
ET
0.000 0.000 0.000 SCN
@@ -1600,9 +1600,9 @@ ET
0.200 0.200 0.200 SCN
BT
-228.77974999999992 68.09599999999966 Td
+159.30124999999992 68.09599999999966 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1620,7 +1620,7 @@ ET
BT
529.4314999999999 68.09599999999966 Td
/F1.0 10.5 Tf
-<313232> Tj
+<313136> Tj
ET
0.000 0.000 0.000 SCN
@@ -1639,11 +1639,11 @@ endobj
/F1.0 8 0 R
>>
>>
-/Annots [1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R]
+/Annots [1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R]
>>
endobj
11 0 obj
-<< /Length 2468
+<< /Length 15081
>>
stream
q
@@ -1655,7 +1655,7 @@ q
BT
60.24 794.6759999999999 Td
/F1.0 10.5 Tf
-<362e372e20486f7720746f2068616e646c6520766f69642f6e756c6c20726573756c7473> Tj
+<372e342e205570646174696e67204f626a65637473> Tj
ET
0.000 0.000 0.000 SCN
@@ -1664,9 +1664,9 @@ ET
0.200 0.200 0.200 SCN
BT
-239.46874999999994 794.6759999999999 Td
+169.99024999999995 794.6759999999999 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1684,7 +1684,7 @@ ET
BT
529.4314999999999 794.6759999999999 Td
/F1.0 10.5 Tf
-<313233> Tj
+<313137> Tj
ET
0.000 0.000 0.000 SCN
@@ -1695,7 +1695,7 @@ ET
BT
60.24 776.1959999999999 Td
/F1.0 10.5 Tf
-[<362e382e20486f7720746f20696d706c656d656e742061207370656c6c636865636b> 20.01953125 <65723f>] TJ
+<372e352e2044656c6574696e67204f626a65637473> Tj
ET
0.000 0.000 0.000 SCN
@@ -1704,9 +1704,9 @@ ET
0.200 0.200 0.200 SCN
BT
-255.50224999999995 776.1959999999999 Td
+164.6457499999999 776.1959999999999 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
@@ -1724,6 +1724,406 @@ ET
BT
529.4314999999999 776.1959999999999 Td
/F1.0 10.5 Tf
+<313138> 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
+48.24 757.7159999999999 Td
+/F1.0 10.5 Tf
+<382e20427573696e6573732052756c6573> 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
+137.92324999999994 757.7159999999999 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 757.7159999999999 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 757.7159999999999 Td
+/F1.0 10.5 Tf
+<313139> 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
+60.24 739.2359999999999 Td
+/F1.0 10.5 Tf
+<382e312e205669736962696c6974792028227365652069742229> 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
+169.99024999999995 739.2359999999999 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 739.2359999999999 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 739.2359999999999 Td
+/F1.0 10.5 Tf
+<313139> 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
+60.24 720.7559999999999 Td
+/F1.0 10.5 Tf
+<382e322e2055736162696c6974792028227573652069742229> 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
+175.33474999999993 720.7559999999999 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 720.7559999999999 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 720.7559999999999 Td
+/F1.0 10.5 Tf
+<313230> 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
+60.24 702.2759999999998 Td
+/F1.0 10.5 Tf
+[<382e332e2056> 60.05859375 <616c6964697479202822646f2069742229>] 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
+164.6457499999999 702.2759999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 702.2759999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 702.2759999999998 Td
+/F1.0 10.5 Tf
+<313230> 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
+60.24 683.7959999999998 Td
+/F1.0 10.5 Tf
+[<382e342e2041> 20.01953125 <6374696f6e73>] 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
+121.88974999999994 683.7959999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 683.7959999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 683.7959999999998 Td
+/F1.0 10.5 Tf
+<313231> 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
+60.24 665.3159999999998 Td
+/F1.0 10.5 Tf
+<382e352e20536964652065666665637473> 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
+137.92324999999994 665.3159999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 665.3159999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 665.3159999999998 Td
+/F1.0 10.5 Tf
+<313231> 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
+48.24 646.8359999999998 Td
+/F1.0 10.5 Tf
+<392e2044726f7020446f776e7320616e642044656661756c7473> 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
+191.36824999999993 646.8359999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 646.8359999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 646.8359999999998 Td
+/F1.0 10.5 Tf
+<313233> 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
+60.24 628.3559999999998 Td
+/F1.0 10.5 Tf
+<392e312e2043686f6963657320616e642044656661756c74> 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
+180.6792499999999 628.3559999999998 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 628.3559999999998 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 628.3559999999998 Td
+/F1.0 10.5 Tf
+<313233> 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
+60.24 609.8759999999997 Td
+/F1.0 10.5 Tf
+[<392e322e2041> 20.01953125 <75746f436f6d706c657465>] 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
+153.95674999999994 609.8759999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 609.8759999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 609.8759999999997 Td
+/F1.0 10.5 Tf
+<313234> 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
+60.24 591.3959999999997 Td
+/F1.0 10.5 Tf
+<392e332e2022476c6f62616c6c792220646566696e65642064726f702d646f776e73> 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
+239.46874999999994 591.3959999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 591.3959999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 591.3959999999997 Td
+/F1.0 10.5 Tf
<313235> Tj
ET
@@ -1733,9 +2133,9 @@ ET
0.200 0.200 0.200 SCN
BT
-60.24 757.7159999999999 Td
+60.24 572.9159999999997 Td
/F1.0 10.5 Tf
-<362e392e20486f772072756e206669787475726573206f6e20737461727475703f> Tj
+[<392e342e204d756c74692d73656c65637420616374696f6e20706172> 20.01953125 <616d6574657273>] TJ
ET
0.000 0.000 0.000 SCN
@@ -1744,16 +2144,16 @@ ET
0.200 0.200 0.200 SCN
BT
-228.77974999999992 757.7159999999999 Td
+234.12424999999996 572.9159999999997 Td
/F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
ET
0.000 0.000 0.000 SCN
0.000 0.000 0.000 scn
BT
-528.07175 757.7159999999999 Td
+528.07175 572.9159999999997 Td
/F1.0 5.25 Tf
<ca> Tj
ET
@@ -1762,9 +2162,209 @@ ET
0.200 0.200 0.200 SCN
BT
-529.4314999999999 757.7159999999999 Td
+529.4314999999999 572.9159999999997 Td
/F1.0 10.5 Tf
-<313235> Tj
+<313236> 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
+60.24 554.4359999999997 Td
+/F1.0 10.5 Tf
+[<392e352e20446570656e64656e742063686f6963657320666f7220616374696f6e20706172> 20.01953125 <616d6574657273>] 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
+287.56924999999995 554.4359999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 554.4359999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 554.4359999999997 Td
+/F1.0 10.5 Tf
+<313236> 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
+48.24 535.9559999999997 Td
+/F1.0 10.5 Tf
+[<31302e2041> 60.05859375 <7661696c61626c6520446f6d61696e205365727669636573>] 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
+202.05724999999995 535.9559999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 535.9559999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 535.9559999999997 Td
+/F1.0 10.5 Tf
+<313237> 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
+60.24 517.4759999999997 Td
+/F1.0 10.5 Tf
+[<31302e312e204672> 20.01953125 <616d65776f726b2d70726f7669646564205365727669636573>] 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
+239.46874999999994 517.4759999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 517.4759999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 517.4759999999997 Td
+/F1.0 10.5 Tf
+<313237> 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
+60.24 498.9959999999997 Td
+/F1.0 10.5 Tf
+[<31302e322e20497369732041> 20.01953125 <64642d6f6e73>] 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
+148.6122499999999 498.9959999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 498.9959999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 498.9959999999997 Td
+/F1.0 10.5 Tf
+<313239> 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
+60.24 480.5159999999997 Td
+/F1.0 10.5 Tf
+<31302e332e20496e636f646520436174616c6f67> 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
+164.6457499999999 480.5159999999997 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+
+BT
+528.07175 480.5159999999997 Td
+/F1.0 5.25 Tf
+<ca> Tj
+ET
+
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+529.4314999999999 480.5159999999997 Td
+/F1.0 10.5 Tf
+<313330> Tj
ET
0.000 0.000 0.000 SCN
@@ -1782,7 +2382,7 @@ endobj
/Font << /F1.0 8 0 R
>>
>>
-/Annots [1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R]
+/Annots [1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R]
>>
endobj
13 0 obj
@@ -2538,7 +3138,7 @@ endobj
/Font << /F2.0 18 0 R
/F1.0 8 0 R
>>
-/XObject << /Stamp1 1218 0 R
+/XObject << /Stamp1 1198 0 R
>>
>>
/Annots [19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R 38 0 R 39 0 R 40 0 R]
@@ -2553,23 +3153,26 @@ endobj
>>
endobj
17 0 obj
-<< /Kids [119 0 R 532 0 R 590 0 R 230 0 R 120 0 R 1120 0 R 689 0 R 903 0 R 485 0 R 807 0 R 342 0 R 831 0 R 767 0 R 447 0 R 773 0 R 841 0 R]
+<< /Kids [119 0 R 654 0 R 587 0 R 316 0 R 231 0 R 120 0 R 631 0 R 752 0 R 480 0 R 292 0 R 984 0 R 440 0 R 951 0 R]
>>
endobj
18 0 obj
<< /Type /Font
/BaseFont /AAAACR+NotoSerif-Bold
/Subtype /TrueType
-/FontDescriptor 1269 0 R
+/FontDescriptor 1264 0 R
/FirstChar 32
/LastChar 255
-/Widths 1271 0 R
-/ToUnicode 1270 0 R
+/Widths 1266 0 R
+/ToUnicode 1265 0 R
>>
endobj
19 0 obj
<< /Border [0 0 0]
-/Dest (_ugfun_core-concepts)
+/A << /Type /Action
+/S /URI
+/URI (../ugfun/ugfun.pdf#_ugfun_core-concepts)
+>>
/Subtype /Link
/Rect [184.87324999999998 750.14 254.89693749999998 764.4200000000001]
/Type /Annot
@@ -2577,7 +3180,10 @@ endobj
endobj
20 0 obj
<< /Border [0 0 0]
-/Dest (_ugfun_getting-started)
+/A << /Type /Action
+/S /URI
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started)
+>>
/Subtype /Link
/Rect [532.0774999999999 750.14 547.0399999999998 764.4200000000001]
/Type /Annot
@@ -2585,7 +3191,10 @@ endobj
endobj
21 0 obj
<< /Border [0 0 0]
-/Dest (_ugfun_getting-started)
+/A << /Type /Action
+/S /URI
+/URI (../ugfun/ugfun.pdf#_ugfun_getting-started)
+>>
/Subtype /Link
/Rect [48.24 734.36 83.268 748.6400000000001]
/Type /Annot
@@ -2593,7 +3202,10 @@ endobj
endobj
22 0 obj
<< /Border [0 0 0]
-/Dest (_ugfun_how-tos)
+/A << /Type /Action
+/S /URI
+/URI (../ugfun/ugfun.pdf#_ugfun_how-tos)
+>>
/Subtype /Link
/Rect [205.11438940429687 706.58 239.87988940429688 720.8600000000001]
/Type /Annot
@@ -2601,7 +3213,10 @@ endobj
endobj
23 0 obj
<< /Border [0 0 0]
-/Dest (_ugfun_object-layout)
+/A << /Type /Action
+/S /URI
+/URI (../ugvw/ugvw.pdf#_ugvw_layout)
+>>
/Subtype /Link
/Rect [415.00327880859373 706.58 462.01405529785154 720.8600000000001]
/Type /Annot
@@ -2609,7 +3224,10 @@ endobj
endobj
24 0 obj
<< /Border [0 0 0]
-/Dest (_ugfun_faqs.adoc)
+/A << /Type /Action
+/S /URI
+/URI (../dg/dg.pdf#_dg_hints-and-tips.adoc)
+>>
/Subtype /Link
/Rect [428.151 690.8000000000001 448.585640625 705.0800000000002]
/Type /Annot
@@ -3443,7 +4061,7 @@ endobj
/F1.0 8 0 R
/F3.0 47 0 R
>>
-/XObject << /Stamp1 1218 0 R
+/XObject << /Stamp1 1198 0 R
>>
>>
/Annots [46 0 R]
@@ -3473,11 +4091,11 @@ endobj
<< /Type /Font
/BaseFont /AAAACS+NotoSerif-BoldItalic
/Subtype /TrueType
-/FontDescriptor 1273 0 R
+/FontDescriptor 1268 0 R
/FirstChar 32
/LastChar 255
-/Widths 1275 0 R
-/ToUnicode 1274 0 R
+/Widths 1270 0 R
+/ToUnicode 1269 0 R
>>
endobj
48 0 obj
@@ -4200,7 +4818,7 @@ endobj
/F3.0 47 0 R
/F2.0 18 0 R
>>
-/XObject << /Stamp1 1218 0 R
+/XObject << /Stamp1 1198 0 R
>>
>>
>>
@@ -4209,11 +4827,11 @@ endobj
<< /Type /Font
/BaseFont /AAAACT+NotoSerif-Italic
/Subtype /TrueType
-/FontDescriptor 1277 0 R
+/FontDescriptor 1272 0 R
/FirstChar 32
/LastChar 255
-/Widths 1279 0 R
-/ToUnicode 1278 0 R
+/Widths 1274 0 R
+/ToUnicode 1273 0 R
>>
endobj
52 0 obj
@@ -5004,7 +5622,7 @@ endobj
/F2.0 18 0 R
/F4.0 51 0 R
>>
-/XObject << /Stamp1 1218 0 R
+/XObject << /Stamp1 1198 0 R
>>
>>
>>
@@ -5870,7 +6488,7 @@ endobj
/F4.0 51 0 R
/F1.1 58 0 R
>>
-/XObject << /Stamp1 1218 0 R
+/XObject << /Stamp1 1198 0 R
>>
>>
>>
@@ -5882,11 +6500,11 @@ endobj
<< /Type /Font
/BaseFont /AAAACU+NotoSerif
/Subtype /TrueType
-/FontDescriptor 1281 0 R
+/FontDescriptor 1276 0 R
/FirstChar 32
/LastChar 255
-/Widths 1283 0 R
-/ToUnicode 1282 0 R
+/Widths 1278 0 R
+/ToUnicode 1277 0 R
>>
endobj
59 0 obj
@@ -6468,7 +7086,7 @@ endobj
/F2.0 18 0 R
/F4.0 51 0 R
>>
-/XObject << /Stamp1 1218 0 R
+/XObject << /Stamp1 1198 0 R
>>
>>
/Annots [61 0 R 62 0 R 63 0 R 64 0 R]
@@ -7549,7 +8167,7 @@ endobj
/F4.0 51 0 R
/F6.0 75 0 R
>>
-/XObject << /Stamp1 1218 0 R
+/XObject << /Stamp1 1198 0 R
>>
>>
/Annots [68 0 R 69 0 R 70 0 R 71 0 R 72 0 R 73 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 82 0 R]
@@ -7559,11 +8177,11 @@ endobj
<< /Type /Font
/BaseFont /AAAACV+FontAwesome
/Subtype /TrueType
-/FontDescriptor 1285 0 R
+/FontDescriptor 1280 0 R
/FirstChar 32
/LastChar 255
-/Widths 1287 0 R
-/ToUnicode 1286 0 R
+/Widths 1282 0 R
+/ToUnicode 1281 0 R
>>
endobj
68 0 obj
@@ -7639,11 +8257,11 @@ endobj
<< /Type /Font
/BaseFont /AAAACW+mplus1mn-regular
/Subtype /TrueType
-/FontDescriptor 1289 0 R
+/FontDescriptor 1284 0 R
/FirstChar 32
/LastChar 255
-/Widths 1291 0 R
-/ToUnicode 1290 0 R
+/Widths 1286 0 R
+/ToUnicode 1285 0 R
>>
endobj
76 0 obj
@@ -7681,7 +8299,10 @@ endobj
endobj
79 0 obj
<< /Border [0 0 0]
-/Dest (_ugfun_core-concepts_principles_apache-isis-vs_metawidget)
+/A << /Type /Action
+/S /URI
+/URI (../ugfun/ugfun.pdf#_ugfun_core-concepts_principles_apache-isis-vs_metawidget)
+>>
/Subtype /Link
/Rect [257.8356803850446 314.25999999999993 280.67318038504465 328.5399999999999]
/Type /Annot
@@ -7716,7 +8337,7 @@ endobj
[66 0 R /XYZ 0 160.72999999999985 null]
endobj
84 0 obj
-<< /Length 12484
+<< /Length 12511
>>
stream
q
@@ -7954,14 +8575,14 @@ ET
0.000 0.000 0.000 scn
q
-498.800 0 0 278.497 48.240 314.343 cm
+498.800 0 0 279.016 48.240 313.824 cm
/I1 Do
Q
0.200 0.200 0.200 scn
0.200 0.200 0.200 SCN
BT
-48.24000000000001 298.3793333333335 Td
+48.24000000000001 297.8597500000002 Td
/F4.0 10.5 Tf
[<46696775726520312e205468652068657861676f6e616c2061726368697465637475726520656d70686173697a6573206d756c7469706c6520696d706c656d656e746174696f6e73206f662074686520646966666572656e74206c61> 20.01953125 <796572732e>] TJ
ET
@@ -7974,7 +8595,7 @@ ET
0.272 Tw
BT
-48.24000000000001 270.5993333333335 Td
+48.24000000000001 270.07975000000016 Td
/F1.0 10.5 Tf
[<5768617420436f636b6275726e20697320656d70686173697a696e672069732074686174207468657265d57320757375616c6c79206d6f7265207468616e206f6e65207761> 20.01953125 <7920>] TJ
ET
@@ -7989,7 +8610,7 @@ ET
0.272 Tw
BT
-418.7850589843749 270.5993333333335 Td
+418.7850589843749 270.07975000000016 Td
/F2.0 10.5 Tf
<696e746f> Tj
ET
@@ -8004,7 +8625,7 @@ ET
0.272 Tw
BT
-440.14205898437496 270.5993333333335 Td
+440.14205898437496 270.07975000000016 Td
/F1.0 10.5 Tf
<20616e206170706c69636174696f6e202877686174> Tj
ET
@@ -8019,7 +8640,7 @@ ET
1.165 Tw
BT
-48.24000000000001 254.8193333333335 Td
+48.24000000000001 254.29975000000016 Td
/F1.0 10.5 Tf
<68652063616c6c65642074686520> Tj
ET
@@ -8034,7 +8655,7 @@ ET
1.165 Tw
BT
-117.76874207261031 254.8193333333335 Td
+117.76874207261031 254.29975000000016 Td
/F3.0 10.5 Tf
<757365722d736964652720706f727473> Tj
ET
@@ -8049,7 +8670,7 @@ ET
1.165 Tw
BT
-202.08298943014708 254.8193333333335 Td
+202.08298943014708 254.29975000000016 Td
/F1.0 10.5 Tf
[<2920616e64206d6f7265207468616e206f6e65207761> 20.01953125 <792020>] TJ
ET
@@ -8064,7 +8685,7 @@ ET
1.165 Tw
BT
-340.6775158547794 254.8193333333335 Td
+340.6775158547794 254.29975000000016 Td
/F2.0 10.5 Tf
<6f7574206f66> Tj
ET
@@ -8079,7 +8700,7 @@ ET
1.165 Tw
BT
-372.9222632123162 254.8193333333335 Td
+372.9222632123162 254.29975000000016 Td
/F1.0 10.5 Tf
<20616e206170706c69636174696f6e20746f6f202874686520> Tj
ET
@@ -8094,7 +8715,7 @@ ET
1.165 Tw
BT
-496.7555 254.8193333333335 Td
+496.7555 254.29975000000016 Td
/F3.0 10.5 Tf
<646174612d73696465> Tj
ET
@@ -8109,7 +8730,7 @@ ET
0.572 Tw
BT
-48.24000000000001 239.0393333333335 Td
+48.24000000000001 238.51975000000016 Td
/F3.0 10.5 Tf
<706f727473> Tj
ET
@@ -8124,7 +8745,7 @@ ET
0.572 Tw
BT
-76.81050000000002 239.0393333333335 Td
+76.81050000000002 238.51975000000016 Td
/F1.0 10.5 Tf
<292e205468697320697320766572792073696d696c617220746f2074686520636f6e63657074206f66207072696d61727920616e64207365636f6e64617279206163746f727320696e207573652063617365733a2061207072696d617279> Tj
ET
@@ -8139,7 +8760,7 @@ ET
0.710 Tw
BT
-48.24000000000001 223.2593333333335 Td
+48.24000000000001 222.73975000000016 Td
/F1.0 10.5 Tf
[<6163746f7220286f6674656e20612068756d616e207573657220627574206e6f7420616c7761> 20.01953125 <7973292069732061637469766520616e6420696e6974696174657320616e20696e746572> 20.01953125 <616374696f6e2c207768696c652061207365636f6e64617279>] TJ
ET
@@ -8152,7 +8773,7 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24000000000001 207.4793333333335 Td
+48.24000000000001 206.95975000000016 Td
/F1.0 10.5 Tf
[<6163746f722028616c6d6f737420616c7761> 20.01953125 <797320616e2065787465726e616c2073797374656d29206973207061737369766520616e6420776169747320746f20626520696e746572> 20.01953125 <616374656420776974682e>] TJ
ET
@@ -8165,7 +8786,7 @@ ET
3.376 Tw
BT
-48.24000000000001 179.6993333333335 Td
+48.24000000000001 179.17975000000015 Td
/F1.0 10.5 Tf
<4173736f6369617465642077697468206561636820706f72742063616e20626520616e20> Tj
ET
@@ -8180,7 +8801,7 @@ ET
3.376 Tw
BT
-253.79199999999997 179.6993333333335 Td
+253.79199999999997 179.17975000000015 Td
/F3.0 10.5 Tf
<61646170746572> Tj
ET
@@ -8195,7 +8816,7 @@ ET
3.376 Tw
BT
-297.0415 179.6993333333335 Td
+297.0415 179.17975000000015 Td
/F1.0 10.5 Tf
<2028696e20666163742c20436f636b6275726ed57320616c7465726e6174697665206e616d6520666f722074686973> Tj
ET
@@ -8210,7 +8831,7 @@ ET
1.558 Tw
BT
-48.24000000000001 163.9193333333335 Td
+48.24000000000001 163.39975000000015 Td
/F1.0 10.5 Tf
<61726368697465637475726520697320> Tj
ET
@@ -8225,7 +8846,7 @@ ET
1.558 Tw
BT
-126.2940625 163.9193333333335 Td
+126.2940625 163.39975000000015 Td
/F3.0 10.5 Tf
<706f72747320616e64206164617074657273> Tj
ET
@@ -8240,7 +8861,7 @@ ET
1.558 Tw
BT
-233.076125 163.9193333333335 Td
+233.076125 163.39975000000015 Td
/F1.0 10.5 Tf
<292e20416e206164617074657220697320612064657669636520287069656365206f6620736f6674776172652920746861742074616c6b7320696e20746865> Tj
ET
@@ -8253,7 +8874,7 @@ ET
0.200 0.200 0.200 SCN
BT
-48.24000000000001 148.1393333333335 Td
+48.24000000000001 147.61975000000015 Td
/F1.0 10.5 Tf
<70726f746f636f6c20286f722020> Tj
ET
@@ -8264,7 +8885,7 @@ ET
0.200 0.200 0.200 SCN
BT
-112.71000000000001 148.1393333333335 Td
+112.71000000000001 147.61975000000015 Td
/F4.0 10.5 Tf
<415049> Tj
ET
@@ -8275,7 +8896,7 @@ ET
0.200 0.200 0.200 SCN
BT
-130.476 148.1393333333335 Td
+130.476 147.61975000000015 Td
/F1.0 10.5 Tf
[<29206f662074686520706f72742e204561636820706f727420636f756c642068617665207365766572> 20.01953125 <616c2061646170746572732e>] TJ
ET
@@ -8288,7 +8909,7 @@ ET
1.028 Tw
BT
-48.24000000000001 120.3593333333335 Td
+48.24000000000001 119.83975000000015 Td
/F1.0 10.5 Tf
<4170616368652049736973206d6170732076657279206e6963656c79206f6e746f207468652020> Tj
ET
@@ -8303,7 +8924,7 @@ ET
1.028 Tw
BT
-250.26356666666663 120.3593333333335 Td
+250.26356666666663 119.83975000000015 Td
/F2.0 10.5 Tf
<68657861676f6e616c20617263686974656374757265> Tj
ET
@@ -8318,7 +8939,7 @@ ET
1.028 Tw
BT
-375.76919999999996 120.3593333333335 Td
+375.76919999999996 119.83975000000015 Td
/F1.0 10.5 Tf
<2e2041706163686520497369732720766965776572732061637420617320757365722d> Tj
ET
@@ -8333,7 +8954,7 @@ ET
0.111 Tw
BT
-48.24000000000001 104.5793333333335 Td
+48.24000000000001 104.05975000000015 Td
/F1.0 10.5 Tf
[<7369646520616461707465727320616e642075736520746865204170616368652049736973206d6574616d6f64656c20415049206173206120706f727420696e746f2074686520646f6d61696e206f626a656374732e2046> 40.0390625 <6f72207468652064617461>] TJ
ET
@@ -8348,7 +8969,7 @@ ET
1.663 Tw
BT
-48.24000000000001 88.7993333333335 Td
+48.24000000000001 88.27975000000015 Td
/F1.0 10.5 Tf
<736964652c20776520617265206d6f73746c7920636f6e6365726e656420776974682070657273697374696e6720646f6d61696e206f626a6563747320746f20736f6d6520736f7274206f66206f626a6563742073746f72652e2048657265> Tj
ET
@@ -8363,7 +8984,7 @@ ET
0.529 Tw
BT
-48.24000000000001 73.01933333333349 Td
+48.24000000000001 72.49975000000015 Td
/F1.0 10.5 Tf
<41706163686520497369732064656c656761746573206d6f7374206f6620746865206865617679206c696674696e6720746f204f524d20696d706c656d656e74696e6720746865204a444f204150492e204d6f7374206f66207468652074696d65> Tj
ET
@@ -8378,7 +8999,7 @@ ET
0.125 Tw
BT
-48.24000000000001 57.23933333333349 Td
+48.24000000000001 56.71975000000015 Td
/F1.0 10.5 Tf
<746869732077696c6c20626520446174614e75636c65757320636f6e6669677572656420746f207065727369737420746f20616e205244424d532c2062757420446174614e75636c6575732063616e20616c736f20737570706f7274206f74686572> Tj
ET
@@ -8424,7 +9045,7 @@ endobj
/F2.0 18 0 R
>>
/XObject << /I1 88 0 R
-/Stamp1 1218 0 R
+/Stamp1 1198 0 R
>>
>>
/Annots [86 0 R 87 0 R]
@@ -8455,11 +9076,11 @@ endobj
88 0 obj
<< /Type /XObject
/Subtype /Image
-/Height 536
+/Height 537
/Width 960
/BitsPerComponent 8
/ColorSpace /DeviceRGB
-/Length 70940
+/Length 63157
/Filter [/FlateDecode]
/DecodeParms [<< /Predictor 15
/Colors 3
@@ -8468,211 +9089,194 @@ endobj
>>]
>>
stream
-x\ufffd\ufffdwtW\ufffd\ufffd\ufffd=\ufffd 6\ufffd\u01b6\ufffd\ufffd\ufffd\ufffdg\ufffd$\ufffd\ufffdc\ufffd\ufffd\ufffd9'M2\ufffd\ufffd\ufffd\ufffd9\ufffd\ufffd\ufffd\ufffd \ub770\ufffdgvv\ufffd\ufffd\ufffd\ufffdff\ufffd\ufffd?\ufffd\ufffd\ufffd\ufffd3\ufffd\ufffd\ufffdu\ufffd\ufffd\u06f7o\u076a\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdG\ufffd\ufffd\ufffd\ufffd\ufffdVU\ufffd\u05ff{o\ufffd @\ufffdX\ufffd
\ufffd\ufffd\ufffd h\ufffd \ufffdh \ufffd \ufffd\ufffd>