Quality Measure STU2 for FHIR R4 Implementation Guide

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v1.1.0: STU 2 Ballot 1) based on FHIR R4. The current version which supercedes this version is 3.0.0. For a full list of available versions, see the Directory of published versions

VTE_1_FHIR

{
  "resourceType" : "Library",
  "id" : "vte-1-fhir",
  "meta" : {
    "profile" : [
      "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/library-cqfm"
    ]
  },
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">vte-1-fhir</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://terminology.hl7.org/CodeSystem/library-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>logic-library</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.4.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr>    <!-- <th:block th:each=\"cont, iter : ${resource.contributor}\"> -->    <!-- <tr style=\"vertical-align: top;\"> -->    <!-- <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\"  scope=\"row\"><b>Contributor: </b></th> -->    <!-- <td style=\"padding-left: 25px; padding-right: 25px;\"> -->    <!-- <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span> -->    <!-- </td> -->    <!-- </tr> -->    <!-- </th:block> --><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span>Library/fhirhelpers</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span>Library/matglobalcommonfunctions-fhir</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span>Library/vteicu-fhir</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span>Library/supplementaldataelements-fhir</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"60\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span><span style=\"padding-left: 25px;\"><b>valueset: </b><span/></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span><span style=\"padding-left: 25px;\"><b>valueset: </b><span/></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span><span style=\"padding-left: 25px;\"><b>valueset: </b><span/></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span><span style=\"padding-left: 25px;\"><b>valueset: </b><span/></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span><span style=\"padding-left: 25px;\"><b>valueset: </b><span/></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span><span style=\"padding-left: 25px;\"><b>valueset: </b><span/></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Coverage</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ServiceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><span style=\"padding-left: 25px;\"><b>valueset: </b><span/></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr>    <!-- Filter down to human readable content --><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library VTE_1_FHIR version '7.4.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\n/*\nData Types Used:\n\nEncounter\nDeviceUseStatement\nDeviceRequest\nMedicationAdministration\nMedicationRequest\nProcedure - ordinality extension\nServiceRequest\nCondition\n*/\n\n/*\nDevelopment Notes:\n\n    Need to define “doNotPerfom” QICore extension to support “NotDone is true” expression. Suggest to the base Resource for the following profiles –\n\n        DeviceUseStatement\n        DeviceRequest\n        MedicationRequest\n\n    Need to define an “ordinality” extension for Procedure profile to support “Procedure.ordinality ~ &quot;Principal&quot; expression.\n\n    Need to confirm the following profiles and ensure Period is a default type -\n\n        MedicationAdministration.effective\n        Procedure.performed\n\n    Suggest defining “recordedOn“ to support the timings for “MedicationAdministration.notGiven” and “Procedure.notDone”. see the highlighted fields below.\n\n|Profile                   |Timing used for Done |Timing used for doNotPerform |TJC comments          |\n|---|---|---|---|\n|DeviceUseStatement        |whenUsed             |recordedOn                   |   |\n|DeviceRequest             |authoredOn           |authoredOn                   |   |\n|MedicationAdministration  |effective            |effective                    | Suggest adding recordedOn for notGiven timing |\n|MedicationRequest         |authoredOn           |authoredOn                   |   |\n|Procedure                 |performed            |performed                    | Suggest adding recordedOn for notDone timing |\n|ServiceRequest            |authoredOn           |authoredOn                   |   |\n*/\n\nusing FHIR version '4.0.0'\n\ninclude FHIRHelpers version '4.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR version '2.0.000' called Global\ninclude VTEICU_FHIR version '2.4.000' called VTEICU\ninclude SupplementalDataElements_FHIR version '1.0.0' called SDE\n\ncodesystem &quot;SNOMED CT&quot;: 'http://snomed.info/sct'\ncodesystem &quot;LOINC&quot;: 'http://loinc.org'\ncodesystem &quot;RequestIntent&quot;: 'http://hl7.org/fhir/request-intent'\n\nvalueset &quot;ONC Administrative Sex&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset &quot;Race&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset &quot;Ethnicity&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset &quot;Payer&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset &quot;Atrial Fibrillation/Flutter&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202'\nvalueset &quot;Comfort Measures&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset &quot;Direct Thrombin Inhibitor&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205'\nvalueset &quot;Emergency Department Visit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset &quot;General or Neuraxial Anesthesia&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743'\nvalueset &quot;General Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255'\nvalueset &quot;Glycoprotein IIb/IIIa Inhibitors&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41'\nvalueset &quot;Graduated compression stockings (GCS)&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256'\nvalueset &quot;Gynecological Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257'\nvalueset &quot;Hemorrhagic Stroke&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset &quot;Hip Fracture Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258'\nvalueset &quot;Hip Replacement Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259'\nvalueset &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211'\nvalueset &quot;INR&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213'\nvalueset &quot;Intermittent pneumatic compression devices (IPC)&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214'\nvalueset &quot;Intracranial Neurosurgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260'\nvalueset &quot;Intravenous route&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222'\nvalueset &quot;Ischemic Stroke&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset &quot;Knee Replacement Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261'\nvalueset &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39'\nvalueset &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219'\nvalueset &quot;Low Risk&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400'\nvalueset &quot;Medical Reason&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset &quot;Mental Health Diagnoses&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1004'\nvalueset &quot;Obstetrics&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263'\nvalueset &quot;Obstetrics VTE&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264'\nvalueset &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134'\nvalueset &quot;Patient Refusal&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\n//valueset &quot;Principal&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.14' // Changed to use a code\nvalueset &quot;Subcutaneous route&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223'\nvalueset &quot;Unfractionated Heparin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218'\nvalueset &quot;Urological Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272'\nvalueset &quot;Venous foot pumps (VFP)&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230'\nvalueset &quot;Venous Thromboembolism&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279'\nvalueset &quot;Warfarin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232'\nvalueset &quot;Intensive Care Unit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode &quot;Risk for venous thromboembolism&quot;: '72136-5' from &quot;LOINC&quot; display 'Risk for venous thromboembolism'\ncode &quot;Principal&quot;: '63161005' from &quot;SNOMED CT&quot; display 'Principal (qualifier value)'\ncode &quot;Order&quot;: 'order' from &quot;RequestIntent&quot; display 'Order'\n\ncontext Patient\n\ndefine &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;\n\ndefine &quot;SDE Payer&quot;:\n\tSDE.&quot;SDE Payer&quot;\n\ndefine &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;\n\ndefine &quot;SDE Sex&quot;:\n\tSDE.&quot;SDE Sex&quot;\n\ndefine &quot;Denominator&quot;:\n\t&quot;Initial Population&quot;\n\ndefine &quot;ED Visit&quot;:\n\t[&quot;Encounter&quot;: type in &quot;Emergency Department Visit&quot;] EDVisit\n    where EDVisit.status = 'finished'\n\ndefine &quot;Initial Population&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot;\n\n// TODO: Add doNotPerform to QICore, suggest support in base Resource\n// TODO: Tracker for Device, Not Ordered, ability to represent focalDevice\n//Done\ndefine &quot;No VTE Prophylaxis Device Applied or Ordered&quot;:\n  // NOTE: Should be using device.code, but that requires CQL 1.4\n  (([&quot;DeviceUseStatement&quot;: code in &quot;Venous foot pumps (VFP)&quot;]\n    union [&quot;DeviceUseStatement&quot;: code in &quot;Intermittent pneumatic compression devices (IPC)&quot;]\n    union [&quot;DeviceUseStatement&quot;: code in &quot;Graduated compression stockings (GCS)&quot;]\n  ) D\n    where GetExtension(D.extension, 'http://example.org/fhir/extensions/notDone').value is true\n    //where D.notDone is true // Needs a QI-Core extension to support\n  )\n  union ((\n    [&quot;DeviceRequest&quot;: code in &quot;Venous foot pumps (VFP)&quot;]\n      union [&quot;DeviceRequest&quot;: code in &quot;Intermittent pneumatic compression devices (IPC)&quot;]\n      union [&quot;DeviceRequest&quot;: code in &quot;Graduated compression stockings (GCS)&quot;]\n  ) D\n    where D.intent ~ 'order'\n      and GetExtension(D.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n    //where D.doNotPerform is true // Needs a QI-Core extension to support\n  )\n\ndefine function GetExtension(Extensions List&lt;Extension&gt;, URL String):\n  singleton from (Extensions E where E.url = URL return E)\n\n//Done\ndefine &quot;No VTE Prophylaxis Device Due to Medical Reason During ED Visit&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t&quot;ED Visit&quot; EDVisit,\n\t\t&quot;No VTE Prophylaxis Device Applied or Ordered&quot; NoVTEDevice\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEDevice.reasonCode in &quot;Medical Reason&quot;)\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during FHIRHelpers.ToInterval(EDVisit.period)\n\n//Done\ndefine &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t&quot;No VTE Prophylaxis Device Applied or Ordered&quot; NoVTEDevice\n\t\twhere (singleton from NoVTEDevice.reasonCode in &quot;Medical Reason&quot;)\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Administered or Ordered&quot;:\n\t(\n    (\n      [&quot;MedicationAdministration&quot;: medication in &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;]\n    \tunion\n    \t[&quot;MedicationAdministration&quot;: medication in &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]\n    \tunion\n    \t[&quot;MedicationAdministration&quot;: medication in &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]\n    \tunion\n    \t[&quot;MedicationAdministration&quot;: medication in &quot;Warfarin&quot;]\n\t  ) MedicationAdm\n    where GetExtension(MedicationAdm.extension, 'http://example.org/fhir/extensions/notGiven').value is true\n\t\t//where MedicationAdm.notGiven is true\n\t)\n\tunion\n\t // TODO: Tracker for QI-core to add doNotPerform extension for MedicationRequest and suggest to the base Resource\n\t(\n    (\n      [&quot;MedicationRequest&quot;: medication in &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;]\n    \tunion\n    \t[&quot;MedicationRequest&quot;: medication in &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]\n    \tunion\n    \t[&quot;MedicationRequest&quot;: medication in &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]\n    \tunion\n    \t[&quot;MedicationRequest&quot;: medication in &quot;Warfarin&quot;]\n  \t) MedicationOrder\n  \twhere\tMedicationOrder.intent = 'order'\n  \t\tand GetExtension(MedicationOrder.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n  \t\t//MedicationOrder.doNotPerform is true // Needs a QI-Core extension to support\n\t)\n\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Due to Medical Reason During ED Visit&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t&quot;ED Visit&quot; EDVisit,\n\t\t&quot;No VTE Prophylaxis Medication Administered or Ordered&quot; NoVTEMedication\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEMedication.reasonCode in &quot;Medical Reason&quot;)\n\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t&quot;No VTE Prophylaxis Medication Administered or Ordered&quot; NoVTEMedication\n\t\twhere (singleton from NoVTEMedication.reasonCode in &quot;Medical Reason&quot;)\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\treturn QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n\t\t&quot;No VTE Prophylaxis Device Applied or Ordered&quot; NoVTEDevice\n\t\twhere NoVTEDevice.reasonCode in &quot;Medical Reason&quot;\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tand (AnesthesiaProcedure.performed as Period) ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand  Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of (AnesthesiaProcedure.performed as Period))\n\t\treturn QualifyingEncounter\n\n//Done\ndefine &quot;Admission Without VTE or Obstetrical Conditions&quot;:\n\t\t(Global.&quot;Inpatient Encounter&quot; InpatientEncounter\n\t\twhere not (Global.EncounterDiagnosis(InpatientEncounter).code in &quot;Obstetrics&quot;\n\t\t\t\t\t\t\t\tor Global.EncounterDiagnosis(InpatientEncounter).code in &quot;Venous Thromboembolism&quot;\n\t\t\t\t\t\t\t\tor Global.EncounterDiagnosis(InpatientEncounter).code in &quot;Obstetrics VTE&quot;\n\t\t\t\t\t\t\t)\n    )\n\t\tintersect (Global.&quot;Inpatient Encounter&quot; InpatientEncounter\n\t\t\t\twithout ( [&quot;Condition&quot;: code in &quot;Obstetrics&quot;]\n\t\t\t\t\t\t\t\t\tunion [&quot;Condition&quot;: code in &quot;Venous Thromboembolism&quot;]\n\t\t\t\t\t\t\t\t\tunion [&quot;Condition&quot;: code in &quot;Obstetrics VTE&quot;])\tDiagnosis\n\t\t\t\tsuch that\n          exists\n          (\n            Diagnosis.clinicalStatus.coding Coding\n              where Coding.code ~ 'active'\n          )\n          and exists\n          (\n            Diagnosis.verificationStatus.coding VerificationStatusCoding\n              where VerificationStatusCoding.code ~ 'confirmed'\n          )\n          and Global.&quot;Normalize Onset&quot;(Diagnosis.onset) during Global.&quot;Hospitalization&quot;(InpatientEncounter)\n\t\t)\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n\t\t&quot;No VTE Prophylaxis Medication Administered or Ordered&quot; NoVTEMedication\n\t\twhere NoVTEMedication.reasonCode in &quot;Medical Reason&quot;\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\tand (AnesthesiaProcedure.performed as Period) ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of (AnesthesiaProcedure.performed as Period))\n\t\treturn QualifyingEncounter\n\n\n//Done\ndefine &quot;Encounter Less Than 2 Days&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\twhere Global.&quot;LengthInDays&quot;(FHIRHelpers.ToInterval(QualifyingEncounter.period))&lt; 2\n\n\n//Done\ndefine &quot;SCIP VTE Selected Surgery&quot;:\n\t(\t[&quot;Procedure&quot;: &quot;General Surgery&quot;]\n\t\tunion [&quot;Procedure&quot;: &quot;Gynecological Surgery&quot;]\n\t\tunion [&quot;Procedure&quot;: &quot;Hip Fracture Surgery&quot;]\n\t\tunion [&quot;Procedure&quot;: &quot;Hip Replacement Surgery&quot;]\n\t\tunion [&quot;Procedure&quot;: &quot;Intracranial Neurosurgery&quot;]\n\t\tunion [&quot;Procedure&quot;: &quot;Knee Replacement Surgery&quot;]\n\t\tunion [&quot;Procedure&quot;: &quot;Urological Surgery&quot;] ) P\n\t\twhere P.status = 'completed'\n\n\n//Done\ndefine &quot;Intervention Comfort Measures&quot;:\n\t([&quot;ServiceRequest&quot;: &quot;Comfort Measures&quot;] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t([&quot;Procedure&quot;: &quot;Comfort Measures&quot;] IntervetionPerformed\n\t\twhere IntervetionPerformed.status = 'completed')\n\n//Done\ndefine &quot;Intervention Comfort Measures on Day of or Day After Start of Hospitalization&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\twith &quot;Intervention Comfort Measures&quot; ComfortMeasure\n\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tsuch that Coalesce(ComfortMeasure.authoredOn, start of (ComfortMeasure.performed as Period)) 1 day or less on or after day of start of Global.&quot;Hospitalization&quot;(QualifyingEncounter)\n\n//Done\ndefine &quot;Intervention Comfort Measures on Day of or Day After Procedure&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n\t\t&quot;Intervention Comfort Measures&quot; ComfortMeasure\n\t\twhere  AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand (AnesthesiaProcedure.performed as Period) ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\tand Coalesce(ComfortMeasure.authoredOn, start of (ComfortMeasure.performed as Period)) 1 day or less on or after day of end of (AnesthesiaProcedure.performed as Period)\n\n//Done\ndefine &quot;VTE Prophylaxis by Medication Administered or Device Applied&quot;:\n\t( [&quot;MedicationAdministration&quot;: medication in &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;] VTEMedication\n\t\t\twhere VTEMedication.status = 'completed'\n\t\t\t\t\t\tand VTEMedication.dosage.route in &quot;Subcutaneous route&quot;\n\t)\n\t\tunion [&quot;MedicationAdministration&quot;: medication in &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]\n\t\tunion [&quot;MedicationAdministration&quot;: medication in &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]\n\t\tunion [&quot;MedicationAdministration&quot;: medication in &quot;Warfarin&quot;]\n\t\tunion ((\n\t\t\t\t[&quot;DeviceUseStatement&quot;: code in &quot;Intermittent pneumatic compression devices (IPC)&quot;]\n\t\t\t\tunion [&quot;DeviceUseStatement&quot;: code in &quot;Venous foot pumps (VFP)&quot;]\n\t\t\t\tunion [&quot;DeviceUseStatement&quot;: code in &quot;Graduated compression stockings (GCS)&quot;]\n      ) DeviceApplied\n\t\t\t\twhere DeviceApplied.status = 'completed'\n    )\n\n//Done\ndefine &quot;VTE Prophylaxis Received on Day of or Day After Admission or Procedure&quot;:\n\t( from\n\t\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t\t&quot;VTE Prophylaxis by Medication Administered or Device Applied&quot; HasVTEProphylaxis\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\twhere Coalesce(HasVTEProphylaxis.recordedOn, start of HasVTEProphylaxis.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t\treturn QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t\t\t[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n\t\t\t\t&quot;VTE Prophylaxis by Medication Administered or Device Applied&quot; HasVTEProphylaxis\n\t\t\t\twhere (AnesthesiaProcedure.performed as Period) ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\t\tand Coalesce(HasVTEProphylaxis.recordedOn, start of HasVTEProphylaxis.effective) during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of (AnesthesiaProcedure.performed as Period))\n\t\t\t\treturn QualifyingEncounter\n\t\t)\n\n\n//Done\ndefine &quot;Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure&quot;:\n\t( from\n\t\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t\t[&quot;MedicationAdministration&quot;: medication in &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;] FactorXaMedication\n\t\t\twhere FactorXaMedication.effective starts during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t\treturn QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t\t\t[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n\t\t\t\t[&quot;MedicationAdministration&quot;: medication in &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;] FactorXaMedication\n\t\t\t\twhere AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand (AnesthesiaProcedure.performed as Period) ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\t\tand FactorXaMedication.effective starts during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of (AnesthesiaProcedure.performed as Period))\n\t\t\t\treturn QualifyingEncounter\n\t\t)\n\n//Done\ndefine &quot;Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE&quot;:\n\t( &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\t\twith [&quot;Condition&quot;: code in &quot;Atrial Fibrillation/Flutter&quot;] AtrialFibrillation\n\t\t\t\tsuch that\n        exists\n        (\n          AtrialFibrillation.clinicalStatus.coding ClinicalStatusCoding\n            where ClinicalStatusCoding.code ~ 'active'\n        )\n        and exists\n        (\n          AtrialFibrillation.verificationStatus.coding VerificationStatusCoding\n            where VerificationStatusCoding.code ~ 'confirmed'\n        )\n\t\t\t\tand Global.&quot;Normalize Onset&quot;(AtrialFibrillation.onset) on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t)\n\t\tunion ( &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\t\t\twhere Global.EncounterDiagnosis(QualifyingEncounter).code in &quot;Atrial Fibrillation/Flutter&quot;\n\t\t\t)\n\t\tunion ( &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\t\t\twith [&quot;Condition&quot;: code in &quot;Venous Thromboembolism&quot;] VTEDiagnosis\n\t\t\t\t\tsuch that\n          exists\n          (\n            VTEDiagnosis.clinicalStatus.coding ClinicalStatusCoding\n              where ClinicalStatusCoding.code in { 'inactive', 'remission', 'resolved' }\n          )\n\t\t\t\t\tand exists\n          (\n            VTEDiagnosis.verificationStatus.coding VerificationStatusCoding\n              where VerificationStatusCoding.code = 'confirmed'\n          )\n\t\t\t\t\tand Global.&quot;Normalize Onset&quot;(VTEDiagnosis.onset) before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t)\n\n//Done\ndefine &quot;Encounter With ICU Location Stay 1 Day or More&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\twhere exists ( QualifyingEncounter.location Location\n\t\t\t\twhere Global.GetLocation(Location.location).type in &quot;Intensive Care Unit&quot;\n\t\t\t\t\tand Global.&quot;LengthInDays&quot;(Location.period)&gt;= 1\n\t\t\t\t\tand Location.period starts during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t)\n\n\n//Done\ndefine &quot;Encounter With Principal Diagnosis of Mental Disorder or Stroke&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\twhere Global.&quot;PrincipalDiagnosis&quot;(QualifyingEncounter).code in &quot;Mental Health Diagnoses&quot;\n\t\t\tor Global.&quot;PrincipalDiagnosis&quot;(QualifyingEncounter).code in &quot;Hemorrhagic Stroke&quot;\n\t\t\tor Global.&quot;PrincipalDiagnosis&quot;(QualifyingEncounter).code in &quot;Ischemic Stroke&quot;\n\n//Done\n// TODO: Define an ordinality extension to a Procedure profile and ask Patient Administration and/or Patient Care to review\ndefine &quot;Encounter With Principal Procedure of SCIP VTE Selected Surgery&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\twith ( &quot;SCIP VTE Selected Surgery&quot; Procedure\n\t\t\twhere GetExtension(Procedure.extension, 'http://example.org/StructureDefinition/ordinality').value ~ &quot;Principal&quot; ) SelectedProcedure\n\t\t\tsuch that SelectedProcedure.performed during FHIRHelpers.ToInterval( QualifyingEncounter.period)\n\n//Done\ndefine &quot;Denominator Exclusion&quot;:\n\t&quot;Encounter Less Than 2 Days&quot;\n\t\tunion &quot;Encounter With ICU Location Stay 1 Day or More&quot;\n\t\tunion &quot;Encounter With Principal Diagnosis of Mental Disorder or Stroke&quot;\n\t\tunion &quot;Encounter With Principal Procedure of SCIP VTE Selected Surgery&quot;\n\t\tunion &quot;Intervention Comfort Measures on Day of or Day After Start of Hospitalization&quot;\n\t\tunion &quot;Intervention Comfort Measures on Day of or Day After Procedure&quot;\n\n//Done\ndefine &quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot;:\n\t( Global.&quot;Inpatient Encounter&quot; InpatientEncounter\n\t\t\twith [&quot;Patient&quot;] BirthDate\n\t\t\t\tsuch that Global.&quot;CalendarAgeInYearsAt&quot;(ToDateTime(BirthDate.birthDate), start of FHIRHelpers.ToInterval(InpatientEncounter.period)) &gt;= 18\n\t)\n\t\tintersect &quot;Admission Without VTE or Obstetrical Conditions&quot;\n\n//Done\ndefine &quot;Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\twith ( [&quot;Procedure&quot;: &quot;Hip Replacement Surgery&quot;]\n\t\t\tunion [&quot;Procedure&quot;: &quot;Knee Replacement Surgery&quot;] ) HipKneeProcedure\n\t\t\tsuch that HipKneeProcedure.status = 'completed'\n\t\t\t\tand (HipKneeProcedure.performed as Period) starts on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered&quot;:\n\t&quot;Low Risk for VTE or Anticoagulant Administered During ED Visit&quot;\n\t\tunion &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission&quot;\n\t\tunion &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure&quot;\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Medical Reason&quot;:\n\t( &quot;No VTE Prophylaxis Medication Due to Medical Reason During ED Visit&quot;\n\t\t\tintersect &quot;No VTE Prophylaxis Device Due to Medical Reason During ED Visit&quot;\n\t)\n\t\tunion ( &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission&quot;\n\t\t\t\tintersect &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission&quot;\n\t\t)\n\t\tunion ( &quot;No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure&quot;\n\t\t\t\tintersect &quot;No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure&quot;\n\t\t)\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal During ED Visit&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t&quot;ED Visit&quot; EDVisit,\n\t\t&quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot; PatientRefusal\n\t\twhere EDVisit.period ends 1 hour or less on or before start of QualifyingEncounter.period\n\t\t\tand Coalesce(PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn) during EDVisit.period\n\t\treturn QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t&quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot; PatientRefusal\n\t\twhere Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n      during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of QualifyingEncounter.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n\t\t&quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot; PatientRefusal\n\t\twhere (AnesthesiaProcedure.performed as Period) ends 1 day after day of start of QualifyingEncounter.period\n\t\t\tand Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n        during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of (AnesthesiaProcedure.performed as Period))\n\t\treturn QualifyingEncounter\n\n//Done\ndefine &quot;No VTE Prophylaxis Medication or Device Due to Patient Refusal&quot;:\n\t( &quot;No VTE Prophylaxis Medication Administered or Ordered&quot;\n\t\tunion &quot;No VTE Prophylaxis Device Applied or Ordered&quot; ) NoVTEProphylaxis\n\t//\tTODO: where GetExtension(NoVTEProphylaxis.extension, 'http://example.org/StructureDefinition/notDoneReason').value in &quot;Patient Refusal&quot;\n\n//Done\ndefine &quot;No VTE Prophylaxis Due to Patient Refusal&quot;:\n\t&quot;No VTE Prophylaxis Due to Patient Refusal During ED Visit&quot;\n\t\tunion &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission&quot;\n\t\tunion &quot;No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure&quot;\n\n//Done\ndefine &quot;Numerator&quot;:\n\t&quot;VTE Prophylaxis Received on Day of or Day After Admission or Procedure&quot;\n\t\tunion ( &quot;Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure&quot;\n\t\t\t\tintersect ( &quot;Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE&quot;\n\t\t\t\t\t\tunion &quot;Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery&quot;\n\t\t\t\t)\n\t\t)\n\t\tunion &quot;Low Risk for VTE or Anticoagulant Administered&quot;\n\t\tunion &quot;No VTE Prophylaxis Due to Medical Reason&quot;\n\t\tunion &quot;No VTE Prophylaxis Due to Patient Refusal&quot;\n\n//Done\ndefine &quot;Is In Low Risk for VTE or On Anticoagulant&quot;:\n\t( [&quot;Observation&quot;: &quot;Risk for venous thromboembolism&quot;] VTERiskAssessment\n\t\t\twhere VTERiskAssessment.value in &quot;Low Risk&quot;\n\t)\n/*\n// TODO: Issues with constructing the FHIR types here...\n\t\tunion ( [&quot;Observation&quot;: &quot;INR&quot;] INRLabTest\n\t\t\t\twhere INRLabTest.value as Quantity &gt; 3.0\n\t\t\t\treturn &quot;Observation&quot; { id: INRLabTest.id, effective: INRLabTest.issued }\n\t\t)\n\t\tunion ((( [&quot;MedicationAdministration&quot;: &quot;Unfractionated Heparin&quot;] UnfractionatedHeparin\n\t\t\t\t\twhere UnfractionatedHeparin.dosage.route in &quot;Intravenous route&quot;\n\t\t\t\t\t\t)\n\t\t\t\tunion [&quot;MedicationAdministration&quot;: &quot;Direct Thrombin Inhibitor&quot;]\n\t\t\t\tunion [&quot;MedicationAdministration&quot;: &quot;Glycoprotein IIb/IIIa Inhibitors&quot;] ) AnticoagulantMedication\n\t\t\t\t\treturn &quot;Observation&quot; { id: AnticoagulantMedication.id, effective: start of effective}\n\t\t)\n*/\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered During ED Visit&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t&quot;ED Visit&quot; EDVisit,\n\t\t&quot;Is In Low Risk for VTE or On Anticoagulant&quot; VTERiskAssessment\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission&quot;:\n\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter\n\t\twith &quot;Is In Low Risk for VTE or On Anticoagulant&quot; VTERiskAssessment\n\t\t\tsuch that VTERiskAssessment.issued during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine &quot;Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure&quot;:\n\tfrom\n\t\t&quot;Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions&quot; QualifyingEncounter,\n\t\t[&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,\n\t\t&quot;Is In Low Risk for VTE or On Anticoagulant&quot; VTERiskAssessment\n\t\twhere (AnesthesiaProcedure.performed as Period) ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during VTEICU.&quot;CalendarDayOfOrDayAfter&quot;(end of FHIRHelpers.ToInterval((AnesthesiaProcedure.performed as Period)))\n\t\treturn QualifyingEncounter\n</code></pre>\n                    \n                    \n                </td>\n            </tr>\n        \n    </table>\n</div>"
  },
  "url" : "http://hl7.org/fhir/us/cqfmeasures/Library/vte-1-fhir",
  "identifier" : [
    {
      "use" : "official",
      "system" : "http://example.org/fhir/cqi/ecqm/Library/Identifier",
      "value" : "VenousThromboembolismProphylaxis_FHIR"
    }
  ],
  "version" : "1.1.0",
  "name" : "VTE_1_FHIR",
  "title" : "Venous Thromboembolism Prophylaxis FHIR",
  "status" : "active",
  "experimental" : true,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2019-09-03T00:00:00+00:00",
  "publisher" : "Health Level 7 International - Clinical Quality Information Work Group",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/cqi/index.cfm"
        }
      ]
    }
  ],
  "description" : "This library is used as an example in the FHIR Quality Measure Implementation Guide",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "US",
          "display" : "United States of America"
        }
      ]
    }
  ],
  "approvalDate" : "2019-08-03",
  "lastReviewDate" : "2019-08-03",
  "relatedArtifact" : [
    {
      "type" : "depends-on",
      "resource" : "Library/fhirhelpers"
    },
    {
      "type" : "depends-on",
      "resource" : "Library/matglobalcommonfunctions-fhir"
    },
    {
      "type" : "depends-on",
      "resource" : "Library/vteicu-fhir"
    },
    {
      "type" : "depends-on",
      "resource" : "Library/supplementaldataelements-fhir"
    }
  ],
  "dataRequirement" : [
    {
      "type" : "Encounter",
      "codeFilter" : [
        {
          "path" : "type",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"
        }
      ]
    },
    {
      "type" : "Encounter",
      "codeFilter" : [
        {
          "path" : "type",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "id"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "id"
        }
      ]
    },
    {
      "type" : "Location",
      "codeFilter" : [
        {
          "path" : "id"
        }
      ]
    },
    {
      "type" : "Encounter",
      "codeFilter" : [
        {
          "path" : "type",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"
        }
      ]
    },
    {
      "type" : "Encounter",
      "codeFilter" : [
        {
          "path" : "type",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "id"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "id"
        }
      ]
    },
    {
      "type" : "Location",
      "codeFilter" : [
        {
          "path" : "id"
        }
      ]
    },
    {
      "type" : "Coverage",
      "codeFilter" : [
        {
          "path" : "type",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"
        }
      ]
    },
    {
      "type" : "Patient"
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264"
        }
      ]
    },
    {
      "type" : "Encounter",
      "codeFilter" : [
        {
          "path" : "type",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"
        }
      ]
    },
    {
      "type" : "DeviceUseStatement",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230"
        }
      ]
    },
    {
      "type" : "DeviceUseStatement",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214"
        }
      ]
    },
    {
      "type" : "DeviceUseStatement",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256"
        }
      ]
    },
    {
      "type" : "DeviceRequest",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230"
        }
      ]
    },
    {
      "type" : "DeviceRequest",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214"
        }
      ]
    },
    {
      "type" : "DeviceRequest",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232"
        }
      ]
    },
    {
      "type" : "MedicationRequest",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39"
        }
      ]
    },
    {
      "type" : "MedicationRequest",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219"
        }
      ]
    },
    {
      "type" : "MedicationRequest",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211"
        }
      ]
    },
    {
      "type" : "MedicationRequest",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272"
        }
      ]
    },
    {
      "type" : "ServiceRequest",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232"
        }
      ]
    },
    {
      "type" : "DeviceUseStatement",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214"
        }
      ]
    },
    {
      "type" : "DeviceUseStatement",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230"
        }
      ]
    },
    {
      "type" : "DeviceUseStatement",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743"
        }
      ]
    },
    {
      "type" : "MedicationAdministration",
      "codeFilter" : [
        {
          "path" : "medication",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202"
        }
      ]
    },
    {
      "type" : "Condition",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261"
        }
      ]
    },
    {
      "type" : "Observation",
      "codeFilter" : [
        {
          "path" : "code"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743"
        }
      ]
    },
    {
      "type" : "Procedure",
      "codeFilter" : [
        {
          "path" : "code",
          "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743"
        }
      ]
    }
  ],
  "content" : [
    {
      "contentType" : "application/elm+xml",
      "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM2IiBzdGFydENoYXI9IjUiIGVuZExpbmU9IjEzNiIgZW5kQ2hhcj0iNjEiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIGNvZGUgcGF0aCBjb2RlIGZvciB0aGUgdHlwZSBvZiB0aGUgcmV0cmlldmUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnQuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM2IiBzdGFydENoYXI9IjUiIGVuZExpbmU9IjEzNiIgZW5kQ2hhcj0iNjEiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM3IiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSIxMzciIGVuZENoYXI9IjkyIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggY29kZSBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuRGV2aWNlVXNlU3RhdGVtZW50LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjEzNyIgc3RhcnRDaGFyPSIxMSIgZW5kTGluZT0iMTM3IiBlbmRDaGFyPSI5MiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIxMzgiIHN0YXJ0Q2hhcj0iMTEiIGVuZExpbmU9IjEzOCIgZW5kQ2hhcj0iODEiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIGNvZGUgcGF0aCBjb2RlIGZvciB0aGUgdHlwZSBvZiB0aGUgcmV0cmlldmUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnQuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM4IiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSIxMzgiIGVuZENoYXI9IjgxIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMzNCIgc3RhcnRDaGFyPSI1IiBlbmRMaW5lPSIzMzQiIGVuZENoYXI9Ijg2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggY29kZSBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuRGV2aWNlVXNlU3RhdGVtZW50LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMzNCIgc3RhcnRDaGFyPSI1IiBlbmRMaW5lPSIzMzQiIGVuZENoYXI9Ijg2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMzNSIgc3RhcnRDaGFyPSIxMSIgZW5kTGluZT0iMzM1IiBlbmRDaGFyPSI2NyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgY29kZSBwYXRoIGNvZGUgZm9yIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBGSElSLkRldmljZVVzZVN0YXRlbWVudC4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIzMzUiIHN0YXJ0Q2hhcj0iMTEiIGVuZExpbmU9IjMzNSIgZW5kQ2hhcj0iNjciIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMzM2IiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSIzMzYiIGVuZENoYXI9IjgxIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggY29kZSBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuRGV2aWNlVXNlU3RhdGVtZW50LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjMzNiIgc3RhcnRDaGFyPSIxMSIgZW5kTGluZT0iMzM2IiBlbmRDaGFyPSI4MSIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI1MzgiIHN0YXJ0Q2hhcj0iNCIgZW5kTGluZT0iNTM4IiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGlkZW50aWZpZXIgaWQ9IlZURV8xX0ZISVIiIHZlcnNpb249IjcuNC4wMDAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjAiLz4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjAiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIiIHZlcnNpb249IjIuMC4wMDAiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlZURUlDVSIgcGF0aD0iVlRFSUNVX0ZISVIiIHZlcnNpb249IjIuNC4wMDAiLz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIiIHZlcnNpb249IjEuMC4wIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxjb2RlU3lzdGVtcz4KICAgICAgPGRlZiBuYW1lPSJTTk9NRUQgQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iUmVxdWVzdEludGVudCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgPC9jb2RlU3lzdGVtcz4KICAgPHZhbHVlU2V0cz4KICAgICAgPGRlZiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iRGlyZWN0IFRocm9tYmluIEluaGliaXRvciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMTc0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkdlbmVyYWwgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJHbHljb3Byb3RlaW4gSUliL0lJSWEgSW5oaWJpdG9ycyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iR3luZWNvbG9naWNhbCBTdXJnZXJ5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJIaXAgRnJhY3R1cmUgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJIaXAgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJJTlIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IkludHJhY3JhbmlhbCBOZXVyb3N1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iSW50cmF2ZW5vdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9IktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDUuMzkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJMb3cgTW9sZWN1bGFyIFdlaWdodCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTG93IFJpc2siIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iTWVudGFsIEhlYWx0aCBEaWFnbm9zZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDUuMTIuMTAwNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPgogICAgICA8ZGVmIG5hbWU9Ik9ic3RldHJpY3MiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iT2JzdGV0cmljcyBWVEUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjY0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4xMzQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IFJlZnVzYWwiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJTdWJjdXRhbmVvdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJVcm9sb2dpY2FsIFN1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjcyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgICAgIDxkZWYgbmFtZT0iVmVub3VzIFRocm9tYm9lbWJvbGlzbSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJXYXJmYXJpbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4KICAgICAgPGRlZiBuYW1lPSJJbnRlbnNpdmUgQ2FyZSBVbml0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbmFtZT0iUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSIgaWQ9IjcyMTM2LTUiIGRpc3BsYXk9IlJpc2sgZm9yIHZlbm91cyB0aHJvbWJvZW1ib2xpc20iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWwiIGlkPSI2MzE2MTAwNSIgZGlzcGxheT0iUHJpbmNpcGFsIChxdWFsaWZpZXIgdmFsdWUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEIENUIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik9yZGVyIiBpZD0ib3JkZXIiIGRpc3BsYXk9Ik9yZGVyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iUmVxdWVzdEludGVudCIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlckRpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJPYnN0ZXRyaWNzIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlZlbm91cyBUaHJvbWJvZW1ib2xpc20iLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlckRpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJPYnN0ZXRyaWNzIFZURSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aG91dCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT2JzdGV0cmljcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJWZW5vdXMgVGhyb21ib2VtYm9saXNtIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT2JzdGV0cmljcyBWVEUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkRpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHNjb3BlPSJDb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVmVyaWZpY2F0aW9uU3RhdHVzQ29kaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkRpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHNjb3BlPSJWZXJpZmljYXRpb25TdGF0dXNDb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IkRpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoQ2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJoaWdoQ2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHNjb3BlPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBZG1pc3Npb24gV2l0aG91dCBWVEUgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFeHRlbnNpb25zIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJVUkwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkV4dGVuc2lvbnMiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIG5hbWU9ImZoaXI6RXh0ZW5zaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVVJMIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IklzVHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9maGlyL2V4dGVuc2lvbnMvbm90RG9uZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkRldmljZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzVHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9maGlyL2V4dGVuc2lvbnMvZG9Ob3RQZXJmb3JtIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWNvcmRlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9InRydWUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9InRydWUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTWVkaWNhdGlvbkFkbSI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IldhcmZhcmluIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSXNUcnVlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Cb29sZWFuIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpib29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik1lZGljYXRpb25BZG0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9ub3RHaXZlbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJNZWRpY2F0aW9uT3JkZXIiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IldhcmZhcmluIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaW50ZW50IiBzY29wZT0iTWVkaWNhdGlvbk9yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzVHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJNZWRpY2F0aW9uT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9kb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEVmlzaXQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFTWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFTWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb1ZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTWVkaWNhbCBSZWFzb24iLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZUFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR2VuZXJhbCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ikd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhpcCBGcmFjdHVyZSBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbnRyYWNyYW5pYWwgTmV1cm9zdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVXJvbG9naWNhbCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlAiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZldGlvblBlcmZvcm1lZCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBTdGFydCBvZiBIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb21mb3J0TWVhc3VyZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9InRydWUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQ29tZm9ydE1lYXN1cmUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFTWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJvdXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImRvc2FnZSIgc2NvcGU9IlZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlN1YmN1dGFuZW91cyByb3V0ZSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJMb3cgTW9sZWN1bGFyIFdlaWdodCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJXYXJmYXJpbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkRldmljZUFwcGxpZWQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJEZXZpY2VBcHBsaWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGFzVlRFUHJvcGh5bGF4aXMiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWNvcmRlZE9uIiBzY29wZT0iSGFzVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iSGFzVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGFzVlRFUHJvcGh5bGF4aXMiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZUFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ikhhc1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ikhhc1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik1lZGljYXRpb24gT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkZhY3RvclhhTWVkaWNhdGlvbiI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZhY3RvclhhTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmFjdG9yWGFNZWRpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iRmFjdG9yWGFNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IERpYWdub3NpcyBvZiBBdHJpYWwgRmlicmlsbGF0aW9uIG9yIFZURSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ2xpbmljYWxTdGF0dXNDb2RpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJBdHJpYWxGaWJyaWxsYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiBzY29wZT0iQ2xpbmljYWxTdGF0dXNDb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVmVyaWZpY2F0aW9uU3RhdHVzQ29kaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkF0cmlhbEZpYnJpbGxhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHNjb3BlPSJWZXJpZmljYXRpb25TdGF0dXNDb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iVlRFRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVmVub3VzIFRocm9tYm9lbWJvbGlzbSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNsaW5pY2FsU3RhdHVzQ29kaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iVlRFRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHNjb3BlPSJDbGluaWNhbFN0YXR1c0NvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaW5hY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJyZW1pc3Npb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJyZXNvbHZlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZlcmlmaWNhdGlvblN0YXR1c0NvZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgc2NvcGU9IlZlcmlmaWNhdGlvblN0YXR1c0NvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkJlZm9yZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ0eXBlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldExvY2F0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSW50ZW5zaXZlIENhcmUgVW5pdCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIG9mIE1lbnRhbCBEaXNvcmRlciBvciBTdHJva2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IlNlbGVjdGVkUHJvY2VkdXJlIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlByb2NlZHVyZSI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvZGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vb3JkaW5hbGl0eSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlByaW5jaXBhbCIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlNlbGVjdGVkUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjbHVzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiBTdGF5IDEgRGF5IG9yIE1vcmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQW5lc3RoZXNpYVByb2NlZHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQ29tZm9ydE1lYXN1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpTZXJ2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBTdGFydCBvZiBIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJDb21mb3J0TWVhc3VyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlNlcnZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6U2VydmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iSGlwS25lZVByb2NlZHVyZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkhpcEtuZWVQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNhbWVPckJlZm9yZSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iSGlwS25lZVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURVJpc2tBc3Nlc3NtZW50Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IlZURVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJMb3cgUmlzayIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWVEVSaXNrQXNzZXNzbWVudCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJWVEVSaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJWVEVSaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Imlzc3VlZCIgc2NvcGU9IlZURVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURVJpc2tBc3Nlc3NtZW50Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Imlzc3VlZCIgc2NvcGU9IlZURVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbnRlcnNlY3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbnRlcnNlY3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFUHJvcGh5bGF4aXMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBEdXJpbmcgRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEVmlzaXQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhdGllbnRSZWZ1c2FsIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhdGllbnRSZWZ1c2FsIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF0aWVudFJlZnVzYWwiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIER1cmluZyBFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lZGljYXRpb24gT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBNZWRpY2FsIFJlYXNvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="
    },
    {
      "contentType" : "text/cql",
      "data" : "bGlicmFyeSBWVEVfMV9GSElSIHZlcnNpb24gJzcuNC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCi8qCkRhdGEgVHlwZXMgVXNlZDoKCkVuY291bnRlcgpEZXZpY2VVc2VTdGF0ZW1lbnQKRGV2aWNlUmVxdWVzdApNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24KTWVkaWNhdGlvblJlcXVlc3QKUHJvY2VkdXJlIC0gb3JkaW5hbGl0eSBleHRlbnNpb24KU2VydmljZVJlcXVlc3QKQ29uZGl0aW9uCiovCgovKgpEZXZlbG9wbWVudCBOb3RlczoKCiAgICBOZWVkIHRvIGRlZmluZSDigJxkb05vdFBlcmZvbeKAnSBRSUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQg4oCcTm90RG9uZSBpcyB0cnVl4oCdIGV4cHJlc3Npb24uIFN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UgZm9yIHRoZSBmb2xsb3dpbmcgcHJvZmlsZXMg4oCTCgogICAgICAgIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIERldmljZVJlcXVlc3QKICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdAoKICAgIE5lZWQgdG8gZGVmaW5lIGFuIOKAnG9yZGluYWxpdHnigJ0gZXh0ZW5zaW9uIGZvciBQcm9jZWR1cmUgcHJvZmlsZSB0byBzdXBwb3J0IOKAnFByb2NlZHVyZS5vcmRpbmFsaXR5IH4gIlByaW5jaXBhbCIgZXhwcmVzc2lvbi4KCiAgICBOZWVkIHRvIGNvbmZpcm0gdGhlIGZvbGxvd2luZyBwcm9maWxlcyBhbmQgZW5zdXJlIFBlcmlvZCBpcyBhIGRlZmF1bHQgdHlwZSAtCgogICAgICAgIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5lZmZlY3RpdmUKICAgICAgICBQcm9jZWR1cmUucGVyZm9ybWVkCgogICAgU3VnZ2VzdCBkZWZpbmluZyDigJxyZWNvcmRlZE9u4oCcIHRvIHN1cHBvcnQgdGhlIHRpbWluZ3MgZm9yIOKAnE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5ub3RHaXZlbuKAnSBhbmQg4oCcUHJvY2VkdXJlLm5vdERvbmXigJ0uIHNlZSB0aGUgaGlnaGxpZ2h0ZWQgZmllbGRzIGJlbG93LgoKfFByb2ZpbGUgICAgICAgICAgICAgICAgICAgfFRpbWluZyB1c2VkIGZvciBEb25lIHxUaW1pbmcgdXNlZCBmb3IgZG9Ob3RQZXJmb3JtIHxUSkMgY29tbWVudHMgICAgICAgICAgfAp8LS0tfC0tLXwtLS18LS0tfAp8RGV2aWNlVXNlU3RhdGVtZW50ICAgICAgICB8d2hlblVzZWQgICAgICAgICAgICAgfHJlY29yZGVkT24gICAgICAgICAgICAgICAgICAgfCAgIHwKfERldmljZVJlcXVlc3QgICAgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CnxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gIHxlZmZlY3RpdmUgICAgICAgICAgICB8ZWZmZWN0aXZlICAgICAgICAgICAgICAgICAgICB8IFN1Z2dlc3QgYWRkaW5nIHJlY29yZGVkT24gZm9yIG5vdEdpdmVuIHRpbWluZyB8CnxNZWRpY2F0aW9uUmVxdWVzdCAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAp8UHJvY2VkdXJlICAgICAgICAgICAgICAgICB8cGVyZm9ybWVkICAgICAgICAgICAgfHBlcmZvcm1lZCAgICAgICAgICAgICAgICAgICAgfCBTdWdnZXN0IGFkZGluZyByZWNvcmRlZE9uIGZvciBub3REb25lIHRpbWluZyB8CnxTZXJ2aWNlUmVxdWVzdCAgICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBWVEVJQ1VfRkhJUiB2ZXJzaW9uICcyLjQuMDAwJyBjYWxsZWQgVlRFSUNVCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRCBDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjE3NDMnCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScKdmFsdWVzZXQgIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MScKdmFsdWVzZXQgIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NicKdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU4Jwp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScKdmFsdWVzZXQgIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEnCnZhbHVlc2V0ICJJTlIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMycKdmFsdWVzZXQgIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE0Jwp2YWx1ZXNldCAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwJwp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEnCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jwp2YWx1ZXNldCAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTknCnZhbHVlc2V0ICJMb3cgUmlzayI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwJwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MycKdmFsdWVzZXQgIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2JzdGV0cmljcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzJwp2YWx1ZXNldCAiT2JzdGV0cmljcyBWVEUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2NCcKdmFsdWVzZXQgIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjEzNCcKdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnCi8vdmFsdWVzZXQgIlByaW5jaXBhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTQnIC8vIENoYW5nZWQgdG8gdXNlIGEgY29kZQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnCnZhbHVlc2V0ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgnCnZhbHVlc2V0ICJVcm9sb2dpY2FsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI3MicKdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIChWRlApIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnCnZhbHVlc2V0ICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzknCnZhbHVlc2V0ICJXYXJmYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMyJwp2YWx1ZXNldCAiSW50ZW5zaXZlIENhcmUgVW5pdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMnCgpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJwpjb2RlICJQcmluY2lwYWwiOiAnNjMxNjEwMDUnIGZyb20gIlNOT01FRCBDVCIgZGlzcGxheSAnUHJpbmNpcGFsIChxdWFsaWZpZXIgdmFsdWUpJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgoJU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKCVNERS4iU0RFIFNleCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRUQgVmlzaXQiOgoJWyJFbmNvdW50ZXIiOiB0eXBlIGluICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiCgovLyBUT0RPOiBBZGQgZG9Ob3RQZXJmb3JtIHRvIFFJQ29yZSwgc3VnZ2VzdCBzdXBwb3J0IGluIGJhc2UgUmVzb3VyY2UKLy8gVE9ETzogVHJhY2tlciBmb3IgRGV2aWNlLCBOb3QgT3JkZXJlZCwgYWJpbGl0eSB0byByZXByZXNlbnQgZm9jYWxEZXZpY2UKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiOgogIC8vIE5PVEU6IFNob3VsZCBiZSB1c2luZyBkZXZpY2UuY29kZSwgYnV0IHRoYXQgcmVxdWlyZXMgQ1FMIDEuNAogICgoWyJEZXZpY2VVc2VTdGF0ZW1lbnQiOiBjb2RlIGluICJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSJdCiAgICB1bmlvbiBbIkRldmljZVVzZVN0YXRlbWVudCI6IGNvZGUgaW4gIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSJdCiAgICB1bmlvbiBbIkRldmljZVVzZVN0YXRlbWVudCI6IGNvZGUgaW4gIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiXQogICkgRAogICAgd2hlcmUgR2V0RXh0ZW5zaW9uKEQuZXh0ZW5zaW9uLCAnaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9ub3REb25lJykudmFsdWUgaXMgdHJ1ZQogICAgLy93aGVyZSBELm5vdERvbmUgaXMgdHJ1ZSAvLyBOZWVkcyBhIFFJLUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQKICApCiAgdW5pb24gKCgKICAgIFsiRGV2aWNlUmVxdWVzdCI6IGNvZGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSJdCiAgKSBECiAgICB3aGVyZSBELmludGVudCB+ICdvcmRlcicKICAgICAgYW5kIEdldEV4dGVuc2lvbihELmV4dGVuc2lvbiwgJ2h0dHA6Ly9leGFtcGxlLm9yZy9maGlyL2V4dGVuc2lvbnMvZG9Ob3RQZXJmb3JtJykudmFsdWUgaXMgdHJ1ZQogICAgLy93aGVyZSBELmRvTm90UGVyZm9ybSBpcyB0cnVlIC8vIE5lZWRzIGEgUUktQ29yZSBleHRlbnNpb24gdG8gc3VwcG9ydAogICkKCmRlZmluZSBmdW5jdGlvbiBHZXRFeHRlbnNpb24oRXh0ZW5zaW9ucyBMaXN0PEV4dGVuc2lvbj4sIFVSTCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tIChFeHRlbnNpb25zIEUgd2hlcmUgRS51cmwgPSBVUkwgcmV0dXJuIEUpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJFRCBWaXNpdCIgRURWaXNpdCwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJCWFuZCBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgKHNpbmdsZXRvbiBmcm9tIE5vVlRFRGV2aWNlLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIikKCQkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKCSgKICAgICgKICAgICAgWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogICAgCXVuaW9uCiAgICAJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJMb3cgTW9sZWN1bGFyIFdlaWdodCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogICAgCXVuaW9uCiAgICAJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgICAJdW5pb24KICAgIAlbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIldhcmZhcmluIl0KCSAgKSBNZWRpY2F0aW9uQWRtCiAgICB3aGVyZSBHZXRFeHRlbnNpb24oTWVkaWNhdGlvbkFkbS5leHRlbnNpb24sICdodHRwOi8vZXhhbXBsZS5vcmcvZmhpci9leHRlbnNpb25zL25vdEdpdmVuJykudmFsdWUgaXMgdHJ1ZQoJCS8vd2hlcmUgTWVkaWNhdGlvbkFkbS5ub3RHaXZlbiBpcyB0cnVlCgkpCgl1bmlvbgoJIC8vIFRPRE86IFRyYWNrZXIgZm9yIFFJLWNvcmUgdG8gYWRkIGRvTm90UGVyZm9ybSBleHRlbnNpb24gZm9yIE1lZGljYXRpb25SZXF1ZXN0IGFuZCBzdWdnZXN0IHRvIHRoZSBiYXNlIFJlc291cmNlCgkoCiAgICAoCiAgICAgIFsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogICAgCXVuaW9uCiAgICAJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgICAJdW5pb24KICAgIAlbIk1lZGljYXRpb25SZXF1ZXN0IjogbWVkaWNhdGlvbiBpbiAiSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogICAgCXVuaW9uCiAgICAJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIldhcmZhcmluIl0KICAJKSBNZWRpY2F0aW9uT3JkZXIKICAJd2hlcmUJTWVkaWNhdGlvbk9yZGVyLmludGVudCA9ICdvcmRlcicKICAJCWFuZCBHZXRFeHRlbnNpb24oTWVkaWNhdGlvbk9yZGVyLmV4dGVuc2lvbiwgJ2h0dHA6Ly9leGFtcGxlLm9yZy9maGlyL2V4dGVuc2lvbnMvZG9Ob3RQZXJmb3JtJykudmFsdWUgaXMgdHJ1ZQogIAkJLy9NZWRpY2F0aW9uT3JkZXIuZG9Ob3RQZXJmb3JtIGlzIHRydWUgLy8gTmVlZHMgYSBRSS1Db3JlIGV4dGVuc2lvbiB0byBzdXBwb3J0CgkpCgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgTm9WVEVNZWRpY2F0aW9uCgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCS8vIFRPRE86IFByb2ZpbGUgb2YgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIHRvIGVuc3VyZSBlZmZlY3RpdmUgaXMgYSBQZXJpb2QKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBOb1ZURU1lZGljYXRpb24uZWZmZWN0aXZlKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCQl3aGVyZSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJLy8gVE9ETzogUHJvZmlsZSBvZiBwcm9jZWR1cmUgdG8gZW5zdXJlIHBlcmZvcm1lZCBpcyBhIFBlcmlvZAoJCQlhbmQgKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGFzIFBlcmlvZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kICBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIChBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBhcyBQZXJpb2QpKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJBZG1pc3Npb24gV2l0aG91dCBWVEUgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyI6CgkJKEdsb2JhbC4iSW5wYXRpZW50IEVuY291bnRlciIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgbm90IChHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiT2JzdGV0cmljcyIKCQkJCQkJCQlvciBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSIKCQkJCQkJCQlvciBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiT2JzdGV0cmljcyBWVEUiCgkJCQkJCQkpCiAgICApCgkJaW50ZXJzZWN0IChHbG9iYWwuIklucGF0aWVudCBFbmNvdW50ZXIiIElucGF0aWVudEVuY291bnRlcgoJCQkJd2l0aG91dCAoIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiT2JzdGV0cmljcyJdCgkJCQkJCQkJCXVuaW9uIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSJdCgkJCQkJCQkJCXVuaW9uIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiT2JzdGV0cmljcyBWVEUiXSkJRGlhZ25vc2lzCgkJCQlzdWNoIHRoYXQKICAgICAgICAgIGV4aXN0cwogICAgICAgICAgKAogICAgICAgICAgICBEaWFnbm9zaXMuY2xpbmljYWxTdGF0dXMuY29kaW5nIENvZGluZwogICAgICAgICAgICAgIHdoZXJlIENvZGluZy5jb2RlIH4gJ2FjdGl2ZScKICAgICAgICAgICkKICAgICAgICAgIGFuZCBleGlzdHMKICAgICAgICAgICgKICAgICAgICAgICAgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cy5jb2RpbmcgVmVyaWZpY2F0aW9uU3RhdHVzQ29kaW5nCiAgICAgICAgICAgICAgd2hlcmUgVmVyaWZpY2F0aW9uU3RhdHVzQ29kaW5nLmNvZGUgfiAnY29uZmlybWVkJwogICAgICAgICAgKQogICAgICAgICAgYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihEaWFnbm9zaXMub25zZXQpIGR1cmluZyBHbG9iYWwuIkhvc3BpdGFsaXphdGlvbiIoSW5wYXRpZW50RW5jb3VudGVyKQoJCSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBOb1ZURU1lZGljYXRpb24KCQl3aGVyZSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCgkJCWFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCWFuZCAoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgYXMgUGVyaW9kKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkvLyBUT0RPOiBQcm9maWxlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiB0byBlbnN1cmUgZWZmZWN0aXZlIGlzIGEgUGVyaW9kCgkJCWFuZCBDb2FsZXNjZShOb1ZURU1lZGljYXRpb24uYXV0aG9yZWRPbiwgc3RhcnQgb2YgTm9WVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiAoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgYXMgUGVyaW9kKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKTwgMgoKCi8vRG9uZQpkZWZpbmUgIlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJKAlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiSGlwIEZyYWN0dXJlIFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJJbnRyYWNyYW5pYWwgTmV1cm9zdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIlVyb2xvZ2ljYWwgU3VyZ2VyeSJdICkgUAoJCXdoZXJlIFAuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCgovL0RvbmUKZGVmaW5lICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyI6CgkoWyJTZXJ2aWNlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbgoJCShbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0gSW50ZXJ2ZXRpb25QZXJmb3JtZWQKCQl3aGVyZSBJbnRlcnZldGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkvLyBUT0RPOiBQcm9maWxlIG9mIHByb2NlZHVyZSB0byBlbnN1cmUgcGVyZm9ybWVkIGlzIGEgUGVyaW9kCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiAoQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkIGFzIFBlcmlvZCkpIDEgZGF5IG9yIGxlc3Mgb24gb3IgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihRdWFsaWZ5aW5nRW5jb3VudGVyKQoKLy9Eb25lCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQl3aGVyZSAgQW5lc3RoZXNpYVByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQkJYW5kIChBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBhcyBQZXJpb2QpIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCQlhbmQgQ29hbGVzY2UoQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbiwgc3RhcnQgb2YgKENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCBhcyBQZXJpb2QpKSAxIGRheSBvciBsZXNzIG9uIG9yIGFmdGVyIGRheSBvZiBlbmQgb2YgKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGFzIFBlcmlvZCkKCi8vRG9uZQpkZWZpbmUgIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCI6CgkoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbgoJCQl3aGVyZSBWVEVNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQkJCWFuZCBWVEVNZWRpY2F0aW9uLmRvc2FnZS5yb3V0ZSBpbiAiU3ViY3V0YW5lb3VzIHJvdXRlIgoJKQoJCXVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0KCQl1bmlvbiBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0KCQl1bmlvbiBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIldhcmZhcmluIl0KCQl1bmlvbiAoKAoJCQkJWyJEZXZpY2VVc2VTdGF0ZW1lbnQiOiBjb2RlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiXQoJCQkJdW5pb24gWyJEZXZpY2VVc2VTdGF0ZW1lbnQiOiBjb2RlIGluICJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSJdCgkJCQl1bmlvbiBbIkRldmljZVVzZVN0YXRlbWVudCI6IGNvZGUgaW4gIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiXQogICAgICApIERldmljZUFwcGxpZWQKCQkJCXdoZXJlIERldmljZUFwcGxpZWQuc3RhdHVzID0gJ2NvbXBsZXRlZCcKICAgICkKCi8vRG9uZQpkZWZpbmUgIlZURSBQcm9waHlsYXhpcyBSZWNlaXZlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiOgoJKCBmcm9tCgkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkiVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiBIYXNWVEVQcm9waHlsYXhpcwoJCQkvLyBUT0RPOiBQcm9maWxlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiB0byBlbnN1cmUgZWZmZWN0aXZlIGlzIGEgUGVyaW9kCgkJCXdoZXJlIENvYWxlc2NlKEhhc1ZURVByb3BoeWxheGlzLnJlY29yZGVkT24sIHN0YXJ0IG9mIEhhc1ZURVByb3BoeWxheGlzLmVmZmVjdGl2ZSkgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQoJCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJKQoJCXVuaW9uICggZnJvbQoJCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkJCSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIEhhc1ZURVByb3BoeWxheGlzCgkJCQl3aGVyZSAoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgYXMgUGVyaW9kKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJCWFuZCBDb2FsZXNjZShIYXNWVEVQcm9waHlsYXhpcy5yZWNvcmRlZE9uLCBzdGFydCBvZiBIYXNWVEVQcm9waHlsYXhpcy5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGFzIFBlcmlvZCkpCgkJCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJCSkKCgovL0RvbmUKZGVmaW5lICJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIjoKCSggZnJvbQoJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50Il0gRmFjdG9yWGFNZWRpY2F0aW9uCgkJCXdoZXJlIEZhY3RvclhhTWVkaWNhdGlvbi5lZmZlY3RpdmUgc3RhcnRzIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCSkKCQl1bmlvbiAoIGZyb20KCQkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJCQlbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiXSBGYWN0b3JYYU1lZGljYXRpb24KCQkJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJCWFuZCAoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgYXMgUGVyaW9kKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJCWFuZCBGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIChBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBhcyBQZXJpb2QpKQoJCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IERpYWdub3NpcyBvZiBBdHJpYWwgRmlicmlsbGF0aW9uIG9yIFZURSI6CgkoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiXSBBdHJpYWxGaWJyaWxsYXRpb24KCQkJCXN1Y2ggdGhhdAogICAgICAgIGV4aXN0cwogICAgICAgICgKICAgICAgICAgIEF0cmlhbEZpYnJpbGxhdGlvbi5jbGluaWNhbFN0YXR1cy5jb2RpbmcgQ2xpbmljYWxTdGF0dXNDb2RpbmcKICAgICAgICAgICAgd2hlcmUgQ2xpbmljYWxTdGF0dXNDb2RpbmcuY29kZSB+ICdhY3RpdmUnCiAgICAgICAgKQogICAgICAgIGFuZCBleGlzdHMKICAgICAgICAoCiAgICAgICAgICBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzLmNvZGluZyBWZXJpZmljYXRpb25TdGF0dXNDb2RpbmcKICAgICAgICAgICAgd2hlcmUgVmVyaWZpY2F0aW9uU3RhdHVzQ29kaW5nLmNvZGUgfiAnY29uZmlybWVkJwogICAgICAgICkKCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQXRyaWFsRmlicmlsbGF0aW9uLm9uc2V0KSBvbiBvciBiZWZvcmUgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkpCgkJdW5pb24gKCAiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCQkJd2hlcmUgR2xvYmFsLkVuY291bnRlckRpYWdub3NpcyhRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiCgkJCSkKCQl1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCQl3aXRoIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSJdIFZURURpYWdub3NpcwoJCQkJCXN1Y2ggdGhhdAogICAgICAgICAgZXhpc3RzCiAgICAgICAgICAoCiAgICAgICAgICAgIFZURURpYWdub3Npcy5jbGluaWNhbFN0YXR1cy5jb2RpbmcgQ2xpbmljYWxTdGF0dXNDb2RpbmcKICAgICAgICAgICAgICB3aGVyZSBDbGluaWNhbFN0YXR1c0NvZGluZy5jb2RlIGluIHsgJ2luYWN0aXZlJywgJ3JlbWlzc2lvbicsICdyZXNvbHZlZCcgfQogICAgICAgICAgKQoJCQkJCWFuZCBleGlzdHMKICAgICAgICAgICgKICAgICAgICAgICAgVlRFRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cy5jb2RpbmcgVmVyaWZpY2F0aW9uU3RhdHVzQ29kaW5nCiAgICAgICAgICAgICAgd2hlcmUgVmVyaWZpY2F0aW9uU3RhdHVzQ29kaW5nLmNvZGUgPSAnY29uZmlybWVkJwogICAgICAgICAgKQoJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoVlRFRGlhZ25vc2lzLm9uc2V0KSBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgZXhpc3RzICggUXVhbGlmeWluZ0VuY291bnRlci5sb2NhdGlvbiBMb2NhdGlvbgoJCQkJd2hlcmUgR2xvYmFsLkdldExvY2F0aW9uKExvY2F0aW9uLmxvY2F0aW9uKS50eXBlIGluICJJbnRlbnNpdmUgQ2FyZSBVbml0IgoJCQkJCWFuZCBHbG9iYWwuIkxlbmd0aEluRGF5cyIoTG9jYXRpb24ucGVyaW9kKT49IDEKCQkJCQlhbmQgTG9jYXRpb24ucGVyaW9kIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJKQoKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgb2YgTWVudGFsIERpc29yZGVyIG9yIFN0cm9rZSI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdoZXJlIEdsb2JhbC4iUHJpbmNpcGFsRGlhZ25vc2lzIihRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJNZW50YWwgSGVhbHRoIERpYWdub3NlcyIKCQkJb3IgR2xvYmFsLiJQcmluY2lwYWxEaWFnbm9zaXMiKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkhlbW9ycmhhZ2ljIFN0cm9rZSIKCQkJb3IgR2xvYmFsLiJQcmluY2lwYWxEaWFnbm9zaXMiKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIklzY2hlbWljIFN0cm9rZSIKCi8vRG9uZQovLyBUT0RPOiBEZWZpbmUgYW4gb3JkaW5hbGl0eSBleHRlbnNpb24gdG8gYSBQcm9jZWR1cmUgcHJvZmlsZSBhbmQgYXNrIFBhdGllbnQgQWRtaW5pc3RyYXRpb24gYW5kL29yIFBhdGllbnQgQ2FyZSB0byByZXZpZXcKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQl3aXRoICggIlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIFByb2NlZHVyZQoJCQl3aGVyZSBHZXRFeHRlbnNpb24oUHJvY2VkdXJlLmV4dGVuc2lvbiwgJ2h0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxpdHknKS52YWx1ZSB+ICJQcmluY2lwYWwiICkgU2VsZWN0ZWRQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IFNlbGVjdGVkUHJvY2VkdXJlLnBlcmZvcm1lZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCggUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgovL0RvbmUKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJIkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIgoJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIgoJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIG9mIE1lbnRhbCBEaXNvcmRlciBvciBTdHJva2UiCgkJdW5pb24gIkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBQcm9jZWR1cmUgb2YgU0NJUCBWVEUgU2VsZWN0ZWQgU3VyZ2VyeSIKCQl1bmlvbiAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBTdGFydCBvZiBIb3NwaXRhbGl6YXRpb24iCgkJdW5pb24gIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIgoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyI6CgkoIEdsb2JhbC4iSW5wYXRpZW50IEVuY291bnRlciIgSW5wYXRpZW50RW5jb3VudGVyCgkJCXdpdGggWyJQYXRpZW50Il0gQmlydGhEYXRlCgkJCQlzdWNoIHRoYXQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoVG9EYXRlVGltZShCaXJ0aERhdGUuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCSkKCQlpbnRlcnNlY3QgIkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIgoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdpdGggKCBbIlByb2NlZHVyZSI6ICJIaXAgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdCgkJCXVuaW9uIFsiUHJvY2VkdXJlIjogIktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdICkgSGlwS25lZVByb2NlZHVyZQoJCQlzdWNoIHRoYXQgSGlwS25lZVByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQkJYW5kIChIaXBLbmVlUHJvY2VkdXJlLnBlcmZvcm1lZCBhcyBQZXJpb2QpIHN0YXJ0cyBvbiBvciBiZWZvcmUgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIjoKCSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIER1cmluZyBFRCBWaXNpdCIKCQl1bmlvbiAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQl1bmlvbiAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gTWVkaWNhbCBSZWFzb24iOgoJKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCIKCQkJaW50ZXJzZWN0ICJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiCgkpCgkJdW5pb24gKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIgoJCQkJaW50ZXJzZWN0ICJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQkpCgkJdW5pb24gKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIgoJCQkJaW50ZXJzZWN0ICJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCQkpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBEdXJpbmcgRUQgVmlzaXQiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJFRCBWaXNpdCIgRURWaXNpdCwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIFBhdGllbnRSZWZ1c2FsCgkJd2hlcmUgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QKCQkJYW5kIENvYWxlc2NlKFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikgZHVyaW5nIEVEVmlzaXQucGVyaW9kCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIFBhdGllbnRSZWZ1c2FsCgkJd2hlcmUgQ29hbGVzY2Uoc3RhcnQgb2YgUGF0aWVudFJlZnVzYWwuZWZmZWN0aXZlLCBQYXRpZW50UmVmdXNhbC5hdXRob3JlZE9uLCBQYXRpZW50UmVmdXNhbC5yZWNvcmRlZE9uKQogICAgICBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIFBhdGllbnRSZWZ1c2FsCgkJd2hlcmUgKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGFzIFBlcmlvZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QKCQkJYW5kIENvYWxlc2NlKHN0YXJ0IG9mIFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikKICAgICAgICBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIChBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBhcyBQZXJpb2QpKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCI6CgkoICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiICkgTm9WVEVQcm9waHlsYXhpcwoJLy8JVE9ETzogd2hlcmUgR2V0RXh0ZW5zaW9uKE5vVlRFUHJvcGh5bGF4aXMuZXh0ZW5zaW9uLCAnaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbicpLnZhbHVlIGluICJQYXRpZW50IFJlZnVzYWwiCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCI6CgkiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IgoJCXVuaW9uICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJOdW1lcmF0b3IiOgoJIlZURSBQcm9waHlsYXhpcyBSZWNlaXZlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiCgkJdW5pb24gKCAiTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIKCQkJCWludGVyc2VjdCAoICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IERpYWdub3NpcyBvZiBBdHJpYWwgRmlicmlsbGF0aW9uIG9yIFZURSIKCQkJCQkJdW5pb24gIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgUHJvY2VkdXJlIG9mIEhpcCBvciBLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiCgkJCQkpCgkJKQoJCXVuaW9uICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIgoJCXVuaW9uICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIgoJCXVuaW9uICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIKCi8vRG9uZQpkZWZpbmUgIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCI6CgkoIFsiT2JzZXJ2YXRpb24iOiAiUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSJdIFZURVJpc2tBc3Nlc3NtZW50CgkJCXdoZXJlIFZURVJpc2tBc3Nlc3NtZW50LnZhbHVlIGluICJMb3cgUmlzayIKCSkKLyoKLy8gVE9ETzogSXNzdWVzIHdpdGggY29uc3RydWN0aW5nIHRoZSBGSElSIHR5cGVzIGhlcmUuLi4KCQl1bmlvbiAoIFsiT2JzZXJ2YXRpb24iOiAiSU5SIl0gSU5STGFiVGVzdAoJCQkJd2hlcmUgSU5STGFiVGVzdC52YWx1ZSBhcyBRdWFudGl0eSA+IDMuMAoJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogSU5STGFiVGVzdC5pZCwgZWZmZWN0aXZlOiBJTlJMYWJUZXN0Lmlzc3VlZCB9CgkJKQoJCXVuaW9uICgoKCBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIl0gVW5mcmFjdGlvbmF0ZWRIZXBhcmluCgkJCQkJd2hlcmUgVW5mcmFjdGlvbmF0ZWRIZXBhcmluLmRvc2FnZS5yb3V0ZSBpbiAiSW50cmF2ZW5vdXMgcm91dGUiCgkJCQkJCSkKCQkJCXVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiXQoJCQkJdW5pb24gWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiAiR2x5Y29wcm90ZWluIElJYi9JSUlhIEluaGliaXRvcnMiXSApIEFudGljb2FndWxhbnRNZWRpY2F0aW9uCgkJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogQW50aWNvYWd1bGFudE1lZGljYXRpb24uaWQsIGVmZmVjdGl2ZTogc3RhcnQgb2YgZWZmZWN0aXZlfQoJCSkKKi8KCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgVlRFUmlza0Fzc2Vzc21lbnQKCQl3aGVyZSBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKSBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQlhbmQgVlRFUmlza0Fzc2Vzc21lbnQuaXNzdWVkIGR1cmluZyBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBWVEVSaXNrQXNzZXNzbWVudAoJCQlzdWNoIHRoYXQgVlRFUmlza0Fzc2Vzc21lbnQuaXNzdWVkIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIFZURVJpc2tBc3Nlc3NtZW50CgkJd2hlcmUgKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGFzIFBlcmlvZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGFzIFBlcmlvZCkpKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCg=="
    }
  ]
}