WHO Immunization Implementation Guide
0.2.0 - ci-build
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions
| Draft as of 2025-11-25 |
<Library xmlns="http://hl7.org/fhir">
<id value="IMMZD2DTHepatitisAInactivatedHAV1DoseLogic"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<table class="grid dict">
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">IMMZD2DTHepatitisAInactivatedHAV1DoseLogic</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">IMMZD2DTHepatitisAInactivatedHAV1DoseLogic</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.2.0</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Library-IMMZD2DTHepatitisAInactivatedHAV1DoseLogic.html">IMMZD2DTHepatitisAInactivatedHAV1DoseLogic</a></td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<b>system: </b> <span><a href="http://terminology.hl7.org/7.0.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a></span>
</p>
<p style="margin-bottom: 5px;">
<b>code: </b> <span>logic-library</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Date: </b></th>
<td style="padding-left: 4px;">2025-11-25 20:07:03+0000</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">WHO</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>This library defines decision support logic for the IMMZ.D2.DT.Hepatitis A.Inactivated HAV 1 dose decision table in the Immunization CPG</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Related Artifacts: </b></th>
<td style="padding-left: 4px;">
<p><b>Dependencies</b></p>
<ul>
<li><a href="Library-IMMZD2DTHepatitisAEncounterElements.html">IMMZD2DTHepatitisAEncounterElements</a></li>
</ul>
</td>
</tr>
<tr>
<th scope="row"><b>Parameters: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>
<tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client is not due for Hepatitis A vaccination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client is not due for Hepatitis A vaccination Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client is due for Hepatitis A vaccination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client is due for Hepatitis A vaccination Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Hepatitis A immunization schedule is complete</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Hepatitis A immunization schedule is complete Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Has Guidance</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Test Validation</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><a id="cql-content"><b>Content: </b></a> text/cql</th></tr>
<tr><td><pre><code class="language-cql">/*
* Library: IMMZD2DTHepatitisAInactivatedHAV1DoseLogic (IMMZ.D2.DT.Hepatitis A.Inactivated HAV 1 dose)
* Rule: Determine if the client is due for a hepatitis A vaccination according to the national immunization schedule
* Decision Table: Inactivated hepatitis A virus (HAV), 1-dose schedule
* Trigger: IMMZ.D2 Determine required vaccination(s) if any
*/
library IMMZD2DTHepatitisAInactivatedHAV1DoseLogic
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
include IMMZD2DTHepatitisAEncounterElements called Encounter
parameter Today Date default Today()
context Patient
/*
@dynamicValue: Guidance
*/
define "Guidance":
case
when "Client is not due for Hepatitis A vaccination" then "Client is not due for Hepatitis A vaccination Guidance"
when "Client is due for Hepatitis A vaccination" then "Client is due for Hepatitis A vaccination Guidance"
when "Hepatitis A immunization schedule is complete" then "Hepatitis A immunization schedule is complete Guidance"
else ''
end
define "Has Guidance":
"Guidance" is not null and "Guidance" != ''
/*
@output: Client is not due for Hepatitis A vaccination
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for Hepatitis A vaccination":
Encounter."Client's age is less than 12 months"
/*
@output: Client is not due for Hepatitis A vaccination Guidance
@guidance: Should not vaccinate client with Hepatitis A dose as client's age is less than 12 months.
Check for any other vaccines due and inform the caregiver of when to come back for the first dose.
*/
define "Client is not due for Hepatitis A vaccination Guidance":
'Should not vaccinate client with Hepatitis A dose as client\'s age is less than 12 months.
Check for any other vaccines due and inform the caregiver of when to come back for the first dose.'
/*
@output: Client is due for Hepatitis A vaccination
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for Hepatitis A vaccination":
Encounter."No hepatitis A primary series dose was administered"
and Encounter."Client's age is more than or equal to 12 months"
/*
@output: Client is due for Hepatitis A vaccination Guidance
@guidance: Should vaccinate client with hepatitis A dose as no hepatitis A dose was administered and client's age is within appropriate age range.
Check for contraindications.
*/
define "Client is due for Hepatitis A vaccination Guidance":
'Should vaccinate client with hepatitis A dose as no hepatitis A dose was administered and client\'s age is within appropriate age range.
Check for contraindications.'
/*
@output: Hepatitis A immunization schedule is complete
@pseudocode: "Immunization recommendation status" = "Complete"
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Hepatitis A-containing vaccines")
*/
define "Hepatitis A immunization schedule is complete":
Encounter."One hepatitis A primary series dose was administered"
/*
@output: Hepatitis A immunization schedule is complete Guidance
@guidance: Hepatitis A immunization schedule is complete. One hepatitis A primary series dose was administered.
Check for any other vaccines due.
*/
define "Hepatitis A immunization schedule is complete Guidance":
'Hepatitis A immunization schedule is complete. One hepatitis A primary series dose was administered.
Check for any other vaccines due.'
/*
@test: Test expected results based on example patients
*/
define "Test Validation":
case
when Patient.id = 'HepatitisA20.1' then "Client is not due for Hepatitis A vaccination" and "Guidance" = 'Should not vaccinate client with Hepatitis A dose as client\'s age is less than 12 months.
Check for any other vaccines due and inform the caregiver of when to come back for the first dose.'
when Patient.id = 'HepatitisA21.2' then "Client is due for Hepatitis A vaccination" and "Guidance" = 'Should vaccinate client with hepatitis A dose as no hepatitis A dose was administered and client\'s age is within appropriate age range.
Check for contraindications.'
when Patient.id = 'HepatitisA22.1' then "Hepatitis A immunization schedule is complete" and "Guidance" = 'Hepatitis A immunization schedule is complete. One hepatitis A primary series dose was administered.
Check for any other vaccines due.'
else 'No test case set'
end
</code></pre></td></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><b>Content: </b> application/elm+xml</th></tr>
<tr><td><pre><code>Encoded data (41564 characters)</code></pre></td></tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability">
<valueCode value="computable"/>
</extension>
<url
value="http://smart.who.int/immunizations/Library/IMMZD2DTHepatitisAInactivatedHAV1DoseLogic"/>
<version value="0.2.0"/>
<name value="IMMZD2DTHepatitisAInactivatedHAV1DoseLogic"/>
<title value="IMMZD2DTHepatitisAInactivatedHAV1DoseLogic"/>
<status value="draft"/>
<experimental value="false"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2025-11-25T20:07:03+00:00"/>
<publisher value="WHO"/>
<contact>
<name value="WHO"/>
<telecom>
<system value="url"/>
<value value="http://who.int"/>
</telecom>
</contact>
<description
value="This library defines decision support logic for the IMMZ.D2.DT.Hepatitis A.Inactivated HAV 1 dose decision table in the Immunization CPG"/>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Encounter"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZD2DTHepatitisAEncounterElements"/>
</relatedArtifact>
<parameter>
<name value="Today"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Client is not due for Hepatitis A vaccination"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client is not due for Hepatitis A vaccination Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Client is due for Hepatitis A vaccination"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client is due for Hepatitis A vaccination Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Hepatitis A immunization schedule is complete"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Hepatitis A immunization schedule is complete Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Has Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Test Validation"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<content>
<contentType value="text/cql"/>
<data
value="LyoKICogTGlicmFyeTogSU1NWkQyRFRIZXBhdGl0aXNBSW5hY3RpdmF0ZWRIQVYxRG9zZUxvZ2ljIChJTU1aLkQyLkRULkhlcGF0aXRpcyBBLkluYWN0aXZhdGVkIEhBViAxIGRvc2UpCiAqIFJ1bGU6IERldGVybWluZSBpZiB0aGUgY2xpZW50IGlzIGR1ZSBmb3IgYSBoZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBhY2NvcmRpbmcgdG8gdGhlIG5hdGlvbmFsIGltbXVuaXphdGlvbiBzY2hlZHVsZQogKiBEZWNpc2lvbiBUYWJsZTogSW5hY3RpdmF0ZWQgaGVwYXRpdGlzIEEgdmlydXMgKEhBViksIDEtZG9zZSBzY2hlZHVsZQogKiBUcmlnZ2VyOiBJTU1aLkQyIERldGVybWluZSByZXF1aXJlZCB2YWNjaW5hdGlvbihzKSBpZiBhbnkKICovCmxpYnJhcnkgSU1NWkQyRFRIZXBhdGl0aXNBSW5hY3RpdmF0ZWRIQVYxRG9zZUxvZ2ljCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBJTU1aRDJEVEhlcGF0aXRpc0FFbmNvdW50ZXJFbGVtZW50cyBjYWxsZWQgRW5jb3VudGVyCgpwYXJhbWV0ZXIgVG9kYXkgRGF0ZSBkZWZhdWx0IFRvZGF5KCkKCmNvbnRleHQgUGF0aWVudAoKCi8qCkBkeW5hbWljVmFsdWU6IEd1aWRhbmNlCiovCmRlZmluZSAiR3VpZGFuY2UiOgogIGNhc2UgCiAgICB3aGVuICJDbGllbnQgaXMgbm90IGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24iIHRoZW4gIkNsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBHdWlkYW5jZSIKICAgIHdoZW4gIkNsaWVudCBpcyBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIiB0aGVuICJDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBHdWlkYW5jZSIKICAgIHdoZW4gIkhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSIgdGhlbiAiSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIEd1aWRhbmNlIiAKICAgIGVsc2UgJycKICBlbmQKICAKZGVmaW5lICJIYXMgR3VpZGFuY2UiOgogICJHdWlkYW5jZSIgaXMgbm90IG51bGwgYW5kICJHdWlkYW5jZSIgIT0gJycKCi8qCkBvdXRwdXQ6IENsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIk5vdCBkdWUiCiovCmRlZmluZSAiQ2xpZW50IGlzIG5vdCBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIjoKICBFbmNvdW50ZXIuIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzIgoKLyoKQG91dHB1dDogQ2xpZW50IGlzIG5vdCBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlCkBndWlkYW5jZTogU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggSGVwYXRpdGlzIEEgZG9zZSBhcyBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocy4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgZmlyc3QgZG9zZS4KKi8KZGVmaW5lICJDbGllbnQgaXMgbm90IGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24gR3VpZGFuY2UiOgogICdTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBIZXBhdGl0aXMgQSBkb3NlIGFzIGNsaWVudFwncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocy4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgZmlyc3QgZG9zZS4nCgovKgpAb3V0cHV0OiBDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkR1ZSIKKi8KZGVmaW5lICJDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiI6CiAgRW5jb3VudGVyLiJObyBoZXBhdGl0aXMgQSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCiAgICBhbmQgRW5jb3VudGVyLiJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyIKCi8qCkBvdXRwdXQ6IENsaWVudCBpcyBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlCkBndWlkYW5jZTogU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBoZXBhdGl0aXMgQSBkb3NlIGFzIG5vIGhlcGF0aXRpcyBBIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50J3MgYWdlIGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4KKi8KZGVmaW5lICJDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBHdWlkYW5jZSI6CiAgJ1Nob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggaGVwYXRpdGlzIEEgZG9zZSBhcyBubyBoZXBhdGl0aXMgQSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYW5kIGNsaWVudFwncyBhZ2UgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4KQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLicKCi8qCkBvdXRwdXQ6IEhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZQpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkNvbXBsZXRlIgoiQ29tcGxldGVkIHRoZSBwcmltYXJ5IHZhY2NpbmF0aW9uIHNlcmllcyIgPSBUUlVFICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJIZXBhdGl0aXMgQS1jb250YWluaW5nIHZhY2NpbmVzIikKKi8KZGVmaW5lICJIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUiOgogIEVuY291bnRlci4iT25lIGhlcGF0aXRpcyBBIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIKCi8qCkBvdXRwdXQ6IEhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZQpAZ3VpZGFuY2U6IEhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZS4gT25lIGhlcGF0aXRpcyBBIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUuCiovCmRlZmluZSAiSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIEd1aWRhbmNlIjoKICAnSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgaGVwYXRpdGlzIEEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4nCgoKLyoKQHRlc3Q6IFRlc3QgZXhwZWN0ZWQgcmVzdWx0cyBiYXNlZCBvbiBleGFtcGxlIHBhdGllbnRzCiovCmRlZmluZSAiVGVzdCBWYWxpZGF0aW9uIjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnSGVwYXRpdGlzQTIwLjEnIHRoZW4gIkNsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiIgYW5kICJHdWlkYW5jZSIgPSAnU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggSGVwYXRpdGlzIEEgZG9zZSBhcyBjbGllbnRcJ3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMuCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ0hlcGF0aXRpc0EyMS4yJyB0aGVuICJDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiIgYW5kICJHdWlkYW5jZSIgPSAnU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBoZXBhdGl0aXMgQSBkb3NlIGFzIG5vIGhlcGF0aXRpcyBBIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50XCdzIGFnZSBpcyB3aXRoaW4gYXBwcm9wcmlhdGUgYWdlIHJhbmdlLgpDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ0hlcGF0aXRpc0EyMi4xJyB0aGVuICJIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUiIGFuZCAiR3VpZGFuY2UiID0gJ0hlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZS4gT25lIGhlcGF0aXRpcyBBIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUuJwogICAgZWxzZSAnTm8gdGVzdCBjYXNlIHNldCcKICBlbmQK"/>
</content>
<content>
<contentType value="application/elm+xml"/>
<data
value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjg2Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBJTU1aRDJEVEhlcGF0aXRpc0FJbmFjdGl2YXRlZEhBVjFEb3NlTG9naWMgKElNTVouRDIuRFQuSGVwYXRpdGlzIEEuSW5hY3RpdmF0ZWQgSEFWIDEgZG9zZSkKICogUnVsZTogRGV0ZXJtaW5lIGlmIHRoZSBjbGllbnQgaXMgZHVlIGZvciBhIGhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgbmF0aW9uYWwgaW1tdW5pemF0aW9uIHNjaGVkdWxlCiAqIERlY2lzaW9uIFRhYmxlOiBJbmFjdGl2YXRlZCBoZXBhdGl0aXMgQSB2aXJ1cyAoSEFWKSwgMS1kb3NlIHNjaGVkdWxlCiAqIFRyaWdnZXI6IElNTVouRDIgRGV0ZXJtaW5lIHJlcXVpcmVkIHZhY2NpbmF0aW9uKHMpIGlmIGFueQogKi8KbGlicmFyeSBJTU1aRDJEVEhlcGF0aXRpc0FJbmFjdGl2YXRlZEhBVjFEb3NlTG9naWM8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IklNTVpEMkRUSGVwYXRpdGlzQUluYWN0aXZhdGVkSEFWMURvc2VMb2dpYyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSI5OjEtOToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSIxMDoxLTEwOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMCIgbG9jYXRvcj0iMTI6MS0xMjo2MCIgbG9jYWxJZGVudGlmaWVyPSJFbmNvdW50ZXIiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvSU1NWkQyRFRIZXBhdGl0aXNBRW5jb3VudGVyRWxlbWVudHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkQyRFRIZXBhdGl0aXNBRW5jb3VudGVyRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTQ6MS0xNDozNiIgbmFtZT0iVG9kYXkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciBUb2RheSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Ub2RheSgpPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMTUiIGxvY2F0b3I9IjE0OjMwLTE0OjM2IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDoxNy0xNDoyMCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICA8L3BhcmFtZXRlcnM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMjEiIGxvY2F0b3I9IjE2OjEtMTY6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxNjoxLTE2OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjIwIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iMTY6MS0xNjoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMzc6MS0zODo0OSIgbmFtZT0iQ2xpZW50IGlzIG5vdCBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iQ2xpZW50IGlzIG5vdCBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtOb3QgZHVlJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjI5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24KQHBzZXVkb2NvZGU6ICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtOb3QgZHVlJnF1b3Q7CiovCmRlZmluZSAmcXVvdDtDbGllbnQgaXMgbm90IGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMSIgbG9jYXRvcj0iMzg6My0zODo0OSIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iNDU6MS00NjoxOTMiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBHdWlkYW5jZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9Imd1aWRhbmNlIiB2YWx1ZT0iU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggSGVwYXRpdGlzIEEgZG9zZSBhcyBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocy4mI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24gR3VpZGFuY2UKQGd1aWRhbmNlOiBTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBIZXBhdGl0aXMgQSBkb3NlIGFzIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLgoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIG5vdCBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+J1Nob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIEhlcGF0aXRpcyBBIGRvc2UgYXMgY2xpZW50XCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iNDY6My00NjoxOTMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBIZXBhdGl0aXMgQSBkb3NlIGFzIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLiYjeGE7Q2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgZmlyc3QgZG9zZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MiIgbG9jYXRvcj0iNTM6MS01NTo2NyIgbmFtZT0iQ2xpZW50IGlzIGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzJnF1b3Q7ID0gJnF1b3Q7RHVlJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogJnF1b3Q7SW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyZxdW90OyA9ICZxdW90O0R1ZSZxdW90OwoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vIGhlcGF0aXRpcyBBIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjU0OjMtNTU6NjciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjU0OjMtNTQ6NjUiIG5hbWU9Ik5vIGhlcGF0aXRpcyBBIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSI1NTo5LTU1OjY3IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTEiIGxvY2F0b3I9IjYyOjEtNjM6MTY5IiBuYW1lPSJDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IkNsaWVudCBpcyBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZ3VpZGFuY2UiIHZhbHVlPSJTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIGhlcGF0aXRpcyBBIGRvc2UgYXMgbm8gaGVwYXRpdGlzIEEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQncyBhZ2UgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4mI3hhO0NoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4iLz4KICAgICAgICAgICAgPGE6cyByPSIyNTEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IENsaWVudCBpcyBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlCkBndWlkYW5jZTogU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBoZXBhdGl0aXMgQSBkb3NlIGFzIG5vIGhlcGF0aXRpcyBBIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50J3MgYWdlIGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4KKi8KZGVmaW5lICZxdW90O0NsaWVudCBpcyBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+J1Nob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggaGVwYXRpdGlzIEEgZG9zZSBhcyBubyBoZXBhdGl0aXMgQSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYW5kIGNsaWVudFwncyBhZ2UgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4KQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iNjM6My02MzoxNjkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIGhlcGF0aXRpcyBBIGRvc2UgYXMgbm8gaGVwYXRpdGlzIEEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQncyBhZ2UgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4mI3hhO0NoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1OCIgbG9jYXRvcj0iNzE6MS03Mjo2NiIgbmFtZT0iSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb21wbGV0ZSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQG91dHB1dDogSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlCkBwc2V1ZG9jb2RlOiAmcXVvdDtJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzJnF1b3Q7ID0gJnF1b3Q7Q29tcGxldGUmcXVvdDsKJnF1b3Q7Q29tcGxldGVkIHRoZSBwcmltYXJ5IHZhY2NpbmF0aW9uIHNlcmllcyZxdW90OyA9IFRSVUUgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0hlcGF0aXRpcyBBLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspCiovCmRlZmluZSAmcXVvdDtIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtPbmUgaGVwYXRpdGlzIEEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjYwIiBsb2NhdG9yPSI3MjozLTcyOjY2IiBuYW1lPSJPbmUgaGVwYXRpdGlzIEEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjQiIGxvY2F0b3I9Ijc5OjEtODA6MTM4IiBuYW1lPSJIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUgR3VpZGFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUgR3VpZGFuY2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJndWlkYW5jZSIgdmFsdWU9IkhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZS4gT25lIGhlcGF0aXRpcyBBIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4mI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlLiIvPgogICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQG91dHB1dDogSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIEd1aWRhbmNlCkBndWlkYW5jZTogSGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlLiBPbmUgaGVwYXRpdGlzIEEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4KKi8KZGVmaW5lICZxdW90O0hlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICA8YTpzPidIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUuIE9uZSBoZXBhdGl0aXMgQSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iODA6My04MDoxMzgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUuIE9uZSBoZXBhdGl0aXMgQSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuJiN4YTtDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iMjI6MS0yODo1IiBuYW1lPSJHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImR5bmFtaWNWYWx1ZSIgdmFsdWU9Ikd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZHluYW1pY1ZhbHVlOiBHdWlkYW5jZQoqLwpkZWZpbmUgJnF1b3Q7R3VpZGFuY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlIAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIG5vdCBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIG5vdCBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCBpcyBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24gR3VpZGFuY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGVwYXRpdGlzIEEgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGlzIGNvbXBsZXRlIEd1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4gCiAgICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jyc8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjIzOjMtMjg6NSIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjI2IiBsb2NhdG9yPSIyNDo1LTI0OjExOCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMjQ6MTAtMjQ6NTYiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIyNDo2My0yNDoxMTgiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiBHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMjU6NS0yNToxMTAiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjI1OjEwLTI1OjUyIiBuYW1lPSJDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIyNTo1OS0yNToxMTAiIG5hbWU9IkNsaWVudCBpcyBkdWUgZm9yIEhlcGF0aXRpcyBBIHZhY2NpbmF0aW9uIEd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSIyNjo1LTI2OjExOCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iMjY6MTAtMjY6NTYiIG5hbWU9IkhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSIyNjo2My0yNjoxMTgiIG5hbWU9IkhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSBHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjY4IiBsb2NhdG9yPSIyNzoxMC0yNzoxMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjMwOjEtMzE6NDUiIG5hbWU9IkhhcyBHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0hhcyBHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbm90IG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7R3VpZGFuY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICE9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjczIiBsb2NhdG9yPSIzMTozLTMxOjQ1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSIzMTozLTMxOjI0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc1IiBsb2NhdG9yPSIzMTozLTMxOjI0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc0IiBsb2NhdG9yPSIzMTozLTMxOjEyIiBuYW1lPSJHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iMzE6MzAtMzE6NDUiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzciIGxvY2F0b3I9IjMxOjMwLTMxOjQ1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4MSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyODIiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iMzE6MzAtMzE6MzkiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjMxOjQ0LTMxOjQ1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyODYiIGxvY2F0b3I9Ijg3OjEtOTY6NSIgbmFtZT0iVGVzdCBWYWxpZGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0idGVzdCIgdmFsdWU9IlRlc3QgZXhwZWN0ZWQgcmVzdWx0cyBiYXNlZCBvbiBleGFtcGxlIHBhdGllbnRzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjg2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAdGVzdDogVGVzdCBleHBlY3RlZCByZXN1bHRzIGJhc2VkIG9uIGV4YW1wbGUgcGF0aWVudHMKKi8KZGVmaW5lICZxdW90O1Rlc3QgVmFsaWRhdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidIZXBhdGl0aXNBMjAuMSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgbm90IGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7R3VpZGFuY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggSGVwYXRpdGlzIEEgZG9zZSBhcyBjbGllbnRcJ3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMuCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidIZXBhdGl0aXNBMjEuMic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIGhlcGF0aXRpcyBBIGRvc2UgYXMgbm8gaGVwYXRpdGlzIEEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnRcJ3MgYWdlIGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0hlcGF0aXRpc0EyMi4xJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUuIE9uZSBoZXBhdGl0aXMgQSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlLic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+J05vIHRlc3QgY2FzZSBzZXQnPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIGVuZDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjg3IiBsb2NhdG9yPSI4ODozLTk2OjUiIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjI4OCIgbG9jYXRvcj0iODk6NS04OTozMDAiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyODkiIGxvY2F0b3I9Ijg5OjEwLTg5OjM4IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI5NiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyOTciIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyOTUiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MSIgbG9jYXRvcj0iODk6MTAtODk6MTkiIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iODk6MTAtODk6MTYiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTIiIGxvY2F0b3I9Ijg5OjIzLTg5OjM4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iSGVwYXRpdGlzQTIwLjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzQ0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTgiIGxvY2F0b3I9Ijg5OjQ1LTg5OjMwMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iODk6NDUtODk6OTEiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBIZXBhdGl0aXMgQSB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSI4OTo5Ny04OTozMDAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzA0IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMwNSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAxIiBsb2NhdG9yPSI4OTo5Ny04OToxMDYiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDIiIGxvY2F0b3I9Ijg5OjExMC04OTozMDAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBIZXBhdGl0aXMgQSBkb3NlIGFzIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLiYjeGE7Q2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgZmlyc3QgZG9zZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0NSIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM0NiIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzQ3IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSI5MTo1LTkxOjI3MiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjMwNyIgbG9jYXRvcj0iOTE6MTAtOTE6MzgiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzE0IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEyIiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxMyIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA5IiBsb2NhdG9yPSI5MToxMC05MToxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSI5MToxMC05MToxNiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iOTE6MjMtOTE6MzgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJIZXBhdGl0aXNBMjEuMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzNDgiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iOTE6NDUtOTE6MjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE3IiBsb2NhdG9yPSI5MTo0NS05MTo4NyIgbmFtZT0iQ2xpZW50IGlzIGR1ZSBmb3IgSGVwYXRpdGlzIEEgdmFjY2luYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxOCIgbG9jYXRvcj0iOTE6OTMtOTE6MjcyIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyMiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMjMiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxOSIgbG9jYXRvcj0iOTE6OTMtOTE6MTAyIiBuYW1lPSJHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIwIiBsb2NhdG9yPSI5MToxMDYtOTE6MjcyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBoZXBhdGl0aXMgQSBkb3NlIGFzIG5vIGhlcGF0aXRpcyBBIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50J3MgYWdlIGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuJiN4YTtDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNDkiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzNTAiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM1MSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjMyNCIgbG9jYXRvcj0iOTM6NS05MzoyNDUiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIzMjUiIGxvY2F0b3I9IjkzOjEwLTkzOjM4IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzMiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzMiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzMCIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzEiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNyIgbG9jYXRvcj0iOTM6MTAtOTM6MTkiIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMyNiIgbG9jYXRvcj0iOTM6MTAtOTM6MTYiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjgiIGxvY2F0b3I9IjkzOjIzLTkzOjM4IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iSGVwYXRpdGlzQTIyLjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzUyIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzQiIGxvY2F0b3I9IjkzOjQ1LTkzOjI0NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNSIgbG9jYXRvcj0iOTM6NDUtOTM6OTEiIG5hbWU9IkhlcGF0aXRpcyBBIGltbXVuaXphdGlvbiBzY2hlZHVsZSBpcyBjb21wbGV0ZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM2IiBsb2NhdG9yPSI5Mzo5Ny05MzoyNDUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzQwIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM0MSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM3IiBsb2NhdG9yPSI5Mzo5Ny05MzoxMDYiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjkzOjExMC05MzoyNDUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJIZXBhdGl0aXMgQSBpbW11bml6YXRpb24gc2NoZWR1bGUgaXMgY29tcGxldGUuIE9uZSBoZXBhdGl0aXMgQSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuJiN4YTtDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM1MyIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM1NCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzU1IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzNTYiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0MiIgbG9jYXRvcj0iOTU6MTAtOTU6MjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJObyB0ZXN0IGNhc2Ugc2V0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM1NyIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM1OCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzU5IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"/>
</content>
</Library>