QI-Core Implementation Guide
6.0.0-ballot - ballot United States of America flag

This page is part of the Quality Improvement Core Framework (v6.0.0-ballot: STU6 (v6.0.0) Ballot 1) based on FHIR R4. The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

: QICore Model Definition - XML Representation

Active as of 2022-02-03

Raw xml | Download



<Library xmlns="http://hl7.org/fhir">
  <id value="QICore-ModelInfo"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
    <table class="grid dict">
        
        <tr>
            <th scope="row"><b>Id: </b></th>
            <td style="padding-left: 4px;">QICore-ModelInfo</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="Library-QICore-ModelInfo.html">QICore Model Definition</a></td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Version: </b></th>
            <td style="padding-left: 4px;">6.0.0-ballot</td>
        </tr>
        
        
        
        <tr>
            <th scope="row"><b>Name: </b></th>
            <td style="padding-left: 4px;">QICore</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">QICore Model Definition</td>
        </tr>
        
        
        
        <tr>
            <th scope="row"><b>Status: </b></th>
            <td style="padding-left: 4px;">active</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Experimental: </b></th>
            <td style="padding-left: 4px;">false</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Type: </b></th>
            <td style="padding-left: 4px;">
                
                    
                        
                        <p style="margin-bottom: 5px;">
                            <b>system: </b> <span><a href="http://terminology.hl7.org/5.0.0/CodeSystem-library-type.html">LibraryType</a></span>
                        </p>
                        
                        
                        <p style="margin-bottom: 5px;">
                            <b>code: </b> <span>model-definition</span>
                        </p>
                        
                        
                    
                
                
            </td>
        </tr>
        
        
        
        <tr>
            <th scope="row"><b>Date: </b></th>
            <td style="padding-left: 4px;">2022-02-03</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Publisher: </b></th>
            <td style="padding-left: 4px;">http://www.hl7.org/Special/committees/cqi/index.cfm</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Description: </b></th>
            <td style="padding-left: 4px;">Model definition for the QI-Core IG Model</td>
        </tr>
        
        
        
        
        
        <tr>
            <th scope="row"><b>Jurisdiction: </b></th>
            <td style="padding-left: 4px;">US</td>
        </tr>
        
        
        
        
        
        <tr>
            <th scope="row"><b>Approval Date: </b></th>
            <td style="padding-left: 4px;">2023-02-08</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Last Review Date: </b></th>
            <td style="padding-left: 4px;">2022-02-03</td>
        </tr>
        
        
        
        
        
        
        
        
        <tr>
          <td colspan="2">
            <table>
              <tr><th><b>Content: </b> application/xml</th></tr>
              <tr><td><pre><code>Encoded data (1786180 characters)</code></pre></td></tr>
            </table>
          </td>
        </tr>
        
        
    </table>
</div>
  </text>
  <url value="http://hl7.org/fhir/us/qicore/Library/QICore-ModelInfo"/>
  <version value="6.0.0-ballot"/>
  <name value="QICore"/>
  <title value="QICore Model Definition"/>
  <status value="active"/>
  <experimental value="false"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="model-definition"/>
    </coding>
  </type>
  <date value="2022-02-03"/>
  <publisher value="http://www.hl7.org/Special/committees/cqi/index.cfm"/>
  <contact>
    <name value="Clinical Quality Information WG"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/cqi"/>
    </telecom>
  </contact>
  <description value="Model definition for the QI-Core IG Model"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
    </coding>
  </jurisdiction>
  <approvalDate value="2023-02-08"/>
  <lastReviewDate value="2022-02-03"/>
  <topic>
    <text value="QICore"/>
  </topic>
  <topic>
    <text value="CQL"/>
  </topic>
  <content>
    <contentType value="application/xml"/>
    <data
          value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG1vZGVsSW5mbyB4bWxucz0idXJuOmhsNy1vcmc6ZWxtLW1vZGVsaW5mbzpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgbmFtZT0iUUlDb3JlIiB2ZXJzaW9uPSI1LjAuMCIgdXJsPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZSIgdGFyZ2V0VXJsPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB0YXJnZXRRdWFsaWZpZXI9InFpY29yZSIgcGF0aWVudENsYXNzTmFtZT0iUGF0aWVudCIgcGF0aWVudEJpcnRoRGF0ZVByb3BlcnR5TmFtZT0iYmlydGhEYXRlIj4KICAgPHJlcXVpcmVkTW9kZWxJbmZvIG5hbWU9IlN5c3RlbSIgdmVyc2lvbj0iMS4wLjAiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9BZGRyZXNzIiBsYWJlbD0iQWRkcmVzcyIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3NVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaG9tZSB8IHdvcmsgfCB0ZW1wIHwgb2xkIHwgYmlsbGluZyAtIHB1cnBvc2Ugb2YgdGhpcyBhZGRyZXNzIiBkZWZpbml0aW9uPSJUaGUgcHVycG9zZSBvZiB0aGlzIGFkZHJlc3MuIiBjb21tZW50PSJBcHBsaWNhdGlvbnMgY2FuIGFzc3VtZSB0aGF0IGFuIGFkZHJlc3MgaXMgY3VycmVudCB1bmxlc3MgaXQgZXhwbGljaXRseSBzYXlzIHRoYXQgaXQgaXMgdGVtcG9yYXJ5IG9yIG9sZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRyZXNzVXNlIiBkZXNjcmlwdGlvbj0iVGhlIHVzZSBvZiBhbiBhZGRyZXNzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwb3N0YWwgfCBwaHlzaWNhbCB8IGJvdGgiIGRlZmluaXRpb249IkRpc3Rpbmd1aXNoZXMgYmV0d2VlbiBwaHlzaWNhbCBhZGRyZXNzZXMgKHRob3NlIHlvdSBjYW4gdmlzaXQpIGFuZCBtYWlsaW5nIGFkZHJlc3NlcyAoZS5nLiBQTyBCb3hlcyBhbmQgY2FyZS1vZiBhZGRyZXNzZXMpLiBNb3N0IGFkZHJlc3NlcyBhcmUgYm90aC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG9mIEFkZHJlc3Mgc3RhdGVzIHRoYXQgJnF1b3Q7YWRkcmVzcyBpcyBpbnRlbmRlZCB0byBkZXNjcmliZSBwb3N0YWwgYWRkcmVzc2VzLCBub3QgcGh5c2ljYWwgbG9jYXRpb25zJnF1b3Q7LiBIb3dldmVyLCBtYW55IGFwcGxpY2F0aW9ucyB0cmFjayB3aGV0aGVyIGFuIGFkZHJlc3MgaGFzIGEgZHVhbCBwdXJwb3NlIG9mIGJlaW5nIGEgbG9jYXRpb24gdGhhdCBjYW4gYmUgdmlzaXRlZCBhcyB3ZWxsIGFzIGJlaW5nIGEgdmFsaWQgZGVsaXZlcnkgZGVzdGluYXRpb24sIGFuZCBQb3N0YWwgYWRkcmVzc2VzIGFyZSBvZnRlbiB1c2VkIGFzIHByb3hpZXMgZm9yIHBoeXNpY2FsIGxvY2F0aW9ucyAoYWxzbyBzZWUgdGhlIFtMb2NhdGlvbl0obG9jYXRpb24uaHRtbCMpIHJlc291cmNlKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRyZXNzVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGFuIGFkZHJlc3MgKHBoeXNpY2FsIC8gcG9zdGFsKS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFkZHJlc3MiIGRlZmluaXRpb249IlNwZWNpZmllcyB0aGUgZW50aXJlIGFkZHJlc3MgYXMgaXQgc2hvdWxkIGJlIGRpc3BsYXllZCBlLmcuIG9uIGEgcG9zdGFsIGxhYmVsLiBUaGlzIG1heSBiZSBwcm92aWRlZCBpbnN0ZWFkIG9mIG9yIGFzIHdlbGwgYXMgdGhlIHNwZWNpZmljIHBhcnRzLiIgY29tbWVudD0iQ2FuIHByb3ZpZGUgYm90aCBhIHRleHQgcmVwcmVzZW50YXRpb24gYW5kIHBhcnRzLiBBcHBsaWNhdGlvbnMgdXBkYXRpbmcgYW4gYWRkcmVzcyBTSEFMTCBlbnN1cmUgdGhhdCAgd2hlbiBib3RoIHRleHQgYW5kIHBhcnRzIGFyZSBwcmVzZW50LCAgbm8gY29udGVudCBpcyBpbmNsdWRlZCBpbiB0aGUgdGV4dCB0aGF0IGlzbid0IGZvdW5kIGluIGEgcGFydC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGluZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdHJlZXQgbmFtZSwgbnVtYmVyLCBkaXJlY3Rpb24gJmFtcDsgUC5PLiBCb3ggZXRjLiIgZGVmaW5pdGlvbj0iVGhpcyBjb21wb25lbnQgY29udGFpbnMgdGhlIGhvdXNlIG51bWJlciwgYXBhcnRtZW50IG51bWJlciwgc3RyZWV0IG5hbWUsIHN0cmVldCBkaXJlY3Rpb24sICBQLk8uIEJveCBudW1iZXIsIGRlbGl2ZXJ5IGhpbnRzLCBhbmQgc2ltaWxhciBhZGRyZXNzIGluZm9ybWF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2l0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiBjaXR5LCB0b3duIGV0Yy4iIGRlZmluaXRpb249IlRoZSBuYW1lIG9mIHRoZSBjaXR5LCB0b3duLCBzdWJ1cmIsIHZpbGxhZ2Ugb3Igb3RoZXIgY29tbXVuaXR5IG9yIGRlbGl2ZXJ5IGNlbnRlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdHJpY3QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRpc3RyaWN0IG5hbWUgKGFrYSBjb3VudHkpIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgYWRtaW5pc3RyYXRpdmUgYXJlYSAoY291bnR5KS4iIGNvbW1lbnQ9IkRpc3RyaWN0IGlzIHNvbWV0aW1lcyBrbm93biBhcyBjb3VudHksIGJ1dCBpbiBzb21lIHJlZ2lvbnMgJ2NvdW50eScgaXMgdXNlZCBpbiBwbGFjZSBvZiBjaXR5IChtdW5pY2lwYWxpdHkpLCBzbyBjb3VudHkgbmFtZSBzaG91bGQgYmUgY29udmV5ZWQgaW4gY2l0eSBpbnN0ZWFkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU3ViLXVuaXQgb2YgY291bnRyeSAoYWJicmV2aWF0aW9ucyBvaykiIGRlZmluaXRpb249IlN1Yi11bml0IG9mIGEgY291bnRyeSB3aXRoIGxpbWl0ZWQgc292ZXJlaWdudHkgaW4gYSBmZWRlcmFsbHkgb3JnYW5pemVkIGNvdW50cnkuIEEgY29kZSBtYXkgYmUgdXNlZCBpZiBjb2RlcyBhcmUgaW4gY29tbW9uIHVzZSAoZS5nLiBVUyAyIGxldHRlciBzdGF0ZSBjb2RlcykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBvc3RhbENvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlBvc3RhbCBjb2RlIGZvciBhcmVhIiBkZWZpbml0aW9uPSJBIHBvc3RhbCBjb2RlIGRlc2lnbmF0aW5nIGEgcmVnaW9uIGRlZmluZWQgYnkgdGhlIHBvc3RhbCBzZXJ2aWNlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3VudHJ5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3VudHJ5IChlLmcuIGNhbiBiZSBJU08gMzE2NiAyIG9yIDMgbGV0dGVyIGNvZGUpIiBkZWZpbml0aW9uPSJDb3VudHJ5IC0gYSBuYXRpb24gYXMgY29tbW9ubHkgdW5kZXJzdG9vZCBvciBnZW5lcmFsbHkgYWNjZXB0ZWQuIiBjb21tZW50PSJJU08gMzE2NiAzIGxldHRlciBjb2RlcyBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZiBhIGh1bWFuIHJlYWRhYmxlIGNvdW50cnkgbmFtZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gYWRkcmVzcyB3YXMvaXMgaW4gdXNlIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIGFkZHJlc3Mgd2FzL2lzIGluIHVzZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzc1R5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzVXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkdmVyc2VFdmVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtYWR2ZXJzZWV2ZW50IiBsYWJlbD0iUUlDb3JlIEFkdmVyc2VFdmVudCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIgZm9yIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBhZHZlcnNlIGV2ZW50IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3R1YWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdHVhbCB8IHBvdGVudGlhbCIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgZXZlbnQgYWN0dWFsbHkgaGFwcGVuZWQsIG9yIGp1c3QgaGFkIHRoZSBwb3RlbnRpYWwgdG8uIE5vdGUgdGhhdCB0aGlzIGlzIGluZGVwZW5kZW50IG9mIHdoZXRoZXIgYW55b25lIHdhcyBhZmZlY3RlZCBvciBoYXJtZWQgb3IgaG93IHNldmVyZWx5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRBY3R1YWxpdHkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIG5hdHVyZSBvZiB0aGUgYWR2ZXJzZSBldmVudCwgZS5nLiByZWFsIG9yIHBvdGVudGlhbC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icHJvZHVjdC1wcm9ibGVtIHwgcHJvZHVjdC1xdWFsaXR5IHwgcHJvZHVjdC11c2UtZXJyb3IgfCB3cm9uZy1kb3NlIHwgaW5jb3JyZWN0LXByZXNjcmliaW5nLWluZm9ybWF0aW9uIHwgd3JvbmctdGVjaG5pcXVlIHwgd3Jvbmctcm91dGUtb2YtYWRtaW5pc3RyYXRpb24gfCB3cm9uZy1yYXRlIHwgd3JvbmctZHVyYXRpb24gfCB3cm9uZy10aW1lIHwgZXhwaXJlZC1kcnVnIHwgbWVkaWNhbC1kZXZpY2UtdXNlLWVycm9yIHwgcHJvYmxlbS1kaWZmZXJlbnQtbWFudWZhY3R1cmVyIHwgdW5zYWZlLXBoeXNpY2FsLWVudmlyb25tZW50IiBkZWZpbml0aW9uPSJUaGUgb3ZlcmFsbCB0eXBlIG9mIGV2ZW50LCBpbnRlbmRlZCBmb3Igc2VhcmNoIGFuZCBmaWx0ZXJpbmcgcHVycG9zZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRDYXRlZ29yeSIgZGVzY3JpcHRpb249Ik92ZXJhbGwgY2F0ZWdvcml6YXRpb24gb2YgdGhlIGV2ZW50LCBlLmcuIHByb2R1Y3QtcmVsYXRlZCBvciBzaXR1YXRpb25hbC4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgdGhlIGV2ZW50IGl0c2VsZiBpbiByZWxhdGlvbiB0byB0aGUgc3ViamVjdCIgZGVmaW5pdGlvbj0iVGhpcyBlbGVtZW50IGRlZmluZXMgdGhlIHNwZWNpZmljIHR5cGUgb2YgZXZlbnQgdGhhdCBvY2N1cnJlZCBvciB0aGF0IHdhcyBwcmV2ZW50ZWQgZnJvbSBvY2N1cnJpbmcuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJEZXRhaWxlZCB0eXBlIG9mIGV2ZW50LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3ViamVjdCBpbXBhY3RlZCBieSBldmVudCIgZGVmaW5pdGlvbj0iVGhpcyBzdWJqZWN0IG9yIGdyb3VwIGltcGFjdGVkIGJ5IHRoZSBldmVudC4iIGNvbW1lbnQ9IklmIEFkdmVyc2VFdmVudC5yZXN1bHRpbmdDb25kaXRpb24gZGlmZmVycyBhbW9uZyBtZW1iZXJzIG9mIHRoZSBncm91cCwgdGhlbiB1c2UgUGF0aWVudCBhcyB0aGUgc3ViamVjdC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCBBZHZlcnNlRXZlbnQgd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuICBGb3IgZXhhbXBsZSwgaWYgYSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBjb25zaWRlcmVkIGFuIGFkdmVyc2UgZXZlbnQgYmVjYXVzZSBpdCByZXN1bHRlZCBpbiBhIHJhc2gsIHRoZW4gdGhlIGVuY291bnRlciB3aGVuIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBnaXZlbiBpcyB0aGUgY29udGV4dC4gIElmIHRoZSBwYXRpZW50IHJlcG9ydHMgdGhlIEFkdmVyc2VFdmVudCBkdXJpbmcgYSBzZWNvbmQgZW5jb3VudGVyLCB0aGF0IHNlY29uZCBlbmNvdW50ZXIgaXMgbm90IHRoZSBjb250ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBldmVudCBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIGFkdmVyc2UgZXZlbnQgb2NjdXJyZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0ZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgd2FzIGRldGVjdGVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUgdGhlIEFkdmVyc2VFdmVudCBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIHJlcG9ydGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvbiB3aGljaCB0aGUgZXhpc3RlbmNlIG9mIHRoZSBBZHZlcnNlRXZlbnQgd2FzIGZpcnN0IHJlY29yZGVkLiIgY29tbWVudD0iVGhlIHJlY29yZGVkRGF0ZSByZXByZXNlbnRzIHRoZSBkYXRlIHdoZW4gdGhpcyBwYXJ0aWN1bGFyIEFkdmVyc2VFdmVudCByZWNvcmQgd2FzIGNyZWF0ZWQgaW4gdGhlIHN5c3RlbSwgbm90IHRoZSBkYXRlIG9mIHRoZSBtb3N0IHJlY2VudCB1cGRhdGUuICBUaGUgZGF0ZSBvZiB0aGUgbGFzdCByZWNvcmQgbW9kaWZpY2F0aW9uIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgcmVzb3VyY2UgbWV0YWRhdGEuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdGluZ0NvbmRpdGlvbiIgZGVzY3JpcHRpb249IkVmZmVjdCBvbiB0aGUgc3ViamVjdCBkdWUgdG8gdGhpcyBldmVudCIgZGVmaW5pdGlvbj0iSW5jbHVkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlYWN0aW9uIHRoYXQgb2NjdXJyZWQgYXMgYSByZXN1bHQgb2YgZXhwb3N1cmUgdG8gYSBzdWJzdGFuY2UgKGZvciBleGFtcGxlLCBhIGRydWcgb3IgYSBjaGVtaWNhbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTG9jYXRpb24gd2hlcmUgYWR2ZXJzZSBldmVudCBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGFib3V0IHdoZXJlIHRoZSBhZHZlcnNlIGV2ZW50IG9jY3VycmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmlvdXNuZXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJpb3VzbmVzcyBvZiB0aGUgZXZlbnQiIGRlZmluaXRpb249IkFzc2Vzc21lbnQgd2hldGhlciB0aGlzIGV2ZW50IHdhcyBvZiByZWFsIGltcG9ydGFuY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50U2VyaW91c25lc3MiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHNlcmlvdXNuZXNzIG9mIHRoaXMgZXZlbnQgZm9yIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXZlcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0ibWlsZCB8IG1vZGVyYXRlIHwgc2V2ZXJlIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHNldmVyaXR5IG9mIHRoZSBhZHZlcnNlIGV2ZW50LCBpbiByZWxhdGlvbiB0byB0aGUgc3ViamVjdC4gQ29udHJhc3QgdG8gQWR2ZXJzZUV2ZW50LnNlcmlvdXNuZXNzIC0gYSBzZXZlcmUgcmFzaCBtaWdodCBub3QgYmUgc2VyaW91cywgYnV0IGEgbWlsZCBoZWFydCBwcm9ibGVtIGlzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudFNldmVyaXR5IiBkZXNjcmlwdGlvbj0iVGhlIHNldmVyaXR5IG9mIHRoZSBhZHZlcnNlIGV2ZW50IGl0c2VsZiwgaW4gZGlyZWN0IHJlbGF0aW9uIHRvIHRoZSBzdWJqZWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icmVzb2x2ZWQgfCByZWNvdmVyaW5nIHwgb25nb2luZyB8IHJlc29sdmVkV2l0aFNlcXVlbGFlIHwgZmF0YWwgfCB1bmtub3duIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHR5cGUgb2Ygb3V0Y29tZSBmcm9tIHRoZSBhZHZlcnNlIGV2ZW50LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudE91dGNvbWUiIGRlc2NyaXB0aW9uPSJUT0RPIChhbmQgc2hvdWxkIHRoaXMgYmUgcmVxdWlyZWQ/KS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgYWR2ZXJzZSBldmVudCIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gb24gd2hvIHJlY29yZGVkIHRoZSBhZHZlcnNlIGV2ZW50LiAgTWF5IGJlIHRoZSBwYXRpZW50IG9yIGEgcHJhY3RpdGlvbmVyLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvICB3YXMgaW52b2x2ZWQgaW4gdGhlIGFkdmVyc2UgZXZlbnQgb3IgdGhlIHBvdGVudGlhbCBhZHZlcnNlIGV2ZW50IiBkZWZpbml0aW9uPSJQYXJ0aWVzIHRoYXQgbWF5IG9yIHNob3VsZCBjb250cmlidXRlIG9yIGhhdmUgY29udHJpYnV0ZWQgaW5mb3JtYXRpb24gdG8gdGhlIGFkdmVyc2UgZXZlbnQsIHdoaWNoIGNhbiBjb25zaXN0IG9mIG9uZSBvciBtb3JlIGFjdGl2aXRpZXMuICBTdWNoIGluZm9ybWF0aW9uIGluY2x1ZGVzIGluZm9ybWF0aW9uIGxlYWRpbmcgdG8gdGhlIGRlY2lzaW9uIHRvIHBlcmZvcm0gdGhlIGFjdGl2aXR5IGFuZCBob3cgdG8gcGVyZm9ybSB0aGUgYWN0aXZpdHkgKGUuZy4gY29uc3VsdGFudCksIGluZm9ybWF0aW9uIHRoYXQgdGhlIGFjdGl2aXR5IGl0c2VsZiBzZWVrcyB0byByZXZlYWwgKGUuZy4gaW5mb3JtYW50IG9mIGNsaW5pY2FsIGhpc3RvcnkpLCBvciBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGFjdGl2aXR5IHdhcyBwZXJmb3JtZWQgKGUuZy4gaW5mb3JtYW50IHdpdG5lc3MpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXNwZWN0RW50aXR5IiBkZXNjcmlwdGlvbj0iVGhlIHN1c3BlY3RlZCBhZ2VudCBjYXVzaW5nIHRoZSBhZHZlcnNlIGV2ZW50IiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIGVudGl0eSB0aGF0IGlzIHN1c3BlY3RlZCB0byBoYXZlIGNhdXNlZCB0aGUgYWR2ZXJzZSBldmVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFkdmVyc2VFdmVudC5TdXNwZWN0RW50aXR5IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0TWVkaWNhbEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBZHZlcnNlRXZlbnQuc3ViamVjdE1lZGljYWxIaXN0b3J5IiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3ViamVjdE1lZGljYWxIaXN0b3J5LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VEb2N1bWVudCIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5yZWZlcmVuY2VEb2N1bWVudCIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnJlZmVyZW5jZURvY3VtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3R1ZHkiIGRlc2NyaXB0aW9uPSJBZHZlcnNlRXZlbnQuc3R1ZHkiIGRlZmluaXRpb249IkFkdmVyc2VFdmVudC5zdHVkeS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY29yZGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNvcmRlciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZHZlcnNlRXZlbnQuU3VzcGVjdEVudGl0eSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVmZXJzIHRvIHRoZSBzcGVjaWZpYyBlbnRpdHkgdGhhdCBjYXVzZWQgdGhlIGFkdmVyc2UgZXZlbnQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGFjdHVhbCBpbnN0YW5jZSBvZiB3aGF0IGNhdXNlZCB0aGUgYWR2ZXJzZSBldmVudC4gIE1heSBiZSBhIHN1YnN0YW5jZSwgbWVkaWNhdGlvbiwgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiwgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgb3IgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXVzYWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkuQ2F1c2FsaXR5IiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZHZlcnNlRXZlbnQuU3VzcGVjdEVudGl0eS5DYXVzYWxpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2Vzc21lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFzc2Vzc21lbnQgb2YgaWYgdGhlIGVudGl0eSBjYXVzZWQgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJBc3Nlc3NtZW50IG9mIGlmIHRoZSBlbnRpdHkgY2F1c2VkIHRoZSBldmVudC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRDYXVzYWxpdHlBc3Nlc3NtZW50IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSBhc3Nlc3NtZW50IG9mIHdoZXRoZXIgdGhlIGVudGl0eSBjYXVzZWQgdGhlIGV2ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0UmVsYXRlZG5lc3MiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5zdXNwZWN0RW50aXR5LmNhdXNhbGl0eVByb2R1Y3RSZWxhdGVkbmVzcyIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5UHJvZHVjdFJlbGF0ZWRuZXNzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5QXV0aG9yIiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3VzcGVjdEVudGl0eS5jYXVzYWxpdHlBdXRob3IuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvYmFiaWxpdHlTY2FsZSB8IEJheWVzaWFuIHwgQ2hlY2tsaXN0IiBkZWZpbml0aW9uPSJQcm9iYWJpbGl0eVNjYWxlIHwgQmF5ZXNpYW4gfCBDaGVja2xpc3QuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F1c2FsaXR5TWV0aG9kIiBkZXNjcmlwdGlvbj0iVE9ETy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWFsbGVyZ3lpbnRvbGVyYW5jZSIgbGFiZWw9IlFJQ29yZSBBbGxlcmd5SW50b2xlcmFuY2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXNvbHV0aW9uQWdlIiBlbGVtZW50VHlwZT0iUUlDb3JlLnJlc29sdXRpb25BZ2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9hbGxlcmd5aW50b2xlcmFuY2UtcmVzb2x1dGlvbkFnZSddLnZhbHVlKSIgZGVzY3JpcHRpb249IkFnZSB0aGF0IHRoZSBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHJlc29sdmVkIiBkZWZpbml0aW9uPSJUaGUgZXN0aW1hdGVkIHBhdGllbnQgYWdlIGF0IHdoaWNoIHRoZSBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHJlc29sdmVkLiBTaG91bGQgYmUgc3BlY2lmaWVkIG9ubHkgaWYgdGhlIHN0YXR1cyBpcyByZXNvbHZlZC4iIGNvbW1lbnQ9IlJlbW92ZWQgRGF0ZSBzaW5jZSBpdCBpcyBoYXJkIHRvIGltYWdpbmUga25vd2luZyB0aGUgZGF0ZSBhbiBhbGxlcmd5IGFiYXRlZC4gVGhlIGFzc2VydGlvbiBkYXRlIGlzIGFscmVhZHkgY2FwdHVyZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyBpdGVtIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIEFsbGVyZ3lJbnRvbGVyYW5jZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjbGluaWNhbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZS4iIGNvbW1lbnQ9IlJlZmVyIHRvIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2liaWxpdHkuaHRtbCNTcGVjaWFsLUNhc2UpIGlmIGNsaW5jYWxTdGF0dXMgaXMgbWlzc2luZyBkYXRhLiYjeGE7VGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSBjbGluaWNhbFN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcmlmaWNhdGlvblN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0idW5jb25maXJtZWQgfCBjb25maXJtZWQgfCByZWZ1dGVkIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQXNzZXJ0aW9uIGFib3V0IGNlcnRhaW50eSBhc3NvY2lhdGVkIHdpdGggdGhlIHByb3BlbnNpdHksIG9yIHBvdGVudGlhbCByaXNrLCBvZiBhIHJlYWN0aW9uIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZSAoaW5jbHVkaW5nIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSB2ZXJpZmljYXRpb25TdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWxsZXJneSB8IGludG9sZXJhbmNlIC0gVW5kZXJseWluZyBtZWNoYW5pc20gKGlmIGtub3duKSIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgcGh5c2lvbG9naWNhbCBtZWNoYW5pc20gZm9yIHRoZSByZWFjdGlvbiByaXNrLiIgY29tbWVudD0iQWxsZXJnaWMgKHR5cGljYWxseSBpbW11bmUtbWVkaWF0ZWQpIHJlYWN0aW9ucyBoYXZlIGJlZW4gdHJhZGl0aW9uYWxseSByZWdhcmRlZCBhcyBhbiBpbmRpY2F0b3IgZm9yIHBvdGVudGlhbCBlc2NhbGF0aW9uIHRvIHNpZ25pZmljYW50IGZ1dHVyZSByaXNrLiBDb250ZW1wb3Jhcnkga25vd2xlZGdlIHN1Z2dlc3RzIHRoYXQgc29tZSByZWFjdGlvbnMgcHJldmlvdXNseSB0aG91Z2h0IHRvIGJlIGltbXVuZS1tZWRpYXRlZCBhcmUsIGluIGZhY3QsIG5vbi1pbW11bmUsIGJ1dCBpbiBzb21lIGNhc2VzIGNhbiBzdGlsbCBwb3NlIGEgbGlmZSB0aHJlYXRlbmluZyByaXNrLiBJdCBpcyBhY2tub3dsZWRnZWQgdGhhdCBtYW55IGNsaW5pY2lhbnMgbWlnaHQgbm90IGJlIGluIGEgcG9zaXRpb24gdG8gZGlzdGluZ3Vpc2ggdGhlIG1lY2hhbmlzbSBvZiBhIHBhcnRpY3VsYXIgcmVhY3Rpb24uIE9mdGVuIHRoZSB0ZXJtICZxdW90O2FsbGVyZ3kmcXVvdDsgaXMgdXNlZCByYXRoZXIgZ2VuZXJpY2FsbHkgYW5kIG1heSBvdmVybGFwIHdpdGggdGhlIHVzZSBvZiAmcXVvdDtpbnRvbGVyYW5jZSZxdW90OyAtIGluIHByYWN0aWNlIHRoZSBib3VuZGFyaWVzIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIG1pZ2h0IG5vdCBiZSB3ZWxsLWRlZmluZWQgb3IgdW5kZXJzdG9vZC4gVGhpcyBkYXRhIGVsZW1lbnQgaXMgaW5jbHVkZWQgbmV2ZXJ0aGVsZXNzLCBiZWNhdXNlIG1hbnkgbGVnYWN5IHN5c3RlbXMgaGF2ZSBjYXB0dXJlZCB0aGlzIGF0dHJpYnV0ZS4gSW1tdW5vbG9naWMgdGVzdGluZyBtYXkgcHJvdmlkZSBzdXBwb3J0aW5nIGV2aWRlbmNlIGZvciB0aGUgYmFzaXMgb2YgdGhlIHJlYWN0aW9uIGFuZCB0aGUgY2F1c2F0aXZlIHN1YnN0YW5jZSwgYnV0IG5vIHRlc3RzIGFyZSAxMDAlIHNlbnNpdGl2ZSBvciBzcGVjaWZpYyBmb3Igc2Vuc2l0aXZpdHkgdG8gYSBwYXJ0aWN1bGFyIHN1YnN0YW5jZS4gSWYsIGFzIGlzIGNvbW1vbmx5IHRoZSBjYXNlLCBpdCBpcyB1bmNsZWFyIHdoZXRoZXIgdGhlIHJlYWN0aW9uIGlzIGR1ZSB0byBhbiBhbGxlcmd5IG9yIGFuIGludG9sZXJhbmNlLCB0aGVuIHRoZSB0eXBlIGVsZW1lbnQgc2hvdWxkIGJlIG9taXR0ZWQgZnJvbSB0aGUgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgdW5kZXJseWluZyBwaHlzaW9sb2dpY2FsIG1lY2hhbmlzbSBmb3IgYSBSZWFjdGlvbiBSaXNrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZm9vZCB8IG1lZGljYXRpb24gfCBlbnZpcm9ubWVudCB8IGJpb2xvZ2ljIiBkZWZpbml0aW9uPSJDYXRlZ29yeSBvZiB0aGUgaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBjb21tZW50PSJUaGlzIGRhdGEgZWxlbWVudCBoYXMgYmVlbiBpbmNsdWRlZCBiZWNhdXNlIGl0IGlzIGN1cnJlbnRseSBiZWluZyBjYXB0dXJlZCBpbiBzb21lIGNsaW5pY2FsIHN5c3RlbXMuIFRoaXMgZGF0YSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZSBzdWJzdGFuY2Ugd2hlcmUgY29kaW5nIHN5c3RlbXMgYXJlIHVzZWQsIGFuZCBpcyBlZmZlY3RpdmVseSByZWR1bmRhbnQgaW4gdGhhdCBzaXR1YXRpb24uICBXaGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSwgY29uc2lkZXIgdGhlIGltcGxpY2F0aW9ucyBvZiBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2VzIHdpdGhvdXQgYSBjYXRlZ29yeS4gIEZvciBleGFtcGxlLCB3aGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSA9IG1lZGljYXRpb24sIG1lZGljYXRpb24gYWxsZXJnaWVzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNhdGVnb3J5IHZhbHVlZCB3aWxsIG5vdCBiZSByZXR1cm5lZC4gIFJlZmVyIHRvIFtzZWFyY2hdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvc2VhcmNoLmh0bWwpIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBzZWFyY2ggY2F0ZWdvcnkgd2l0aCBhIDptaXNzaW5nIG1vZGlmaWVyIHRvIGdldCBhbGxlcmdpZXMgdGhhdCBkb24ndCBoYXZlIGEgY2F0ZWdvcnkuICBBZGRpdGlvbmFsbHksIGNhdGVnb3J5IHNob3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbiBiZWNhdXNlIGNhdGVnb3J5IGNhbiBiZSBzdWJqZWN0aXZlIGJhc2VkIG9uIHRoZSBzZW5kZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZUNhdGVnb3J5IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDYXRlZ29yeSBvZiBhbiBpZGVudGlmaWVkIHN1YnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggYWxsZXJnaWVzIG9yIGludG9sZXJhbmNlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyaXRpY2FsaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImxvdyB8IGhpZ2ggfCB1bmFibGUtdG8tYXNzZXNzIiBkZWZpbml0aW9uPSJFc3RpbWF0ZSBvZiB0aGUgcG90ZW50aWFsIGNsaW5pY2FsIGhhcm0sIG9yIHNlcmlvdXNuZXNzLCBvZiB0aGUgcmVhY3Rpb24gdG8gdGhlIGlkZW50aWZpZWQgc3Vic3RhbmNlLiIgY29tbWVudD0iVGhlIGRlZmF1bHQgY3JpdGljYWxpdHkgdmFsdWUgZm9yIGFueSBwcm9wZW5zaXR5IHRvIGFuIGFkdmVyc2UgcmVhY3Rpb24gc2hvdWxkIGJlICdMb3cgUmlzaycsIGluZGljYXRpbmcgYXQgdGhlIHZlcnkgbGVhc3QgYSByZWxhdGl2ZSBjb250cmFpbmRpY2F0aW9uIHRvIGRlbGliZXJhdGUgb3Igdm9sdW50YXJ5IGV4cG9zdXJlIHRvIHRoZSBzdWJzdGFuY2UuICdIaWdoIFJpc2snIGlzIGZsYWdnZWQgaWYgdGhlIGNsaW5pY2lhbiBoYXMgaWRlbnRpZmllZCBhIHByb3BlbnNpdHkgZm9yIGEgbW9yZSBzZXJpb3VzIG9yIHBvdGVudGlhbGx5IGxpZmUtdGhyZWF0ZW5pbmcgcmVhY3Rpb24sIHN1Y2ggYXMgYW5hcGh5bGF4aXMsIGFuZCBpbXBsaWVzIGFuIGFic29sdXRlIGNvbnRyYWluZGljYXRpb24gdG8gZGVsaWJlcmF0ZSBvciB2b2x1bnRhcnkgZXhwb3N1cmUgdG8gdGhlIHN1YnN0YW5jZS4gSWYgdGhpcyBlbGVtZW50IGlzIG1pc3NpbmcsIHRoZSBjcml0aWNhbGl0eSBpcyB1bmtub3duICh0aG91Z2ggaXQgbWF5IGJlIGtub3duIGVsc2V3aGVyZSkuICBTeXN0ZW1zIHRoYXQgY2FwdHVyZSBhIHNldmVyaXR5IGF0IHRoZSBjb25kaXRpb24gbGV2ZWwgYXJlIGFjdHVhbGx5IHJlcHJlc2VudGluZyB0aGUgY29uY2VwdCBvZiBjcml0aWNhbGl0eSB3aGVyZWFzIHRoZSBzZXZlcml0eSBkb2N1bWVudGVkIGF0IHRoZSByZWFjdGlvbiBsZXZlbCBpcyByZXByZXNlbnRpbmcgdGhlIHRydWUgcmVhY3Rpb24gc2V2ZXJpdHkuICBFeGlzdGluZyBzeXN0ZW1zIHRoYXQgYXJlIGNhcHR1cmluZyBib3RoIGNvbmRpdGlvbiBjcml0aWNhbGl0eSBhbmQgcmVhY3Rpb24gc2V2ZXJpdHkgbWF5IHVzZSB0aGUgdGVybSAmcXVvdDtzZXZlcml0eSZxdW90OyB0byByZXByZXNlbnQgYm90aC4gIENyaXRpY2FsaXR5IGlzIHRoZSB3b3JzdCBpdCBjb3VsZCBiZSBpbiB0aGUgZnV0dXJlIChpLmUuIHNpdHVhdGlvbi1hZ25vc3RpYykgd2hlcmVhcyBzZXZlcml0eSBpcyBzaXR1YXRpb24tZGVwZW5kZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSIgZGVzY3JpcHRpb249IkVzdGltYXRlIG9mIHRoZSBwb3RlbnRpYWwgY2xpbmljYWwgaGFybSwgb3Igc2VyaW91c25lc3MsIG9mIGEgcmVhY3Rpb24gdG8gYW4gaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSIgZGVmaW5pdGlvbj0iQ29kZSBmb3IgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnQgKGVpdGhlciBhIHBvc2l0aXZlIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBzdGF0ZW1lbnQpLiAgVGhpcyBtYXkgYmUgYSBjb2RlIGZvciBhIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0IHRoYXQgaXMgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgdGhlIGFkdmVyc2UgcmVhY3Rpb24gcmlzayAoZS5nLiwgJnF1b3Q7TGF0ZXgmcXVvdDspLCBhbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIGNvbmRpdGlvbiAoZS5nLiwgJnF1b3Q7TGF0ZXggYWxsZXJneSZxdW90OyksIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBjb2RlIGZvciBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBjbGFzcyAoZS5nLiwgJnF1b3Q7Tm8gbGF0ZXggYWxsZXJneSZxdW90Oykgb3IgYSBnZW5lcmFsIG9yIGNhdGVnb3JpY2FsIG5lZ2F0ZWQgc3RhdGVtZW50IChlLmcuLCAgJnF1b3Q7Tm8ga25vd24gYWxsZXJneSZxdW90OywgJnF1b3Q7Tm8ga25vd24gZHJ1ZyBhbGxlcmdpZXMmcXVvdDspLiAgTm90ZTogdGhlIHN1YnN0YW5jZSBmb3IgYSBzcGVjaWZpYyByZWFjdGlvbiBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHN1YnN0YW5jZSBpZGVudGlmaWVkIGFzIHRoZSBjYXVzZSBvZiB0aGUgcmlzaywgYnV0IGl0IG11c3QgYmUgY29uc2lzdGVudCB3aXRoIGl0LiBGb3IgaW5zdGFuY2UsIGl0IG1heSBiZSBhIG1vcmUgc3BlY2lmaWMgc3Vic3RhbmNlIChlLmcuIGEgYnJhbmQgbWVkaWNhdGlvbikgb3IgYSBjb21wb3NpdGUgcHJvZHVjdCB0aGF0IGluY2x1ZGVzIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4gSXQgbXVzdCBiZSBjbGluaWNhbGx5IHNhZmUgdG8gb25seSBwcm9jZXNzIHRoZSAnY29kZScgYW5kIGlnbm9yZSB0aGUgJ3JlYWN0aW9uLnN1YnN0YW5jZScuICBJZiBhIHJlY2VpdmluZyBzeXN0ZW0gaXMgdW5hYmxlIHRvIGNvbmZpcm0gdGhhdCBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlIGZhbGxzIHdpdGhpbiB0aGUgc2VtYW50aWMgc2NvcGUgb2YgQWxsZXJneUludG9sZXJhbmNlLmNvZGUsIHRoZW4gdGhlIHJlY2VpdmluZyBzeXN0ZW0gc2hvdWxkIGlnbm9yZSBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlLiIgY29tbWVudD0iSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB0aGlzIGVsZW1lbnQgYmUgcG9wdWxhdGVkIHVzaW5nIGEgdGVybWlub2xvZ3ksIHdoZXJlIHBvc3NpYmxlLiBGb3IgZXhhbXBsZSwgc29tZSB0ZXJtaW5vbG9naWVzIHVzZWQgaW5jbHVkZSBSeE5vcm0sIFNOT01FRCBDVCwgRE0rRCwgTkRGUlQsIElDRC05LCBJREMtMTAsIFVOSUksIGFuZCBBVEMuIFBsYWluIHRleHQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZSB0ZXJtaW5vbG9neSBhdmFpbGFibGUuIEFkZGl0aW9uYWwgZGV0YWlscyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSB0ZXh0LiYjeGQ7JiN4ZDtXaGVuIGEgc3Vic3RhbmNlIG9yIHByb2R1Y3QgY29kZSBpcyBzcGVjaWZpZWQgZm9yIHRoZSAnY29kZScgZWxlbWVudCwgdGhlICZxdW90O2RlZmF1bHQmcXVvdDsgc2VtYW50aWMgY29udGV4dCBpcyB0aGF0IHRoaXMgaXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgJ3R5cGUnIGVsZW1lbnQsIGlmIHByZXNlbnQpIGNvbmRpdGlvbiB0byB0aGUgc3BlY2lmaWVkIHN1YnN0YW5jZS9wcm9kdWN0LiAgSW4gdGhlIGNvcnJlc3BvbmRpbmcgU05PTUVEIENUIGFsbGVyZ3kgbW9kZWwsIHRoZSBzcGVjaWZpZWQgc3Vic3RhbmNlL3Byb2R1Y3QgaXMgdGhlIHRhcmdldCAoZGVzdGluYXRpb24pIG9mIHRoZSAmcXVvdDtDYXVzYXRpdmUgYWdlbnQmcXVvdDsgcmVsYXRpb25zaGlwLiYjeGQ7JiN4ZDtUaGUgJ3N1YnN0YW5jZUV4cG9zdXJlUmlzaycgZXh0ZW5zaW9uIGlzIGF2YWlsYWJsZSBhcyBhIHN0cnVjdHVyZWQgYW5kIG1vcmUgZmxleGlibGUgYWx0ZXJuYXRpdmUgdG8gdGhlICdjb2RlJyBlbGVtZW50IGZvciBtYWtpbmcgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnRzLiAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSAmcXVvdDtubyBrbm93biBhbGxlcmd5JnF1b3Q7IChvciAmcXVvdDtubyByaXNrIG9mIGFkdmVyc2UgcmVhY3Rpb24mcXVvdDspIHN0YXRlbWVudHMgcmVnYXJkaW5nIGFueSBjb2RlZCBzdWJzdGFuY2UvcHJvZHVjdCAoaW5jbHVkaW5nIGNhc2VzIHdoZW4gYSBwcmUtY29vcmRpbmF0ZWQgJnF1b3Q7bm8gYWxsZXJneSB0byB4JnF1b3Q7IGNvbmNlcHQgZm9yIHRoYXQgc3Vic3RhbmNlL3Byb2R1Y3QgZG9lcyBub3QgZXhpc3QpLiAgSWYgdGhlICdzdWJzdGFuY2VFeHBvc3VyZVJpc2snIGV4dGVuc2lvbiBpcyBwcmVzZW50LCB0aGUgQWxsZXJneUludG9sZXJhbmNlLmNvZGUgZWxlbWVudCBTSEFMTCBiZSBvbWl0dGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoZSBzZW5zaXRpdml0eSBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHdobyBoYXMgdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIHdoZW4gdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGFzc2VydGVkIiBkZWZpbml0aW9uPSJUaGUgZW5jb3VudGVyIHdoZW4gdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGFzc2VydGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHdhcyBpZGVudGlmaWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSB3aGVuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGlkZW50aWZpZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWREYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgZmlyc3QgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQWxsZXJneUludG9sZXJhbmNlIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgc2Vuc2l0aXZpdHkiIGRlZmluaXRpb249IkluZGl2aWR1YWwgd2hvIHJlY29yZGVkIHRoZSByZWNvcmQgYW5kIHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgY29udGVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTb3VyY2Ugb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhbGxlcmd5IiBkZWZpbml0aW9uPSJUaGUgc291cmNlIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYWxsZXJneSB0aGF0IGlzIHJlY29yZGVkLiIgY29tbWVudD0iVGhlIHJlY29yZGVyIHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY29udGVudCwgYnV0IGNhbiByZWZlcmVuY2UgdGhlIHNvdXJjZSBmcm9tIHdoZXJlIHRoZXkgZ290IGl0LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RPY2N1cnJlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUoL3RpbWUpIG9mIGxhc3Qga25vd24gb2NjdXJyZW5jZSBvZiBhIHJlYWN0aW9uIiBkZWZpbml0aW9uPSJSZXByZXNlbnRzIHRoZSBkYXRlIGFuZC9vciB0aW1lIG9mIHRoZSBsYXN0IGtub3duIG9jY3VycmVuY2Ugb2YgYSByZWFjdGlvbiBldmVudC4iIGNvbW1lbnQ9IlRoaXMgZGF0ZSBtYXkgYmUgcmVwbGljYXRlZCBieSBvbmUgb2YgdGhlIE9uc2V0IG9mIFJlYWN0aW9uIGRhdGVzLiBXaGVyZSBhIHRleHR1YWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGRhdGUgb2YgbGFzdCBvY2N1cnJlbmNlIGlzIHJlcXVpcmVkIGUuZy4gJ0luIENoaWxkaG9vZCwgJzEwIHllYXJzIGFnbycgdGhlIENvbW1lbnQgZWxlbWVudCBzaG91bGQgYmUgdXNlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgdGV4dCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5hcnJhdGl2ZSBhYm91dCB0aGUgcHJvcGVuc2l0eSBmb3IgdGhlIEFkdmVyc2UgUmVhY3Rpb24sIG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogaW5jbHVkaW5nIHJlYXNvbiBmb3IgZmxhZ2dpbmcgYSBzZXJpb3VzbmVzcyBvZiAnSGlnaCBSaXNrJzsgYW5kIGluc3RydWN0aW9ucyByZWxhdGVkIHRvIGZ1dHVyZSBleHBvc3VyZSBvciBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBzdWNoIGFzIGFkbWluaXN0cmF0aW9uIHdpdGhpbiBhbiBJbnRlbnNpdmUgQ2FyZSBVbml0IG9yIHVuZGVyIGNvcnRpY29zdGVyb2lkIGNvdmVyLiBUaGUgbm90ZXMgc2hvdWxkIGJlIHJlbGF0ZWQgdG8gYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhcyBhIGNvbmRpdGlvbiBpbiBnZW5lcmFsIGFuZCBub3QgcmVsYXRlZCB0byBhbnkgcGFydGljdWxhciBlcGlzb2RlIG9mIGl0LiBGb3IgZXBpc29kZSBub3RlcyBhbmQgZGVzY3JpcHRpb25zLCB1c2UgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50LmRlc2NyaXB0aW9uIGFuZCAgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50Lm5vdGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uIiBkZXNjcmlwdGlvbj0iQWR2ZXJzZSBSZWFjdGlvbiBFdmVudHMgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCBlYWNoIGFkdmVyc2UgcmVhY3Rpb24gZXZlbnQgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWxsZXJneUludG9sZXJhbmNlLlJlYWN0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNvcmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhc3NlcnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icmVjb3JkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImFzc2VydGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhc3NlcnRlciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2UuUmVhY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YnN0YW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgc3Vic3RhbmNlIG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgZXZlbnQiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgKG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpIGNvbnNpZGVyZWQgdG8gYmUgcmVzcG9uc2libGUgZm9yIHRoZSBBZHZlcnNlIFJlYWN0aW9uIGV2ZW50LiBOb3RlOiB0aGUgc3Vic3RhbmNlIGZvciBhIHNwZWNpZmljIHJlYWN0aW9uIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgc3Vic3RhbmNlIGlkZW50aWZpZWQgYXMgdGhlIGNhdXNlIG9mIHRoZSByaXNrLCBidXQgaXQgbXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaXQuIEZvciBpbnN0YW5jZSwgaXQgbWF5IGJlIGEgbW9yZSBzcGVjaWZpYyBzdWJzdGFuY2UgKGUuZy4gYSBicmFuZCBtZWRpY2F0aW9uKSBvciBhIGNvbXBvc2l0ZSBwcm9kdWN0IHRoYXQgaW5jbHVkZXMgdGhlIGlkZW50aWZpZWQgc3Vic3RhbmNlLiBJdCBtdXN0IGJlIGNsaW5pY2FsbHkgc2FmZSB0byBvbmx5IHByb2Nlc3MgdGhlICdjb2RlJyBhbmQgaWdub3JlIHRoZSAncmVhY3Rpb24uc3Vic3RhbmNlJy4gIElmIGEgcmVjZWl2aW5nIHN5c3RlbSBpcyB1bmFibGUgdG8gY29uZmlybSB0aGF0IEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UgZmFsbHMgd2l0aGluIHRoZSBzZW1hbnRpYyBzY29wZSBvZiBBbGxlcmd5SW50b2xlcmFuY2UuY29kZSwgdGhlbiB0aGUgcmVjZWl2aW5nIHN5c3RlbSBzaG91bGQgaWdub3JlIEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UuIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHNwZWNpZmljIHN1YnN0YW5jZSAob3IgcGhhcm1hY2V1dGljYWwgcHJvZHVjdCkgd2l0aCBhIHRlcm1pbm9sb2d5IGNhcGFibGUgb2YgdHJpZ2dlcmluZyBkZWNpc2lvbiBzdXBwb3J0IHNob3VsZCBiZSB1c2VkIHdoZXJldmVyIHBvc3NpYmxlLiAgVGhlICdjb2RlJyBlbGVtZW50IGFsbG93cyBmb3IgdGhlIHVzZSBvZiBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0LCBvciBhIGdyb3VwIG9yIGNsYXNzIG9mIHN1YnN0YW5jZXMuIEluIHRoZSBjYXNlIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgdG8gYSBjbGFzcyBvZiBzdWJzdGFuY2VzLCAoZm9yIGV4YW1wbGUsICZxdW90O3BlbmljaWxsaW5zJnF1b3Q7KSwgdGhlICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnQgY291bGQgYmUgdXNlZCB0byBjb2RlIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgdGhhdCB3YXMgaWRlbnRpZmllZCBhcyBoYXZpbmcgY2F1c2VkIHRoZSByZWFjdGlvbiAoZm9yIGV4YW1wbGUsICZxdW90O2Ftb3h5Y2lsbGluJnF1b3Q7KS4gRHVwbGljYXRpb24gb2YgdGhlIHZhbHVlIGluIHRoZSAnY29kZScgYW5kICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnRzIGlzIGFjY2VwdGFibGUgd2hlbiBhIHNwZWNpZmljIHN1YnN0YW5jZSBoYXMgYmVlbiByZWNvcmRlZCBpbiAnY29kZScuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3Vic3RhbmNlQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlZmluaW5nIHRoZSB0eXBlIG9mIHRoZSBzdWJzdGFuY2UgKGluY2x1ZGluZyBwaGFybWFjZXV0aWNhbCBwcm9kdWN0cykuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbmlmZXN0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBzeW1wdG9tcy9zaWducyBhc3NvY2lhdGVkIHdpdGggdGhlIEV2ZW50IiBkZWZpbml0aW9uPSJDbGluaWNhbCBzeW1wdG9tcyBhbmQvb3Igc2lnbnMgdGhhdCBhcmUgb2JzZXJ2ZWQgb3IgYXNzb2NpYXRlZCB3aXRoIHRoZSBhZHZlcnNlIHJlYWN0aW9uIGV2ZW50LiIgY29tbWVudD0iTWFuaWZlc3RhdGlvbiBjYW4gYmUgZXhwcmVzc2VkIGFzIGEgc2luZ2xlIHdvcmQsIHBocmFzZSBvciBicmllZiBkZXNjcmlwdGlvbi4gRm9yIGV4YW1wbGU6IG5hdXNlYSwgcmFzaCBvciBubyByZWFjdGlvbi4gSXQgaXMgcHJlZmVyYWJsZSB0aGF0IG1hbmlmZXN0YXRpb24gc2hvdWxkIGJlIGNvZGVkIHdpdGggYSB0ZXJtaW5vbG9neSwgd2hlcmUgcG9zc2libGUuIFRoZSB2YWx1ZXMgZW50ZXJlZCBoZXJlIG1heSBiZSB1c2VkIHRvIGRpc3BsYXkgb24gYW4gYXBwbGljYXRpb24gc2NyZWVuIGFzIHBhcnQgb2YgYSBsaXN0IG9mIGFkdmVyc2UgcmVhY3Rpb25zLCBhcyByZWNvbW1lbmRlZCBpbiB0aGUgVUsgTkhTIENVSSBndWlkZWxpbmVzLiAgVGVybWlub2xvZ2llcyBjb21tb25seSB1c2VkIGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8sIFNOT01FRCBDVCBvciBJQ0QxMC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBldmVudCBhcyBhIHdob2xlIiBkZWZpbml0aW9uPSJUZXh0IGRlc2NyaXB0aW9uIGFib3V0IHRoZSByZWFjdGlvbiBhcyBhIHdob2xlLCBpbmNsdWRpbmcgZGV0YWlscyBvZiB0aGUgbWFuaWZlc3RhdGlvbiBpZiByZXF1aXJlZC4iIGNvbW1lbnQ9IlVzZSB0aGUgZGVzY3JpcHRpb24gdG8gcHJvdmlkZSBhbnkgZGV0YWlscyBvZiBhIHBhcnRpY3VsYXIgZXZlbnQgb2YgdGhlIG9jY3VycmVkIHJlYWN0aW9uIHN1Y2ggYXMgY2lyY3Vtc3RhbmNlcywgcmVhY3Rpb24gc3BlY2lmaWNzLCB3aGF0IGhhcHBlbmVkIGJlZm9yZS9hZnRlci4gSW5mb3JtYXRpb24sIHJlbGF0ZWQgdG8gdGhlIGV2ZW50LCBidXQgbm90IGRlc2NyaWJpbmcgYSBwYXJ0aWN1bGFyIGNhcmUgc2hvdWxkIGJlIGNhcHR1cmVkIGluIHRoZSBjb21tZW50IGZpZWxkLiBGb3IgZXhhbXBsZTogYXQgdGhlIGFnZSBvZiBmb3VyLCB0aGUgcGF0aWVudCB3YXMgZ2l2ZW4gcGVuaWNpbGxpbiBmb3Igc3RyZXAgdGhyb2F0IGFuZCBzdWJzZXF1ZW50bHkgZGV2ZWxvcGVkIHNldmVyZSBoaXZlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSgvdGltZSkgd2hlbiBtYW5pZmVzdGF0aW9ucyBzaG93ZWQiIGRlZmluaXRpb249IlJlY29yZCBvZiB0aGUgZGF0ZSBhbmQvb3IgdGltZSBvZiB0aGUgb25zZXQgb2YgdGhlIFJlYWN0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2V2ZXJpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWxsZXJneUludG9sZXJhbmNlU2V2ZXJpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0ibWlsZCB8IG1vZGVyYXRlIHwgc2V2ZXJlIChvZiBldmVudCBhcyBhIHdob2xlKSIgZGVmaW5pdGlvbj0iQ2xpbmljYWwgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIHJlYWN0aW9uIGV2ZW50IGFzIGEgd2hvbGUsIHBvdGVudGlhbGx5IGNvbnNpZGVyaW5nIG11bHRpcGxlIGRpZmZlcmVudCBtYW5pZmVzdGF0aW9ucy4iIGNvbW1lbnQ9Ikl0IGlzIGFja25vd2xlZGdlZCB0aGF0IHRoaXMgYXNzZXNzbWVudCBpcyB2ZXJ5IHN1YmplY3RpdmUuIFRoZXJlIG1heSBiZSBzb21lIHNwZWNpZmljIHByYWN0aWNlIGRvbWFpbnMgd2hlcmUgb2JqZWN0aXZlIHNjYWxlcyBoYXZlIGJlZW4gYXBwbGllZC4gT2JqZWN0aXZlIHNjYWxlcyBjYW4gYmUgaW5jbHVkZWQgaW4gdGhpcyBtb2RlbCBhcyBleHRlbnNpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGFzc2Vzc21lbnQgb2YgdGhlIHNldmVyaXR5IG9mIGEgcmVhY3Rpb24gZXZlbnQgYXMgYSB3aG9sZSwgcG90ZW50aWFsbHkgY29uc2lkZXJpbmcgbXVsdGlwbGUgZGlmZmVyZW50IG1hbmlmZXN0YXRpb25zLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwb3N1cmVSb3V0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IHRoZSBzdWJqZWN0IHdhcyBleHBvc2VkIHRvIHRoZSBzdWJzdGFuY2UiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSByb3V0ZSBieSB3aGljaCB0aGUgc3ViamVjdCB3YXMgZXhwb3NlZCB0byB0aGUgc3Vic3RhbmNlLiIgY29tbWVudD0iQ29kaW5nIG9mIHRoZSByb3V0ZSBvZiBleHBvc3VyZSB3aXRoIGEgdGVybWlub2xvZ3kgc2hvdWxkIGJlIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUm91dGVPZkFkbWluaXN0cmF0aW9uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHJvdXRlIG9yIHBoeXNpb2xvZ2ljYWwgcGF0aCBvZiBhZG1pbmlzdHJhdGlvbiBvZiBhIHRoZXJhcGV1dGljIGFnZW50IGludG8gb3Igb250byB0aGUgYm9keSBvZiBhIHN1YmplY3QuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJUZXh0IGFib3V0IGV2ZW50IG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgdGV4dCBhYm91dCB0aGUgYWR2ZXJzZSByZWFjdGlvbiBldmVudCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzLiIgY29tbWVudD0iVXNlIHRoaXMgZmllbGQgdG8gcmVjb3JkIGluZm9ybWF0aW9uIGluZGlyZWN0bHkgcmVsYXRlZCB0byBhIHBhcnRpY3VsYXIgZXZlbnQgYW5kIG5vdCBjYXB0dXJlZCBpbiB0aGUgZGVzY3JpcHRpb24uIEZvciBleGFtcGxlOiBDbGluaWNhbCByZWNvcmRzIGFyZSBubyBsb25nZXIgYXZhaWxhYmxlLCByZWNvcmRlZCBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBieSBoZXIgbW90aGVyIGFuZCBoZXIgbW90aGVyIGlzIGRlY2Vhc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uLWR1cmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLmR1cmF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXBhcmVudC5yZWFjdGlvbi5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vYWxsZXJneWludG9sZXJhbmNlLWR1cmF0aW9uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGxvbmcgTWFuaWZlc3RhdGlvbnMgcGVyc2lzdGVkIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRpbWUgdGhhdCB0aGUgQWR2ZXJzZSBSZWFjdGlvbiBwZXJzaXN0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlU2V2ZXJpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Bbm5vdGF0aW9uIiBsYWJlbD0iQW5ub3RhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgcmVzcG9uc2libGUgZm9yIHRoZSBhbm5vdGF0aW9uIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgbWFraW5nIHRoZSBhbm5vdGF0aW9uLiIgY29tbWVudD0iT3JnYW5pemF0aW9uIGlzIHVzZWQgd2hlbiB0aGVyZSdzIG5vIG5lZWQgZm9yIHNwZWNpZmljIGF0dHJpYnV0aW9uIGFzIHRvIHdobyBtYWRlIHRoZSBjb21tZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGFubm90YXRpb24gd2FzIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVuIHRoaXMgcGFydGljdWxhciBhbm5vdGF0aW9uIHdhcyBtYWRlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgYW5ub3RhdGlvbiAgLSB0ZXh0IGNvbnRlbnQgKGFzIG1hcmtkb3duKSIgZGVmaW5pdGlvbj0iVGhlIHRleHQgb2YgdGhlIGFubm90YXRpb24gaW4gbWFya2Rvd24gZm9ybWF0LiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0F0dGFjaG1lbnQiIGxhYmVsPSJBdHRhY2htZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZW50VHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NaW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNaW1lIHR5cGUgb2YgdGhlIGNvbnRlbnQsIHdpdGggY2hhcnNldCBldGMuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHRoZSBkYXRhIGluIHRoZSBhdHRhY2htZW50IGFuZCBhbGxvd3MgYSBtZXRob2QgdG8gYmUgY2hvc2VuIHRvIGludGVycHJldCBvciByZW5kZXIgdGhlIGRhdGEuIEluY2x1ZGVzIG1pbWUgdHlwZSBwYXJhbWV0ZXJzIHN1Y2ggYXMgY2hhcnNldCB3aGVyZSBhcHByb3ByaWF0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGFuZ3VhZ2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuIGxhbmd1YWdlIG9mIHRoZSBjb250ZW50IChCQ1AtNDcpIiBkZWZpbml0aW9uPSJUaGUgaHVtYW4gbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRlbnQuIFRoZSB2YWx1ZSBjYW4gYmUgYW55IHZhbGlkIHZhbHVlIGFjY29yZGluZyB0byBCQ1AgNDcuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGEiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGEgaW5saW5lLCBiYXNlNjRlZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBkYXRhIG9mIHRoZSBhdHRhY2htZW50IC0gYSBzZXF1ZW5jZSBvZiBieXRlcywgYmFzZTY0IGVuY29kZWQuIiBjb21tZW50PSJUaGUgYmFzZTY0LWVuY29kZWQgZGF0YSBTSEFMTCBiZSBleHByZXNzZWQgaW4gdGhlIHNhbWUgY2hhcmFjdGVyIHNldCBhcyB0aGUgYmFzZSByZXNvdXJjZSBYTUwgb3IgSlNPTi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJVcmkgd2hlcmUgdGhlIGRhdGEgY2FuIGJlIGZvdW5kIiBkZWZpbml0aW9uPSJBIGxvY2F0aW9uIHdoZXJlIHRoZSBkYXRhIGNhbiBiZSBhY2Nlc3NlZC4iIGNvbW1lbnQ9IklmIGJvdGggZGF0YSBhbmQgdXJsIGFyZSBwcm92aWRlZCwgdGhlIHVybCBTSEFMTCBwb2ludCB0byB0aGUgc2FtZSBjb250ZW50IGFzIHRoZSBkYXRhIGNvbnRhaW5zLiBVcmxzIG1heSBiZSByZWxhdGl2ZSByZWZlcmVuY2VzIG9yIG1heSByZWZlcmVuY2UgdHJhbnNpZW50IGxvY2F0aW9ucyBzdWNoIGFzIGEgd3JhcHBpbmcgZW52ZWxvcGUgdXNpbmcgY2lkOiB0aG91Z2ggdGhpcyBoYXMgcmFtaWZpY2F0aW9ucyBmb3IgdXNpbmcgc2lnbmF0dXJlcy4gUmVsYXRpdmUgVVJMcyBhcmUgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIHNlcnZpY2UgdXJsLCBsaWtlIGEgcmVzb3VyY2UgcmVmZXJlbmNlLCByYXRoZXIgdGhhbiByZWxhdGl2ZSB0byB0aGUgcmVzb3VyY2UgaXRzZWxmLiBJZiBhIFVSTCBpcyBwcm92aWRlZCwgaXQgU0hBTEwgcmVzb2x2ZSB0byBhY3R1YWwgZGF0YS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l6ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiBieXRlcyBvZiBjb250ZW50IChpZiB1cmwgcHJvdmlkZWQpIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIGRhdGEgdGhhdCBtYWtlIHVwIHRoaXMgYXR0YWNobWVudCAoYmVmb3JlIGJhc2U2NCBlbmNvZGluZywgaWYgdGhhdCBpcyBkb25lKS4iIGNvbW1lbnQ9IlRoZSBudW1iZXIgb2YgYnl0ZXMgaXMgcmVkdW5kYW50IGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgYmFzZTY0YmluYXJ5LCBidXQgaXMgdXNlZnVsIGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgdXJsIHJlZmVyZW5jZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzaCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSGFzaCBvZiB0aGUgZGF0YSAoc2hhLTEsIGJhc2U2NGVkKSIgZGVmaW5pdGlvbj0iVGhlIGNhbGN1bGF0ZWQgaGFzaCBvZiB0aGUgZGF0YSB1c2luZyBTSEEtMS4gUmVwcmVzZW50ZWQgdXNpbmcgYmFzZTY0LiIgY29tbWVudD0iVGhlIGhhc2ggaXMgY2FsY3VsYXRlZCBvbiB0aGUgZGF0YSBwcmlvciB0byBiYXNlNjQgZW5jb2RpbmcsIGlmIHRoZSBkYXRhIGlzIGJhc2VkNjQgZW5jb2RlZC4gVGhlIGhhc2ggaXMgbm90IGludGVuZGVkIHRvIHN1cHBvcnQgZGlnaXRhbCBzaWduYXR1cmVzLiBXaGVyZSBwcm90ZWN0aW9uIGFnYWluc3QgbWFsaWNpb3VzIHRocmVhdHMgYSBkaWdpdGFsIHNpZ25hdHVyZSBzaG91bGQgYmUgY29uc2lkZXJlZCwgc2VlIFtQcm92ZW5hbmNlLnNpZ25hdHVyZV0ocHJvdmVuYW5jZS1kZWZpbml0aW9ucy5odG1sI1Byb3ZlbmFuY2Uuc2lnbmF0dXJlKSBmb3IgbWVjaGFuaXNtIHRvIHByb3RlY3QgYSByZXNvdXJjZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMYWJlbCB0byBkaXNwbGF5IGluIHBsYWNlIG9mIHRoZSBkYXRhIiBkZWZpbml0aW9uPSJBIGxhYmVsIG9yIHNldCBvZiB0ZXh0IHRvIGRpc3BsYXkgaW4gcGxhY2Ugb2YgdGhlIGRhdGEuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhhdCB0aGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkJhY2tib25lRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0JhY2tib25lRWxlbWVudCIgbGFiZWw9IkJhY2tib25lRWxlbWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXJFeHRlbnNpb24iIGRlc2NyaXB0aW9uPSJFeHRlbnNpb25zIHRoYXQgY2Fubm90IGJlIGlnbm9yZWQgZXZlbiBpZiB1bnJlY29nbml6ZWQiIGRlZmluaXRpb249Ik1heSBiZSB1c2VkIHRvIHJlcHJlc2VudCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJhc2ljIGRlZmluaXRpb24gb2YgdGhlIGVsZW1lbnQgYW5kIHRoYXQgbW9kaWZpZXMgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGVsZW1lbnQgaW4gd2hpY2ggaXQgaXMgY29udGFpbmVkIGFuZC9vciB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgY29udGFpbmluZyBlbGVtZW50J3MgZGVzY2VuZGFudHMuIFVzdWFsbHkgbW9kaWZpZXIgZWxlbWVudHMgcHJvdmlkZSBuZWdhdGlvbiBvciBxdWFsaWZpY2F0aW9uLiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSBhcHBsaWVkIHRvIHRoZSBkZWZpbml0aW9uIGFuZCB1c2Ugb2YgZXh0ZW5zaW9ucy4gVGhvdWdoIGFueSBpbXBsZW1lbnRlciBjYW4gZGVmaW5lIGFuIGV4dGVuc2lvbiwgdGhlcmUgaXMgYSBzZXQgb2YgcmVxdWlyZW1lbnRzIHRoYXQgU0hBTEwgYmUgbWV0IGFzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2lvbi4gQXBwbGljYXRpb25zIHByb2Nlc3NpbmcgYSByZXNvdXJjZSBhcmUgcmVxdWlyZWQgdG8gY2hlY2sgZm9yIG1vZGlmaWVyIGV4dGVuc2lvbnMuJiN4YTsmI3hhO01vZGlmaWVyIGV4dGVuc2lvbnMgU0hBTEwgTk9UIGNoYW5nZSB0aGUgbWVhbmluZyBvZiBhbnkgZWxlbWVudHMgb24gUmVzb3VyY2Ugb3IgRG9tYWluUmVzb3VyY2UgKGluY2x1ZGluZyBjYW5ub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIG1vZGlmaWVyRXh0ZW5zaW9uIGl0c2VsZikuIiBjb21tZW50PSJUaGVyZSBjYW4gYmUgbm8gc3RpZ21hIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgYnkgYW55IGFwcGxpY2F0aW9uLCBwcm9qZWN0LCBvciBzdGFuZGFyZCAtIHJlZ2FyZGxlc3Mgb2YgdGhlIGluc3RpdHV0aW9uIG9yIGp1cmlzZGljdGlvbiB0aGF0IHVzZXMgb3IgZGVmaW5lcyB0aGUgZXh0ZW5zaW9ucy4gIFRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBpcyB3aGF0IGFsbG93cyB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIHRvIHJldGFpbiBhIGNvcmUgbGV2ZWwgb2Ygc2ltcGxpY2l0eSBmb3IgZXZlcnlvbmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkJvZHlTdHJ1Y3R1cmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWJvZHlzdHJ1Y3R1cmUiIGxhYmVsPSJRSUNvcmUgQm9keVN0cnVjdHVyZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibG9jYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQm9keXN0cnVjdHVyZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlIG9mIHRoZSBhbmF0b21pY2FsIHN0cnVjdHVyZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBib2R5IHNpdGUgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCB0byBtYXJrIHRoYXQgdGhlIHJlc291cmNlIHdhcyBjcmVhdGVkIGluIGVycm9yLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9ycGhvbG9neSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBTdHJ1Y3R1cmUiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHN0cnVjdHVyZSBiZWluZyByZXByZXNlbnRlZCBieSB0aGUgYm9keSBzdHJ1Y3R1cmUgYXQgYEJvZHlTdHJ1Y3R1cmUubG9jYXRpb25gLiAgVGhpcyBjYW4gZGVmaW5lIGJvdGggbm9ybWFsIGFuZCBhYm5vcm1hbCBtb3JwaG9sb2dpZXMuIiBjb21tZW50PSJUaGUgbWluaW11bSBjYXJkaW5hbGl0eSBvZiAwIHN1cHBvcnRzIHRoZSB1c2UgY2FzZSBvZiBzcGVjaWZ5aW5nIGEgbG9jYXRpb24gd2l0aG91dCBkZWZpbmluZyBhIG1vcnBob2xvZ3kuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVN0cnVjdHVyZUNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljIG1vcnBob2xvZ3kuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUiIGRlZmluaXRpb249IlRoZSBhbmF0b21pY2FsIGxvY2F0aW9uIG9yIHJlZ2lvbiBvZiB0aGUgc3BlY2ltZW4sIGxlc2lvbiwgb3IgYm9keSBzdHJ1Y3R1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblF1YWxpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJvZHkgc2l0ZSBtb2RpZmllciIgZGVmaW5pdGlvbj0iUXVhbGlmaWVyIHRvIHJlZmluZSB0aGUgYW5hdG9taWNhbCBsb2NhdGlvbi4gIFRoZXNlIGluY2x1ZGUgcXVhbGlmaWVycyBmb3IgbGF0ZXJhbGl0eSwgcmVsYXRpdmUgbG9jYXRpb24sIGRpcmVjdGlvbmFsaXR5LCBudW1iZXIsIGFuZCBwbGFuZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb25jZXB0cyBtb2RpZnlpbmcgdGhlIGFuYXRvbWljIGxvY2F0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgZGVzY3JpcHRpb24iIGRlZmluaXRpb249IkEgc3VtbWFyeSwgY2hhcmFjdGVyaXphdGlvbiBvciBleHBsYW5hdGlvbiBvZiB0aGUgYm9keSBzdHJ1Y3R1cmUuIiBjb21tZW50PSJUaGlzIGRlc2NyaXB0aW9uIGNvdWxkIGluY2x1ZGUgYW55IHZpc3VhbCBtYXJraW5ncyB1c2VkIHRvIG9yaWVudGF0ZSB0aGUgdmlld2VyIGUuZy4gZXh0ZXJuYWwgcmVmZXJlbmNlIHBvaW50cywgc3BlY2lhbCBzdXR1cmVzLCBpbmsgbWFya2luZ3MuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImltYWdlIiBkZXNjcmlwdGlvbj0iQXR0YWNoZWQgaW1hZ2VzIiBkZWZpbml0aW9uPSJJbWFnZSBvciBpbWFnZXMgdXNlZCB0byBpZGVudGlmeSBhIGxvY2F0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoaXMgaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwZXJzb24gdG8gd2hpY2ggdGhlIGJvZHkgc2l0ZSBiZWxvbmdzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY2FyZXBsYW4iIGxhYmVsPSJRSUNvcmUgQ2FyZVBsYW4iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5Ij4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkcyBmb3IgdGhpcyBwbGFuIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNhcmUgcGxhbiBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBxdWVzdGlvbm5haXJlIG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDYXJlUGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4uIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBDYXJlUGxhbiIgZGVmaW5pdGlvbj0iQSBjYXJlIHBsYW4gdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGNhcmUgcGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iQ2FyZVBsYW4gcmVwbGFjZWQgYnkgdGhpcyBDYXJlUGxhbiIgZGVmaW5pdGlvbj0iQ29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgY2FyZSBwbGFuIHdob3NlIGZ1bmN0aW9uIGlzIHRha2VuIGJ5IHRoaXMgbmV3IGNhcmUgcGxhbi4iIGNvbW1lbnQ9IlRoZSByZXBsYWNlbWVudCBjb3VsZCBiZSBiZWNhdXNlIHRoZSBpbml0aWFsIGNhcmUgcGxhbiB3YXMgaW1tZWRpYXRlbHkgcmVqZWN0ZWQgKGR1ZSB0byBhbiBpc3N1ZSkgb3IgYmVjYXVzZSB0aGUgcHJldmlvdXMgY2FyZSBwbGFuIHdhcyBjb21wbGV0ZWQsIGJ1dCB0aGUgbmVlZCBmb3IgdGhlIGFjdGlvbiBkZXNjcmliZWQgYnkgdGhlIGNhcmUgcGxhbiByZW1haW5zIG9uZ29pbmcuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgQ2FyZVBsYW4iIGRlZmluaXRpb249IkEgbGFyZ2VyIGNhcmUgcGxhbiBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgY2FyZSBwbGFuIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIiBjb21tZW50PSJFYWNoIGNhcmUgcGxhbiBpcyBhbiBpbmRlcGVuZGVudCByZXF1ZXN0LCBzdWNoIHRoYXQgaGF2aW5nIGEgY2FyZSBwbGFuIGJlIHBhcnQgb2YgYW5vdGhlciBjYXJlIHBsYW4gY2FuIGNhdXNlIGlzc3VlcyB3aXRoIGNhc2NhZGluZyBzdGF0dXNlcy4gIEFzIHN1Y2gsIHRoaXMgZWxlbWVudCBpcyBzdGlsbCBiZWluZyBkaXNjdXNzZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHBsYW4gaXMgY3VycmVudGx5IGJlaW5nIGFjdGVkIHVwb24sIHJlcHJlc2VudHMgZnV0dXJlIGludGVudGlvbnMgb3IgaXMgbm93IGEgaGlzdG9yaWNhbCByZWNvcmQuIiBjb21tZW50PSJUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhcmUgcGxhbi4mI3hhOyYjeGE7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGUgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmtzIHRoZSBwbGFuIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgcGxhbiBpcyBjdXJyZW50bHkgYmVpbmcgYWN0ZWQgdXBvbiwgcmVwcmVzZW50cyBmdXR1cmUgaW50ZW50aW9ucyBvciBpcyBub3cgYSBoaXN0b3JpY2FsIHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYXV0aG9yaXR5L2ludGVudGlvbmFsaXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FyZSBwbGFuIGFuZCB3aGVyZSB0aGUgY2FyZSBwbGFuIGZpdHMgaW50byB0aGUgd29ya2Zsb3cgY2hhaW4uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIGludGVudCBhbHRlcnMgd2hlbiBhbmQgaG93IHRoZSByZXNvdXJjZSBpcyBhY3R1YWxseSBhcHBsaWNhYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgZGVncmVlIG9mIGF1dGhvcml0eS9pbnRlbnRpb25hbGl0eSBhc3NvY2lhdGVkIHdpdGggYSBjYXJlIHBsYW4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJUeXBlIG9mIHBsYW4uIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhlcyBvZiBjYXRlZ29yaXphdGlvbiBhbmQgb25lIHBsYW4gbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiAgSW4gc29tZSBjYXNlcywgdGhpcyBtYXkgYmUgcmVkdW5kYW50IHdpdGggcmVmZXJlbmNlcyB0byBDYXJlUGxhbi5jb25jZXJuLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5DYXRlZ29yeSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2hhdCAmcXVvdDtraW5kJnF1b3Q7IG9mIHBsYW4gdGhpcyBpcyB0byBzdXBwb3J0IGRpZmZlcmVudGlhdGlvbiBiZXR3ZWVuIG11bHRpcGxlIGNvLWV4aXN0aW5nIHBsYW5zOyBlLmcuICZxdW90O0hvbWUgaGVhbHRoJnF1b3Q7LCAmcXVvdDtwc3ljaGlhdHJpYyZxdW90OywgJnF1b3Q7YXN0aG1hJnF1b3Q7LCAmcXVvdDtkaXNlYXNlIG1hbmFnZW1lbnQmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJBc3Nlc3NQbGFuIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBsYW4iIGRlZmluaXRpb249IlR5cGUgb2YgcGxhbi4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgcGxhbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuICBJbiBzb21lIGNhc2VzLCB0aGlzIG1heSBiZSByZWR1bmRhbnQgd2l0aCByZWZlcmVuY2VzIHRvIENhcmVQbGFuLmNvbmNlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHdoYXQgJnF1b3Q7a2luZCZxdW90OyBvZiBwbGFuIHRoaXMgaXMgdG8gc3VwcG9ydCBkaWZmZXJlbnRpYXRpb24gYmV0d2VlbiBtdWx0aXBsZSBjby1leGlzdGluZyBwbGFuczsgZS5nLiAmcXVvdDtIb21lIGhlYWx0aCZxdW90OywgJnF1b3Q7cHN5Y2hpYXRyaWMmcXVvdDssICZxdW90O2FzdGhtYSZxdW90OywgJnF1b3Q7ZGlzZWFzZSBtYW5hZ2VtZW50JnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGl0bGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuLWZyaWVuZGx5IG5hbWUgZm9yIHRoZSBjYXJlIHBsYW4iIGRlZmluaXRpb249Ikh1bWFuLWZyaWVuZGx5IG5hbWUgZm9yIHRoZSBjYXJlIHBsYW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdW1tYXJ5IG9mIG5hdHVyZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzY29wZSBhbmQgbmF0dXJlIG9mIHRoZSBwbGFuLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgY2FyZSBwbGFuIGlzIGZvciIgZGVmaW5pdGlvbj0iV2hvIGNhcmUgcGxhbiBpcyBmb3IuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDYXJlUGxhbiB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4gQ2FyZVBsYW4gYWN0aXZpdGllcyBjb25kdWN0ZWQgYXMgYSByZXN1bHQgb2YgdGhlIGNhcmUgcGxhbiBtYXkgd2VsbCBvY2N1ciBhcyBwYXJ0IG9mIG90aGVyIGVuY291bnRlcnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBwbGFuIGNvdmVycyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHBsYW4gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiIgY29tbWVudD0iQW55IGFjdGl2aXRpZXMgc2NoZWR1bGVkIGFzIHBhcnQgb2YgdGhlIHBsYW4gc2hvdWxkIGJlIGNvbnN0cmFpbmVkIHRvIHRoZSBzcGVjaWZpZWQgcGVyaW9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWN0aXZpdGllcyBhcmUgcGxhbm5lZCB3aXRoaW4gYSBzaW5nbGUgZW5jb3VudGVyL2VwaXNvZGUgb3IgYWNyb3NzIG11bHRpcGxlIGVuY291bnRlcnMvZXBpc29kZXMgKGUuZy4gdGhlIGxvbmdpdHVkaW5hbCBtYW5hZ2VtZW50IG9mIGEgY2hyb25pYyBjb25kaXRpb24pLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjcmVhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgcmVjb3JkIHdhcyBmaXJzdCByZWNvcmRlZCIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyB3aGVuIHRoaXMgcGFydGljdWxhciBDYXJlUGxhbiByZWNvcmQgd2FzIGNyZWF0ZWQgaW4gdGhlIHN5c3RlbSwgd2hpY2ggaXMgb2Z0ZW4gYSBzeXN0ZW0tZ2VuZXJhdGVkIGRhdGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgdGhlIGRlc2lnbmF0ZWQgcmVzcG9uc2libGUgcGFydHkiIGRlZmluaXRpb249IldoZW4gcG9wdWxhdGVkLCB0aGUgYXV0aG9yIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY2FyZSBwbGFuLiAgVGhlIGNhcmUgcGxhbiBpcyBhdHRyaWJ1dGVkIHRvIHRoZSBhdXRob3IuIiBjb21tZW50PSJUaGUgYXV0aG9yIG1heSBhbHNvIGJlIGEgY29udHJpYnV0b3IuICBGb3IgZXhhbXBsZSwgYW4gb3JnYW5pemF0aW9uIGNhbiBiZSBhbiBhdXRob3IsIGJ1dCBub3QgbGlzdGVkIGFzIGEgY29udHJpYnV0b3IuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvIHByb3ZpZGVkIHRoZSBjb250ZW50IG9mIHRoZSBjYXJlIHBsYW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGluZGl2aWR1YWwocykgb3Igb3JnYW5pemF0aW9uIHdobyBwcm92aWRlZCB0aGUgY29udGVudHMgb2YgdGhlIGNhcmUgcGxhbi4iIGNvbW1lbnQ9IkNvbGxhYm9yYXRpdmUgY2FyZSBwbGFucyBtYXkgaGF2ZSBtdWx0aXBsZSBjb250cmlidXRvcnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXJlVGVhbSIgZGVzY3JpcHRpb249IldobydzIGludm9sdmVkIGluIHBsYW4/IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGFsbCBwZW9wbGUgYW5kIG9yZ2FuaXphdGlvbnMgd2hvIGFyZSBleHBlY3RlZCB0byBiZSBpbnZvbHZlZCBpbiB0aGUgY2FyZSBlbnZpc2lvbmVkIGJ5IHRoaXMgcGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3NlcyIgZGVzY3JpcHRpb249IkhlYWx0aCBpc3N1ZXMgdGhpcyBwbGFuIGFkZHJlc3NlcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgY29uZGl0aW9ucy9wcm9ibGVtcy9jb25jZXJucy9kaWFnbm9zZXMvZXRjLiB3aG9zZSBtYW5hZ2VtZW50IGFuZC9vciBtaXRpZ2F0aW9uIGFyZSBoYW5kbGVkIGJ5IHRoaXMgcGxhbi4iIGNvbW1lbnQ9IldoZW4gdGhlIGRpYWdub3NpcyBpcyByZWxhdGVkIHRvIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UsIHRoZSBDb25kaXRpb24gYW5kIEFsbGVyZ3lJbnRvbGVyYW5jZSByZXNvdXJjZXMgY2FuIGJvdGggYmUgdXNlZC4gSG93ZXZlciwgdG8gYmUgYWN0aW9uYWJsZSBmb3IgZGVjaXNpb24gc3VwcG9ydCwgdXNpbmcgQ29uZGl0aW9uIGFsb25lIGlzIG5vdCBzdWZmaWNpZW50IGFzIHRoZSBhbGxlcmd5IG9yIGludG9sZXJhbmNlIGNvbmRpdGlvbiBuZWVkcyB0byBiZSByZXByZXNlbnRlZCBhcyBhbiBBbGxlcmd5SW50b2xlcmFuY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGNvbnNpZGVyZWQgYXMgcGFydCBvZiBwbGFuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHBvcnRpb25zIG9mIHRoZSBwYXRpZW50J3MgcmVjb3JkIHRoYXQgc3BlY2lmaWNhbGx5IGluZmx1ZW5jZWQgdGhlIGZvcm1hdGlvbiBvZiB0aGUgcGxhbi4gIFRoZXNlIG1pZ2h0IGluY2x1ZGUgY29tb3JiaWRpdGllcywgcmVjZW50IHByb2NlZHVyZXMsIGxpbWl0YXRpb25zLCByZWNlbnQgYXNzZXNzbWVudHMsIGV0Yy4iIGNvbW1lbnQ9IlVzZSAmcXVvdDtjb25jZXJuJnF1b3Q7IHRvIGlkZW50aWZ5IHNwZWNpZmljIGNvbmRpdGlvbnMgYWRkcmVzc2VkIGJ5IHRoZSBjYXJlIHBsYW4uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJnb2FsIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBvdXRjb21lIG9mIHBsYW4iIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgaW50ZW5kZWQgb2JqZWN0aXZlKHMpIG9mIGNhcnJ5aW5nIG91dCB0aGUgY2FyZSBwbGFuLiIgY29tbWVudD0iR29hbCBjYW4gYmUgYWNoaWV2aW5nIGEgcGFydGljdWxhciBjaGFuZ2Ugb3IgbWVyZWx5IG1haW50YWluaW5nIGEgY3VycmVudCBzdGF0ZSBvciBldmVuIHNsb3dpbmcgYSBkZWNsaW5lLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZpdHkiIGRlc2NyaXB0aW9uPSJBY3Rpb24gdG8gb2NjdXIgYXMgcGFydCBvZiBwbGFuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGEgcGxhbm5lZCBhY3Rpb24gdG8gb2NjdXIgYXMgcGFydCBvZiB0aGUgcGxhbi4gIEZvciBleGFtcGxlLCBhIG1lZGljYXRpb24gdG8gYmUgdXNlZCwgbGFiIHRlc3RzIHRvIHBlcmZvcm0sIHNlbGYtbW9uaXRvcmluZywgZWR1Y2F0aW9uLCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2FyZVBsYW4uQWN0aXZpdHkiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJjcGwtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJQcm92aWRlIGEgcmVmZXJlbmNlIG9yIGRldGFpbCwgbm90IGJvdGgiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZGV0YWlsLmVtcHR5KCkgb3IgcmVmZXJlbmNlLmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgcGxhbiIgZGVmaW5pdGlvbj0iR2VuZXJhbCBub3RlcyBhYm91dCB0aGUgY2FyZSBwbGFuIG5vdCBjb3ZlcmVkIGVsc2V3aGVyZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbi5BY3Rpdml0eSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZUNvZGVhYmxlQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlc3VsdHMgb2YgdGhlIGFjdGl2aXR5IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBvdXRjb21lIGF0IHRoZSBwb2ludCB3aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGFjdGl2aXR5IGlzIGFzc2Vzc2VkLiAgRm9yIGV4YW1wbGUsIHRoZSBvdXRjb21lIG9mIGFuIGVkdWNhdGlvbiBhY3Rpdml0eSBjb3VsZCBiZSBwYXRpZW50IHVuZGVyc3RhbmRzIChvciBub3QpLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgc2hvdWxkIG5vdCBkdXBsaWNhdGUgdGhlIGFjdGl2aXR5IHN0YXR1cyAoZS5nLiBjb21wbGV0ZWQgb3IgaW4gcHJvZ3Jlc3MpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5T3V0Y29tZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIHJlc3VsdHMgb2YgdGhlIGFjdGl2aXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXBwb2ludG1lbnQsIEVuY291bnRlciwgUHJvY2VkdXJlLCBldGMuIiBkZWZpbml0aW9uPSJEZXRhaWxzIG9mIHRoZSBvdXRjb21lIG9yIGFjdGlvbiByZXN1bHRpbmcgZnJvbSB0aGUgYWN0aXZpdHkuICBUaGUgcmVmZXJlbmNlIHRvIGFuICZxdW90O2V2ZW50JnF1b3Q7IHJlc291cmNlLCBzdWNoIGFzIFByb2NlZHVyZSBvciBFbmNvdW50ZXIgb3IgT2JzZXJ2YXRpb24sIGlzIHRoZSByZXN1bHQvb3V0Y29tZSBvZiB0aGUgYWN0aXZpdHkgaXRzZWxmLiAgVGhlIGFjdGl2aXR5IGNhbiBiZSBjb252ZXllZCB1c2luZyBDYXJlUGxhbi5hY3Rpdml0eS5kZXRhaWwgT1IgdXNpbmcgdGhlIENhcmVQbGFuLmFjdGl2aXR5LnJlZmVyZW5jZSAoYSByZWZlcmVuY2UgdG8gYSDigJxyZXF1ZXN04oCdIHJlc291cmNlKS4iIGNvbW1lbnQ9IlRoZSBhY3Rpdml0eSBvdXRjb21lIGlzIGluZGVwZW5kZW50IG9mIHRoZSBvdXRjb21lIG9mIHRoZSByZWxhdGVkIGdvYWwocykuICBGb3IgZXhhbXBsZSwgaWYgdGhlIGdvYWwgaXMgdG8gYWNoaWV2ZSBhIHRhcmdldCBib2R5IHdlaWdodCBvZiAxNTAgbGJzIGFuZCBhbiBhY3Rpdml0eSBpcyBkZWZpbmVkIHRvIGRpZXQsIHRoZW4gdGhlIGFjdGl2aXR5IG91dGNvbWUgY291bGQgYmUgY2Fsb3JpZXMgY29uc3VtZWQgd2hlcmVhcyB0aGUgZ29hbCBvdXRjb21lIGlzIGFuIG9ic2VydmF0aW9uIGZvciB0aGUgYWN0dWFsIGJvZHkgd2VpZ2h0IG1lYXN1cmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3Jlc3MiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgYWN0aXZpdHkgc3RhdHVzL3Byb2dyZXNzIiBkZWZpbml0aW9uPSJOb3RlcyBhYm91dCB0aGUgYWRoZXJlbmNlL3N0YXR1cy9wcm9ncmVzcyBvZiB0aGUgYWN0aXZpdHkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgc2hvdWxkIE5PVCBiZSB1c2VkIHRvIGRlc2NyaWJlIHRoZSBhY3Rpdml0eSB0byBiZSBwZXJmb3JtZWQgLSB0aGF0IG9jY3VycyBlaXRoZXIgd2l0aGluIHRoZSByZXNvdXJjZSBwb2ludGVkIHRvIGJ5IGFjdGl2aXR5LmRldGFpbC5yZWZlcmVuY2Ugb3IgaW4gYWN0aXZpdHkuZGV0YWlsLmRlc2NyaXB0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBY3Rpdml0eSBkZXRhaWxzIGRlZmluZWQgaW4gc3BlY2lmaWMgcmVzb3VyY2UiIGRlZmluaXRpb249IlRoZSBkZXRhaWxzIG9mIHRoZSBwcm9wb3NlZCBhY3Rpdml0eSByZXByZXNlbnRlZCBpbiBhIHNwZWNpZmljIHJlc291cmNlLiIgY29tbWVudD0iU3RhbmRhcmQgZXh0ZW5zaW9uIGV4aXN0cyAoW3Jlc291cmNlLXBlcnRhaW5zVG9Hb2FsXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1yZXNvdXJjZS1wZXJ0YWluc3RvZ29hbC5odG1sKSkgdGhhdCBhbGxvd3MgZ29hbHMgdG8gYmUgcmVmZXJlbmNlZCBmcm9tIGFueSBvZiB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZXMgaW4gQ2FyZVBsYW4uYWN0aXZpdHkucmVmZXJlbmNlLiAgJiN4ZDtUaGUgZ29hbCBzaG91bGQgYmUgdmlzaWJsZSB3aGVuIHRoZSByZXNvdXJjZSByZWZlcmVuY2VkIGJ5IENhcmVQbGFuLmFjdGl2aXR5LnJlZmVyZW5jZSBpcyB2aWV3ZWQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBDYXJlUGxhbi4gIFJlcXVlc3RzIHRoYXQgYXJlIHBvaW50ZWQgdG8gYnkgYSBDYXJlUGxhbiB1c2luZyB0aGlzIGVsZW1lbnQgc2hvdWxkICpub3QqIHBvaW50IHRvIHRoaXMgQ2FyZVBsYW4gdXNpbmcgdGhlICZxdW90O2Jhc2VkT24mcXVvdDsgZWxlbWVudC4gIGkuZS4gUmVxdWVzdHMgdGhhdCBhcmUgcGFydCBvZiBhIENhcmVQbGFuIGFyZSBub3QgJnF1b3Q7YmFzZWQgb24mcXVvdDsgdGhlIENhcmVQbGFuLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2FyZVBsYW4uQWN0aXZpdHkuRGV0YWlsIiBkZXNjcmlwdGlvbj0iSW4tbGluZSBkZWZpbml0aW9uIG9mIGFjdGl2aXR5IiBkZWZpbml0aW9uPSJBIHNpbXBsZSBzdW1tYXJ5IG9mIGEgcGxhbm5lZCBhY3Rpdml0eSBzdWl0YWJsZSBmb3IgYSBnZW5lcmFsIGNhcmUgcGxhbiBzeXN0ZW0gKGUuZy4gZm9ybSBkcml2ZW4pIHRoYXQgZG9lc24ndCBrbm93IGFib3V0IHNwZWNpZmljIHJlc291cmNlcyBzdWNoIGFzIHByb2NlZHVyZSBldGMuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVQbGFuLkFjdGl2aXR5LkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ia2luZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlUGxhbkFjdGl2aXR5S2luZCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBvaW50bWVudCB8IENvbW11bmljYXRpb25SZXF1ZXN0IHwgRGV2aWNlUmVxdWVzdCB8IE1lZGljYXRpb25SZXF1ZXN0IHwgTnV0cml0aW9uT3JkZXIgfCBUYXNrIHwgU2VydmljZVJlcXVlc3QgfCBWaXNpb25QcmVzY3JpcHRpb24iIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb2YgdGhlIGtpbmQgb2YgcmVzb3VyY2UgdGhlIGluLWxpbmUgZGVmaW5pdGlvbiBvZiBhIGNhcmUgcGxhbiBhY3Rpdml0eSBpcyByZXByZXNlbnRpbmcuICBUaGUgQ2FyZVBsYW4uYWN0aXZpdHkuZGV0YWlsIGlzIGFuIGluLWxpbmUgZGVmaW5pdGlvbiB3aGVuIGEgcmVzb3VyY2UgaXMgbm90IHJlZmVyZW5jZWQgdXNpbmcgQ2FyZVBsYW4uYWN0aXZpdHkucmVmZXJlbmNlLiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QsIGEgU2VydmljZVJlcXVlc3QsIG9yIGEgQ29tbXVuaWNhdGlvblJlcXVlc3QuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eUtpbmQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZSB0eXBlcyBkZWZpbmVkIGFzIHBhcnQgb2YgRkhJUiB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBhcyBpbi1saW5lIGRlZmluaXRpb25zIG9mIGEgY2FyZSBwbGFuIGFjdGl2aXR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4gYWN0aXZpdHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIHF1ZXN0aW9ubmFpcmUgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENhcmVQbGFuIGFjdGl2aXR5LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXRhaWwgdHlwZSBvZiBhY3Rpdml0eSIgZGVmaW5pdGlvbj0iRGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIHR5cGUgb2YgcGxhbm5lZCBhY3Rpdml0eTsgZS5nLiB3aGF0IGxhYiB0ZXN0LCB3aGF0IHByb2NlZHVyZSwgd2hhdCBraW5kIG9mIGVuY291bnRlci4iIGNvbW1lbnQ9IlRlbmRzIHRvIGJlIGxlc3MgcmVsZXZhbnQgZm9yIGFjdGl2aXRpZXMgaW52b2x2aW5nIHBhcnRpY3VsYXIgcHJvZHVjdHMuICBDb2RlcyBzaG91bGQgbm90IGNvbnZleSBuZWdhdGlvbiAtIHVzZSAmcXVvdDtwcm9oaWJpdGVkJnF1b3Q7IGluc3RlYWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eVR5cGUiIGRlc2NyaXB0aW9uPSJEZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgdHlwZSBvZiBhY3Rpdml0eTsgZS5nLiBXaGF0IGxhYiB0ZXN0LCB3aGF0IHByb2NlZHVyZSwgd2hhdCBraW5kIG9mIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBhY3Rpdml0eSBzaG91bGQgYmUgZG9uZSBvciB3aHkgYWN0aXZpdHkgd2FzIHByb2hpYml0ZWQiIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByYXRpb25hbGUgdGhhdCBkcm92ZSB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgcGFydGljdWxhciBhY3Rpdml0eSBhcyBwYXJ0IG9mIHRoZSBwbGFuIG9yIHRoZSByZWFzb24gd2h5IHRoZSBhY3Rpdml0eSB3YXMgcHJvaGliaXRlZC4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gIElmIGEgZnVsbCBjb25kaXRpb24gcmVjb3JkIGV4aXN0cyBvciBhZGRpdGlvbmFsIGRldGFpbCBpcyBuZWVkZWQsIHVzZSByZWFzb25Db25kaXRpb24gaW5zdGVhZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eVJlYXNvbiIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2h5IGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIG5lZWRlZC4gIENhbiBpbmNsdWRlIGFueSBoZWFsdGggY29uZGl0aW9uIGNvZGVzIGFzIHdlbGwgYXMgc3VjaCBjb25jZXB0cyBhcyAmcXVvdDtnZW5lcmFsIHdlbGxuZXNzJnF1b3Q7LCBwcm9waHlsYXhpcywgc3VyZ2ljYWwgcHJlcGFyYXRpb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IGFjdGl2aXR5IGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2UsIHN1Y2ggYXMgdGhlIGhlYWx0aCBjb25kaXRpb24ocyksIHdob3NlIGV4aXN0ZW5jZSBqdXN0aWZpZXMgdGhpcyByZXF1ZXN0IGFuZCBkcm92ZSB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgcGFydGljdWxhciBhY3Rpdml0eSBhcyBwYXJ0IG9mIHRoZSBwbGFuLiIgY29tbWVudD0iQ29uZGl0aW9ucyBjYW4gYmUgaWRlbnRpZmllZCBhdCB0aGUgYWN0aXZpdHkgbGV2ZWwgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgcmVhc29ucyBmb3IgdGhlIG92ZXJhbGwgcGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImdvYWwiIGRlc2NyaXB0aW9uPSJHb2FscyB0aGlzIGFjdGl2aXR5IHJlbGF0ZXMgdG8iIGRlZmluaXRpb249IkludGVybmFsIHJlZmVyZW5jZSB0aGF0IGlkZW50aWZpZXMgdGhlIGdvYWxzIHRoYXQgdGhpcyBhY3Rpdml0eSBpcyBpbnRlbmRlZCB0byBjb250cmlidXRlIHRvd2FyZHMgbWVldGluZy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im5vdC1zdGFydGVkIHwgc2NoZWR1bGVkIHwgaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgY2FuY2VsbGVkIHwgc3RvcHBlZCB8IHVua25vd24gfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoYXQgcHJvZ3Jlc3MgaXMgYmVpbmcgbWFkZSBmb3IgdGhlIHNwZWNpZmljIGFjdGl2aXR5LiIgY29tbWVudD0iU29tZSBhc3BlY3RzIG9mIHN0YXR1cyBjYW4gYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIHJlc291cmNlcyBsaW5rZWQgaW4gYWN0aW9uVGFrZW4uICBOb3RlIHRoYXQgJnF1b3Q7c3RhdHVzJnF1b3Q7IGlzIG9ubHkgYXMgY3VycmVudCBhcyB0aGUgcGxhbiB3YXMgbW9zdCByZWNlbnRseSB1cGRhdGVkLiAgJiN4YTtUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSBjYXJlIHBsYW4gYWN0aXZpdHkgd2l0aGluIGl0cyBvdmVyYWxsIGxpZmUgY3ljbGUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IlByb3ZpZGVzIHJlYXNvbiB3aHkgdGhlIGFjdGl2aXR5IGlzbid0IHlldCBzdGFydGVkLCBpcyBvbiBob2xkLCB3YXMgY2FuY2VsbGVkLCBldGMuIiBjb21tZW50PSJXaWxsIGdlbmVyYWxseSBub3QgYmUgcHJlc2VudCBpZiBzdGF0dXMgaXMgJnF1b3Q7Y29tcGxldGUmcXVvdDsuICBCZSBzdXJlIHRvIHByb21wdCB0byB1cGRhdGUgdGhpcyAob3IgYXQgbGVhc3QgcmVtb3ZlIHRoZSBleGlzdGluZyB2YWx1ZSkgaWYgdGhlIHN0YXR1cyBpcyBjaGFuZ2VkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJZiB0cnVlLCBhY3Rpdml0eSBpcyBwcm9oaWJpdGluZyBhY3Rpb24iIGRlZmluaXRpb249IklmIHRydWUsIGluZGljYXRlcyB0aGF0IHRoZSBkZXNjcmliZWQgYWN0aXZpdHkgaXMgb25lIHRoYXQgbXVzdCBOT1QgYmUgZW5nYWdlZCBpbiB3aGVuIGZvbGxvd2luZyB0aGUgcGxhbi4gIElmIGZhbHNlLCBvciBtaXNzaW5nLCBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVzY3JpYmVkIGFjdGl2aXR5IGlzIG9uZSB0aGF0IHNob3VsZCBiZSBlbmdhZ2VkIGluIHdoZW4gZm9sbG93aW5nIHRoZSBwbGFuLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIGl0IG1hcmtzIGFuIGFjdGl2aXR5IGFzIGFuIGFjdGl2aXR5IHRoYXQgaXMgbm90IHRvIGJlIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2NoZWR1bGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gYWN0aXZpdHkgaXMgdG8gb2NjdXIiIGRlZmluaXRpb249IlRoZSBwZXJpb2QsIHRpbWluZyBvciBmcmVxdWVuY3kgdXBvbiB3aGljaCB0aGUgZGVzY3JpYmVkIGFjdGl2aXR5IGlzIHRvIG9jY3VyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgaXQgc2hvdWxkIGhhcHBlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgZmFjaWxpdHkgd2hlcmUgdGhlIGFjdGl2aXR5IHdpbGwgb2NjdXI7IGUuZy4gaG9tZSwgaG9zcGl0YWwsIHNwZWNpZmljIGNsaW5pYywgZXRjLiIgY29tbWVudD0iTWF5IHJlZmVyZW5jZSBhIHNwZWNpZmljIGNsaW5pY2FsIGxvY2F0aW9uIG9yIG1heSBpZGVudGlmeSBhIHR5cGUgb2YgbG9jYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyB3aWxsIGJlIHJlc3BvbnNpYmxlPyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB3aG8ncyBleHBlY3RlZCB0byBiZSBpbnZvbHZlZCBpbiB0aGUgYWN0aXZpdHkuIiBjb21tZW50PSJBIHBlcmZvcm1lciBNQVkgYWxzbyBiZSBhIHBhcnRpY2lwYW50IGluIHRoZSBjYXJlIHBsYW4uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgaXMgdG8gYmUgYWRtaW5pc3RlcmVkL3N1cHBsaWVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBmb29kLCBkcnVnIG9yIG90aGVyIHByb2R1Y3QgdG8gYmUgY29uc3VtZWQgb3Igc3VwcGxpZWQgaW4gdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuUHJvZHVjdCIgZGVzY3JpcHRpb249IkEgcHJvZHVjdCBzdXBwbGllZCBvciBhZG1pbmlzdGVyZWQgYXMgcGFydCBvZiBhIGNhcmUgcGxhbiBhY3Rpdml0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGFpbHlBbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IHRvIGNvbnN1bWUvZGF5PyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcXVhbnRpdHkgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgaW4gYSBnaXZlbiBkYXkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBtdWNoIHRvIGFkbWluaXN0ZXIvc3VwcGx5L2NvbnN1bWUiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHF1YW50aXR5IGV4cGVjdGVkIHRvIGJlIHN1cHBsaWVkLCBhZG1pbmlzdGVyZWQgb3IgY29uc3VtZWQgYnkgdGhlIHN1YmplY3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRyYSBpbmZvIGRlc2NyaWJpbmcgYWN0aXZpdHkgdG8gcGVyZm9ybSIgZGVmaW5pdGlvbj0iVGhpcyBwcm92aWRlcyBhIHRleHR1YWwgZGVzY3JpcHRpb24gb2YgY29uc3RyYWludHMgb24gdGhlIGludGVuZGVkIGFjdGl2aXR5IG9jY3VycmVuY2UsIGluY2x1ZGluZyByZWxhdGlvbiB0byBvdGhlciBhY3Rpdml0aWVzLiAgSXQgbWF5IGFsc28gaW5jbHVkZSBvYmplY3RpdmVzLCBwcmUtY29uZGl0aW9ucyBhbmQgZW5kLWNvbmRpdGlvbnMuICBGaW5hbGx5LCBpdCBtYXkgY29udmV5IHNwZWNpZmljcyBhYm91dCB0aGUgYWN0aXZpdHkgc3VjaCBhcyBib2R5IHNpdGUsIG1ldGhvZCwgcm91dGUsIGV0Yy4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eUtpbmQiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlVGVhbSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY2FyZXRlYW0iIGxhYmVsPSJRSUNvcmUgQ2FyZVRlYW0iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5Ij4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkcyBmb3IgdGhpcyB0ZWFtIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNhcmUgdGVhbSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByb3Bvc2VkIHwgYWN0aXZlIHwgc3VzcGVuZGVkIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhcmUgdGVhbS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrcyB0aGUgY2FyZSB0ZWFtIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGVhbSBpcyBjdXJyZW50ICwgcmVwcmVzZW50cyBmdXR1cmUgaW50ZW50aW9ucyBvciBpcyBub3cgYSBoaXN0b3JpY2FsIHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiB0ZWFtIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoYXQga2luZCBvZiB0ZWFtLiAgVGhpcyBpcyB0byBzdXBwb3J0IGRpZmZlcmVudGlhdGlvbiBiZXR3ZWVuIG11bHRpcGxlIGNvLWV4aXN0aW5nIHRlYW1zLCBzdWNoIGFzIGNhcmUgcGxhbiB0ZWFtLCBlcGlzb2RlIG9mIGNhcmUgdGVhbSwgbG9uZ2l0dWRpbmFsIGNhcmUgdGVhbS4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGlzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgdGVhbSBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgY2FyZSB0ZWFtLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHRoZSB0ZWFtLCBzdWNoIGFzIGNyaXNpcyBhc3Nlc3NtZW50IHRlYW0iIGRlZmluaXRpb249IkEgbGFiZWwgZm9yIGh1bWFuIHVzZSBpbnRlbmRlZCB0byBkaXN0aW5ndWlzaCBsaWtlIHRlYW1zLiAgRS5nLiB0aGUgJnF1b3Q7cmVkJnF1b3Q7IHZzLiAmcXVvdDtncmVlbiZxdW90OyB0cmF1bWEgdGVhbXMuIiBjb21tZW50PSJUaGUgbWVhbmluZy9wdXJwb3NlIG9mIHRoZSB0ZWFtIGlzIGNvbnZleWVkIGluIENhcmVUZWFtLmNhdGVnb3J5LiAgVGhpcyBlbGVtZW50IG1heSBhbHNvIGNvbnZleSBzZW1hbnRpY3Mgb2YgdGhlIHRlYW0gKGUuZy4gJnF1b3Q7UmVkIHRyYXVtYSB0ZWFtJnF1b3Q7KSwgYnV0IGl0cyBwcmltYXJ5IHB1cnBvc2UgaXMgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBpZGVudGljYWwgdGVhbXMgaW4gYSBodW1hbi1mcmllbmRseSB3YXkuICAoJnF1b3Q7VGVhbSAxODczNSZxdW90OyBpc24ndCBhcyBmcmllbmRseS4pLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBjYXJlIHRlYW0gaXMgZm9yIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdob3NlIGludGVuZGVkIGNhcmUgaXMgaGFuZGxlZCBieSB0aGUgdGVhbS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCB0aGlzIENhcmVUZWFtIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2QgdGVhbSBjb3ZlcnMiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVuIHRoZSB0ZWFtIGRpZCAob3IgaXMgaW50ZW5kZWQgdG8pIGNvbWUgaW50byBlZmZlY3QgYW5kIGVuZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSJNZW1iZXJzIG9mIHRoZSB0ZWFtIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGFsbCBwZW9wbGUgYW5kIG9yZ2FuaXphdGlvbnMgd2hvIGFyZSBleHBlY3RlZCB0byBiZSBpbnZvbHZlZCBpbiB0aGUgY2FyZSB0ZWFtLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlVGVhbS5QYXJ0aWNpcGFudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImN0bS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkNhcmVUZWFtLnBhcnRpY2lwYW50Lm9uQmVoYWxmT2YgY2FuIG9ubHkgYmUgcG9wdWxhdGVkIHdoZW4gQ2FyZVRlYW0ucGFydGljaXBhbnQubWVtYmVyIGlzIGEgUHJhY3RpdGlvbmVyIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9uQmVoYWxmT2YuZXhpc3RzKCkgaW1wbGllcyAobWVtYmVyLnJlc29sdmUoKS5paWYoZW1wdHkoKSwgdHJ1ZSwgb2ZUeXBlKFByYWN0aXRpb25lcikuZXhpc3RzKCkpKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgY2FyZSB0ZWFtIGV4aXN0cyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoeSB0aGUgY2FyZSB0ZWFtIGV4aXN0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVRlYW1SZWFzb24iIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGNhcmUgdGVhbS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSBjYXJlIHRlYW0gZXhpc3RzIiBkZWZpbml0aW9uPSJDb25kaXRpb24ocykgdGhhdCB0aGlzIGNhcmUgdGVhbSBhZGRyZXNzZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW5hZ2luZ09yZ2FuaXphdGlvbiIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbSIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgY2FyZSB0ZWFtICh0aGF0IGFwcGxpZXMgdG8gYWxsIG1lbWJlcnMpIiBkZWZpbml0aW9uPSJBIGNlbnRyYWwgY29udGFjdCBkZXRhaWwgZm9yIHRoZSBjYXJlIHRlYW0gKHRoYXQgYXBwbGllcyB0byBhbGwgbWVtYmVycykuIiBjb21tZW50PSJUaGUgQ29udGFjdFBvaW50LnVzZSBjb2RlIG9mIGhvbWUgaXMgbm90IGFwcHJvcHJpYXRlIHRvIHVzZS4gVGhlc2UgY29udGFjdHMgYXJlIG5vdCB0aGUgY29udGFjdCBkZXRhaWxzIG9mIGluZGl2aWR1YWwgY2FyZSB0ZWFtIG1lbWJlcnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUgQ2FyZVRlYW0iIGRlZmluaXRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIENhcmVUZWFtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9Im1lbWJlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ibWVtYmVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ibWVtYmVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVUZWFtLlBhcnRpY2lwYW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyb2xlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGludm9sdmVtZW50IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IGNhcmUgcGh5c2ljaWFuJnF1b3Q7LCAmcXVvdDtUcmFpbmVkIHNvY2lhbCB3b3JrZXIgY291bnNlbG9yJnF1b3Q7LCAmcXVvdDtDYXJlZ2l2ZXImcXVvdDssIGV0Yy4iIGNvbW1lbnQ9IlJvbGVzIG1heSBzb21ldGltZXMgYmUgaW5mZXJyZWQgYnkgdHlwZSBvZiBQcmFjdGl0aW9uZXIuICBUaGVzZSBhcmUgcmVsYXRpb25zaGlwcyB0aGF0IGhvbGQgb25seSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIGNhcmUgdGVhbS4gIEdlbmVyYWwgcmVsYXRpb25zaGlwcyBzaG91bGQgYmUgaGFuZGxlZCBhcyBwcm9wZXJ0aWVzIG9mIHRoZSBQYXRpZW50IHJlc291cmNlIGRpcmVjdGx5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgUHJpbWFyeSBwaHlzaWNpYW4sIFRlYW0gY29vcmRpbmF0b3IsIENhcmVnaXZlciwgZXRjLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZW1iZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIGludm9sdmVkIiBkZWZpbml0aW9uPSJUaGUgc3BlY2lmaWMgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiB3aG8gaXMgcGFydGljaXBhdGluZy9leHBlY3RlZCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgY2FyZSB0ZWFtLiIgY29tbWVudD0iUGF0aWVudCBvbmx5IG5lZWRzIHRvIGJlIGxpc3RlZCBpZiB0aGV5IGhhdmUgYSByb2xlIG90aGVyIHRoYW4gJnF1b3Q7c3ViamVjdCBvZiBjYXJlJnF1b3Q7LiYjeGE7JiN4YTtNZW1iZXIgaXMgb3B0aW9uYWwgYmVjYXVzZSBzb21lIHBhcnRpY2lwYW50cyBtYXkgYmUga25vd24gb25seSBieSB0aGVpciByb2xlLCBwYXJ0aWN1bGFybHkgaW4gZHJhZnQgcGxhbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvbkJlaGFsZk9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiBvZiB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIG9mIHRoZSBwcmFjdGl0aW9uZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBvZiBwYXJ0aWNpcGFudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHNwZWNpZmljIG1lbWJlciBvciBvcmdhbml6YXRpb24gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jbGFpbSIgbGFiZWw9IlFJQ29yZSBDbGFpbSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBjbGFpbSIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNsYWltLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBjYW5jZWxsZWQgfCBkcmFmdCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9yIGRpc2NpcGxpbmUiIGRlZmluaXRpb249IlRoZSBjYXRlZ29yeSBvZiBjbGFpbSwgZS5nLiBvcmFsLCBwaGFybWFjeSwgdmlzaW9uLCBpbnN0aXR1dGlvbmFsLCBwcm9mZXNzaW9uYWwuIiBjb21tZW50PSJUaGUgbWFqb3JpdHkgb2YganVyaXNkaWN0aW9ucyB1c2U6IG9yYWwsIHBoYXJtYWN5LCB2aXNpb24sIHByb2Zlc3Npb25hbCBhbmQgaW5zdGl0dXRpb25hbCwgb3IgdmFyaWFudHMgb24gdGhvc2UgdGVybXMsIGFzIHRoZSBnZW5lcmFsIHN0eWxlcyBvZiBjbGFpbXMuIFRoZSB2YWx1ZXNldCBpcyBleHRlbnNpYmxlIHRvIGFjY29tbW9kYXRlIG90aGVyIGp1cmlzZGljdGlvbmFsIHJlcXVpcmVtZW50cy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvciBkaXNjaXBsaW5lLXN0eWxlIG9mIHRoZSBjbGFpbS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3ViVHlwZSIgZGVzY3JpcHRpb249IkEgbW9yZSBncmFudWxhciBjbGFpbSB0eXBlY29kZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjbGFpbSB8IHByZWF1dGhvcml6YXRpb24gfCBwcmVkZXRlcm1pbmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgbmF0dXJlIG9mIHRoZSByZXF1ZXN0IGlzOiB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBvZiBwcm9kdWN0cyBhbmQgc2VydmljZXMgcHJldmlvdXNseSByZW5kZXJlZDsgb3IgcmVxdWVzdGluZyBhdXRob3JpemF0aW9uIGFuZCBhZGp1ZGljYXRpb24gZm9yIHByb3Zpc2lvbiBpbiB0aGUgZnV0dXJlOyBvciByZXF1ZXN0aW5nIHRoZSBub24tYmluZGluZyBhZGp1ZGljYXRpb24gb2YgdGhlIGxpc3RlZCBwcm9kdWN0cyBhbmQgc2VydmljZXMgd2hpY2ggY291bGQgYmUgcHJvdmlkZWQgaW4gdGhlIGZ1dHVyZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJVc2UiIGRlc2NyaXB0aW9uPSJUaGUgcHVycG9zZSBvZiB0aGUgQ2xhaW06IHByZWRldGVybWluYXRpb24sIHByZWF1dGhvcml6YXRpb24sIGNsYWltLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcmVjaXBpZW50IG9mIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMiIGRlZmluaXRpb249IlRoZSBwYXJ0eSB0byB3aG9tIHRoZSBwcm9mZXNzaW9uYWwgc2VydmljZXMgYW5kL29yIHByb2R1Y3RzIGhhdmUgYmVlbiBzdXBwbGllZCBvciBhcmUgYmVpbmcgY29uc2lkZXJlZCBhbmQgZm9yIHdob20gYWN0dWFsIG9yIGZvcmVjYXN0IHJlaW1idXJzZW1lbnQgaXMgc291Z2h0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmlsbGFibGVQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVsZXZhbnQgdGltZSBmcmFtZSBmb3IgdGhlIGNsYWltIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGZvciB3aGljaCBjaGFyZ2VzIGFyZSBiZWluZyBzdWJtaXR0ZWQuIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyB3b3VsZCBiZSB0b2RheSBvciBpbiB0aGUgcGFzdCBmb3IgYSBjbGFpbSwgYW5kIHRvZGF5IG9yIGluIHRoZSBmdXR1cmUgZm9yIHByZWF1dGhvcml6YXRpb25zIGFuZCBwcmVkZXRlcm1pbmF0aW9ucy4gVHlwaWNhbGx5IGxpbmUgaXRlbSBkYXRlcyBvZiBzZXJ2aWNlIHNob3VsZCBmYWxsIHdpdGhpbiB0aGUgYmlsbGluZyBwZXJpb2QgaWYgb25lIGlzIHNwZWNpZmllZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVzb3VyY2UgY3JlYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhpcyByZXNvdXJjZSB3YXMgY3JlYXRlZC4iIGNvbW1lbnQ9IlRoaXMgZmllbGQgaXMgaW5kZXBlbmRlbnQgb2YgdGhlIGRhdGUgb2YgY3JlYXRpb24gb2YgdGhlIHJlc291cmNlIGFzIGl0IG1heSByZWZsZWN0IHRoZSBjcmVhdGlvbiBkYXRlIG9mIGEgc291cmNlIGRvY3VtZW50IHByaW9yIHRvIGRpZ2l0aXphdGlvbi4gVHlwaWNhbGx5IGZvciBjbGFpbXMgYWxsIHNlcnZpY2VzIG11c3QgYmUgY29tcGxldGVkIGFzIG9mIHRoaXMgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVudGVyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXV0aG9yIG9mIHRoZSBjbGFpbSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gY3JlYXRlZCB0aGUgY2xhaW0sIHByZWRldGVybWluYXRpb24gb3IgcHJlYXV0aG9yaXphdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUYXJnZXQiIGRlZmluaXRpb249IlRoZSBJbnN1cmVyIHdobyBpcyB0YXJnZXQgb2YgdGhlIHJlcXVlc3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb3ZpZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBhcnR5IHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0iIGRlZmluaXRpb249IlRoZSBwcm92aWRlciB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltLCBwcmVkZXRlcm1pbmF0aW9uIG9yIHByZWF1dGhvcml6YXRpb24uIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyBmaWVsZCB3b3VsZCBiZSAxLi4xIHdoZXJlIHRoaXMgcGFydHkgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSBidXQgbm90IG5lY2Vzc2FyaWx5IHByb2Zlc3Npb25hbGx5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBpbmRpdmlkdWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBwcm9jZXNzaW5nIHVnZW5jeSIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVyLXJlcXVpcmVkIHVyZ2VuY3kgb2YgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gVHlwaWNhbCB2YWx1ZXMgaW5jbHVkZTogc3RhdCwgcm91dGluZSBkZWZlcnJlZC4iIGNvbW1lbnQ9IklmIGEgY2xhaW0gcHJvY2Vzc29yIGlzIHVuYWJsZSB0byBjb21wbGV0ZSB0aGUgcHJvY2Vzc2luZyBhcyBwZXIgdGhlIHByaW9yaXR5IHRoZW4gdGhleSBzaG91bGQgZ2VuZXJhdGUgYW5kIGVycm9yIGFuZCBub3QgcHJvY2VzcyB0aGUgcmVxdWVzdC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZXNzUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZWxpbmVzcyB3aXRoIHdoaWNoIHByb2Nlc3NpbmcgaXMgcmVxdWlyZWQ6IHN0YXQsIG5vcm1hbCwgZGVmZXJyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmRzUmVzZXJ2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gdG8gcmVzZXJ2ZSBmdW5kcyIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIHdoZXRoZXIgYW5kIGZvciB3aG9tIGZ1bmRzIGFyZSB0byBiZSByZXNlcnZlZCBmb3IgZnV0dXJlIGNsYWltcy4iIGNvbW1lbnQ9IlRoaXMgZmllbGQgaXMgb25seSB1c2VkIGZvciBwcmVhdXRob3JpemF0aW9ucy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGdW5kc1Jlc2VydmUiIGRlc2NyaXB0aW9uPSJGb3Igd2hvbSBmdW5kcyBhcmUgdG8gYmUgcmVzZXJ2ZWQ6IChQYXRpZW50LCBQcm92aWRlciwgTm9uZSkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0ZWQiIGRlc2NyaXB0aW9uPSJQcmlvciBvciBjb3JvbGxhcnkgY2xhaW1zIiBkZWZpbml0aW9uPSJPdGhlciBjbGFpbXMgd2hpY2ggYXJlIHJlbGF0ZWQgdG8gdGhpcyBjbGFpbSBzdWNoIGFzIHByaW9yIHN1Ym1pc3Npb25zIG9yIGNsYWltcyBmb3IgcmVsYXRlZCBzZXJ2aWNlcyBvciBmb3IgdGhlIHNhbWUgZXZlbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgIGZvciB0aGUgb3JpZ2luYWwgdHJlYXRtZW50IGFuZCBmb2xsb3ctdXAgZXhhbXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uUmVsYXRlZCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlByZXNjcmlwdGlvbiBhdXRob3JpemluZyBzZXJ2aWNlcyBhbmQgcHJvZHVjdHMiIGRlZmluaXRpb249IlByZXNjcmlwdGlvbiB0byBzdXBwb3J0IHRoZSBkaXNwZW5zaW5nIG9mIHBoYXJtYWN5LCBkZXZpY2Ugb3IgdmlzaW9uIHByb2R1Y3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JpZ2luYWxQcmVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JpZ2luYWwgcHJlc2NyaXB0aW9uIGlmIHN1cGVyc2VkZWQgYnkgZnVsZmlsbGVyIiBkZWZpbml0aW9uPSJPcmlnaW5hbCBwcmVzY3JpcHRpb24gd2hpY2ggaGFzIGJlZW4gc3VwZXJzZWRlZCBieSB0aGlzIHByZXNjcmlwdGlvbiB0byBzdXBwb3J0IHRoZSBkaXNwZW5zaW5nIG9mIHBoYXJtYWN5IHNlcnZpY2VzLCBtZWRpY2F0aW9ucyBvciBwcm9kdWN0cy4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCBhIHBoeXNpY2lhbiBtYXkgcHJlc2NyaWJlIGEgbWVkaWNhdGlvbiB3aGljaCB0aGUgcGhhcm1hY3kgZGV0ZXJtaW5lcyBpcyBjb250cmFpbmRpY2F0ZWQsIG9yIGZvciB3aGljaCB0aGUgcGF0aWVudCBoYXMgYW4gaW50b2xlcmFuY2UsIGFuZCB0aGVyZWZvcmUgaXNzdWVzIGEgbmV3IHByZXNjcmlwdGlvbiBmb3IgYW4gYWx0ZXJuYXRlIG1lZGljYXRpb24gd2hpY2ggaGFzIHRoZSBzYW1lIHRoZXJhcGV1dGljIGludGVudC4gVGhlIHByZXNjcmlwdGlvbiBmcm9tIHRoZSBwaGFybWFjeSBiZWNvbWVzIHRoZSAncHJlc2NyaXB0aW9uJyBhbmQgdGhhdCBmcm9tIHRoZSBwaHlzaWNpYW4gYmVjb21lcyB0aGUgJ29yaWdpbmFsIHByZXNjcmlwdGlvbicuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBheWVlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLlBheWVlIiBkZXNjcmlwdGlvbj0iUmVjaXBpZW50IG9mIGJlbmVmaXRzIHBheWFibGUiIGRlZmluaXRpb249IlRoZSBwYXJ0eSB0byBiZSByZWltYnVyc2VkIGZvciBjb3N0IG9mIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgYWNjb3JkaW5nIHRvIHRoZSB0ZXJtcyBvZiB0aGUgcG9saWN5LiIgY29tbWVudD0iT2Z0ZW4gcHJvdmlkZXJzIGFncmVlIHRvIHJlY2VpdmUgdGhlIGJlbmVmaXRzIHBheWFibGUgdG8gcmVkdWNlIHRoZSBuZWFyLXRlcm0gY29zdHMgdG8gdGhlIHBhdGllbnQuIFRoZSBpbnN1cmVyIG1heSBkZWNsaW5lIHRvIHBheSB0aGUgcHJvdmlkZXIgYW5kIGNob29zZSB0byBwYXkgdGhlIHN1YnNjcmliZXIgaW5zdGVhZC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcnJhbCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUcmVhdG1lbnQgcmVmZXJyYWwiIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgcmVmZXJyYWwgcmVzb3VyY2UuIiBjb21tZW50PSJUaGUgcmVmZXJyYWwgcmVzb3VyY2Ugd2hpY2ggbGlzdHMgdGhlIGRhdGUsIHByYWN0aXRpb25lciwgcmVhc29uIGFuZCBvdGhlciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY2lsaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNlcnZpY2luZyBmYWNpbGl0eSIgZGVmaW5pdGlvbj0iRmFjaWxpdHkgd2hlcmUgdGhlIHNlcnZpY2VzIHdlcmUgcHJvdmlkZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FyZVRlYW0iIGRlc2NyaXB0aW9uPSJNZW1iZXJzIG9mIHRoZSBjYXJlIHRlYW0iIGRlZmluaXRpb249IlRoZSBtZW1iZXJzIG9mIHRoZSB0ZWFtIHdobyBwcm92aWRlZCB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uQ2FyZVRlYW0iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iU3VwcG9ydGluZyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBjb2RlcyByZWdhcmRpbmcgZXhjZXB0aW9ucywgc3BlY2lhbCBjb25zaWRlcmF0aW9ucywgdGhlIGNvbmRpdGlvbiwgc2l0dWF0aW9uLCBwcmlvciBvciBjb25jdXJyZW50IGlzc3Vlcy4iIGNvbW1lbnQ9Ik9mdGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBqdXJpc2RpY3Rpb24gc3BlY2lmaWMgdmFsdWVzZXRzIHdoaWNoIGFyZSByZXF1aXJlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5TdXBwb3J0aW5nSW5mbyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhZ25vc2lzIiBkZXNjcmlwdGlvbj0iUGVydGluZW50IGRpYWdub3NpcyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgZGlhZ25vc2VzIHJlbGV2YW50IHRvIHRoZSBjbGFpbSBpdGVtcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5EaWFnbm9zaXMiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIHByb2NlZHVyZXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJQcm9jZWR1cmVzIHBlcmZvcm1lZCBvbiB0aGUgcGF0aWVudCByZWxldmFudCB0byB0aGUgYmlsbGluZyBpdGVtcyB3aXRoIHRoZSBjbGFpbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5Qcm9jZWR1cmUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IlBhdGllbnQgaW5zdXJhbmNlIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJGaW5hbmNpYWwgaW5zdHJ1bWVudHMgZm9yIHJlaW1idXJzZW1lbnQgZm9yIHRoZSBoZWFsdGggY2FyZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgc3BlY2lmaWVkIG9uIHRoZSBjbGFpbS4iIGNvbW1lbnQ9IkFsbCBpbnN1cmFuY2UgY292ZXJhZ2VzIGZvciB0aGUgcGF0aWVudCB3aGljaCBtYXkgYmUgYXBwbGljYWJsZSBmb3IgcmVpbWJ1cnNlbWVudCwgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgaW4gdGhlIGNsYWltLCBhcmUgdHlwaWNhbGx5IHByb3ZpZGVkIGluIHRoZSBjbGFpbSB0byBhbGxvdyBpbnN1cmVycyB0byBjb25maXJtIHRoZSBvcmRlcmluZyBvZiB0aGUgaW5zdXJhbmNlIGNvdmVyYWdlcyByZWxhdGl2ZSB0byBsb2NhbCAnY29vcmRpbmF0aW9uIG9mIGJlbmVmaXQnIHJ1bGVzLiBPbmUgY292ZXJhZ2UgKGFuZCBvbmx5IG9uZSkgd2l0aCAnZm9jYWw9dHJ1ZScgaXMgdG8gYmUgdXNlZCBpbiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgY2xhaW0uIENvdmVyYWdlcyBhcHBlYXJpbmcgYmVmb3JlIHRoZSBmb2NhbCBDb3ZlcmFnZSBpbiB0aGUgbGlzdCwgYW5kIHdoZXJlICdDb3ZlcmFnZS5zdWJyb2dhdGlvbj1mYWxzZScsIHNob3VsZCBwcm92aWRlIGEgcmVmZXJlbmNlIHRvIHRoZSBDbGFpbVJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGFkanVkaWNhdGlvbiByZXN1bHRzIG9mIHRoZSBwcmlvciBjbGFpbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JbnN1cmFuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjY2lkZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkFjY2lkZW50IiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiB0aGUgZXZlbnQiIGRlZmluaXRpb249IkRldGFpbHMgb2YgYW4gYWNjaWRlbnQgd2hpY2ggcmVzdWx0ZWQgaW4gaW5qdXJpZXMgd2hpY2ggcmVxdWlyZWQgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgaW4gdGhlIGNsYWltLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGxpbmUuIEVpdGhlciBhIHNpbXBsZSAgcHJvZHVjdCBvciBzZXJ2aWNlIG9yIGEgJ2dyb3VwJyBvZiBkZXRhaWxzIHdoaWNoIGNhbiBlYWNoIGJlIGEgc2ltcGxlIGl0ZW1zIG9yIGdyb3VwcyBvZiBzdWItZGV0YWlscy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0b3RhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGNsYWltIGNvc3QiIGRlZmluaXRpb249IlRoZSB0b3RhbCB2YWx1ZSBvZiB0aGUgYWxsIHRoZSBpdGVtcyBpbiB0aGUgY2xhaW0uIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVudGVyZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJvdmlkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGFydHkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJvdmlkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJ1ZGkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InVkaSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJ1ZGkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkFjY2lkZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgaW5jaWRlbnQgb2NjdXJyZWQiIGRlZmluaXRpb249IkRhdGUgb2YgYW4gYWNjaWRlbnQgZXZlbnQgIHJlbGF0ZWQgdG8gdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBjb250YWluZWQgaW4gdGhlIGNsYWltLiIgY29tbWVudD0iVGhlIGRhdGUgb2YgdGhlIGFjY2lkZW50IGhhcyB0byBwcmVjZWRlIHRoZSBkYXRlcyBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGJ1dCB3aXRoaW4gYSByZWFzb25hYmxlIHRpbWVmcmFtZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgYWNjaWRlbnQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9yIGNvbnRleHQgb2YgdGhlIGFjY2lkZW50IGV2ZW50IGZvciB0aGUgcHVycG9zZXMgb2Ygc2VsZWN0aW9uIG9mIHBvdGVudGlhbCBpbnN1cmFuY2UgY292ZXJhZ2VzIGFuZCBkZXRlcm1pbmF0aW9uIG9mIGNvb3JkaW5hdGlvbiBiZXR3ZWVuIGluc3VyZXJzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFjY2lkZW50VHlwZSIgZGVzY3JpcHRpb249IlR5cGUgb2YgYWNjaWRlbnQ6IHdvcmsgcGxhY2UsIGF1dG8sIGV0Yy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGV2ZW50IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgcGh5c2ljYWwgbG9jYXRpb24gb2YgdGhlIGFjY2lkZW50IGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uQ2FyZVRlYW0iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iT3JkZXIgb2YgY2FyZSB0ZWFtIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBjYXJlIHRlYW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvdmlkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iTWVtYmVyIG9mIHRoZSB0ZWFtIHdobyBwcm92aWRlZCB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3BvbnNpYmxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdG9yIG9mIHRoZSBsZWFkIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBpcyBiaWxsaW5nIGFuZC9vciByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltZWQgcHJvZHVjdHMgb3Igc2VydmljZXMuIiBjb21tZW50PSJSZXNwb25zaWJsZSBtaWdodCBub3QgYmUgcmVxdWlyZWQgd2hlbiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHByb3ZpZGVyIGxpc3RlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icm9sZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRnVuY3Rpb24gd2l0aGluIHRoZSB0ZWFtIiBkZWZpbml0aW9uPSJUaGUgbGVhZCwgYXNzaXN0aW5nIG9yIHN1cGVydmlzaW5nIHByYWN0aXRpb25lciBhbmQgdGhlaXIgZGlzY2lwbGluZSBpZiBhIG11bHRpZGlzY2lwbGluYXJ5IHRlYW0uIiBjb21tZW50PSJSb2xlIG1pZ2h0IG5vdCBiZSByZXF1aXJlZCB3aGVuIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgcHJvdmlkZXIgbGlzdGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtUm9sZSIgZGVzY3JpcHRpb249IlRoZSByb2xlIGNvZGVzIGZvciB0aGUgY2FyZSB0ZWFtIG1lbWJlcnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YWxpZmljYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByYWN0aXRpb25lciBjcmVkZW50aWFsIG9yIHNwZWNpYWxpemF0aW9uIiBkZWZpbml0aW9uPSJUaGUgcXVhbGlmaWNhdGlvbiBvZiB0aGUgcHJhY3RpdGlvbmVyIHdoaWNoIGlzIGFwcGxpY2FibGUgZm9yIHRoaXMgc2VydmljZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm92aWRlclF1YWxpZmljYXRpb24iIGRlc2NyaXB0aW9uPSJQcm92aWRlciBwcm9mZXNzaW9uYWwgcXVhbGlmaWNhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkRpYWdub3NpcyIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgaWRlbnRpZnkgZGlhZ25vc2lzIGVudHJpZXMuIiBjb21tZW50PSJEaWFnbm9zaXMgYXJlIHByZXNlbnRlZCBpbiBsaXN0IG9yZGVyIHRvIHRoZWlyIGV4cGVjdGVkIGltcG9ydGFuY2U6IHByaW1hcnksIHNlY29uZGFyeSwgZXRjLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTmF0dXJlIG9mIGlsbG5lc3Mgb3IgcHJvYmxlbSIgZGVmaW5pdGlvbj0iVGhlIG5hdHVyZSBvZiBpbGxuZXNzIG9yIHByb2JsZW0gaW4gYSBjb2RlZCBmb3JtIG9yIGFzIGEgcmVmZXJlbmNlIHRvIGFuIGV4dGVybmFsIGRlZmluZWQgQ29uZGl0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IklDRDEwIiBkZXNjcmlwdGlvbj0iRXhhbXBsZSBJQ0QxMCBEaWFnbm9zdGljIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltaW5nIG9yIG5hdHVyZSBvZiB0aGUgZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBjb25kaXRpb24gd2FzIG9ic2VydmVkIG9yIHRoZSByZWxhdGl2ZSByYW5raW5nLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IGFkbWl0dGluZywgcHJpbWFyeSwgc2Vjb25kYXJ5LCBkaXNjaGFyZ2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc1R5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgZGlhZ25vc2lzOiBhZG1pdHRpbmcsIHByaW5jaXBhbCwgZGlzY2hhcmdlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvbkFkbWlzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlc2VudCBvbiBhZG1pc3Npb24iIGRlZmluaXRpb249IkluZGljYXRpb24gb2Ygd2hldGhlciB0aGUgZGlhZ25vc2lzIHdhcyBwcmVzZW50IG9uIGFkbWlzc2lvbiB0byBhIGZhY2lsaXR5LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc09uQWRtaXNzaW9uIiBkZXNjcmlwdGlvbj0iUHJlc2VudCBvbiBhZG1pc3Npb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhY2thZ2VDb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYWNrYWdlIGJpbGxpbmcgY29kZSIgZGVmaW5pdGlvbj0iQSBwYWNrYWdlIGJpbGxpbmcgY29kZSBvciBidW5kbGUgY29kZSB1c2VkIHRvIGdyb3VwIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB0byBhIHBhcnRpY3VsYXIgaGVhbHRoIGNvbmRpdGlvbiAoc3VjaCBhcyBoZWFydCBhdHRhY2spIHdoaWNoIGlzIGJhc2VkIG9uIGEgcHJlZGV0ZXJtaW5lZCBncm91cGluZyBjb2RlIHN5c3RlbS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIERSRyAoRGlhZ25vc2lzIFJlbGF0ZWQgR3JvdXApIG9yIGEgYnVuZGxlZCBiaWxsaW5nIGNvZGUuIEEgcGF0aWVudCBtYXkgaGF2ZSBhIGRpYWdub3NpcyBvZiBhIE15b2NhcmRpYWwgSW5mYXJjdGlvbiBhbmQgYSBEUkcgZm9yIEhlYXJ0QXR0YWNrIHdvdWxkIGJlIGFzc2lnbmVkLiBUaGUgQ2xhaW0gaXRlbSAoYW5kIHBvc3NpYmxlIHN1YnNlcXVlbnQgY2xhaW1zKSB3b3VsZCByZWZlciB0byB0aGUgRFJHIGZvciB0aG9zZSBsaW5lIGl0ZW1zIHRoYXQgd2VyZSBmb3Igc2VydmljZXMgcmVsYXRlZCB0byB0aGUgaGVhcnQgYXR0YWNrIGV2ZW50LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc1JlbGF0ZWRHcm91cCIgZGVzY3JpcHRpb249IlRoZSBEUkcgY29kZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaWFnbm9zaXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkluc3VyYW5jZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN1cmFuY2UgaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgaWRlbnRpZnkgaW5zdXJhbmNlIGVudHJpZXMgYW5kIHByb3ZpZGUgYSBzZXF1ZW5jZSBvZiBjb3ZlcmFnZXMgdG8gY29udmV5IGNvb3JkaW5hdGlvbiBvZiBiZW5lZml0IG9yZGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2NhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNvdmVyYWdlIHRvIGJlIHVzZWQgZm9yIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBmbGFnIHRvIGluZGljYXRlIHRoYXQgdGhpcyBDb3ZlcmFnZSBpcyB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbSB3aGVuIHNldCB0byB0cnVlLiIgY29tbWVudD0iQSBwYXRpZW50IG1heSAod2lsbCkgaGF2ZSBtdWx0aXBsZSBpbnN1cmFuY2UgcG9saWNpZXMgd2hpY2ggcHJvdmlkZSByZWltYnVyc2VtZW50IGZvciBoZWFsdGhjYXJlIHNlcnZpY2VzIGFuZCBwcm9kdWN0cy4gRm9yIGV4YW1wbGUgYSBwZXJzb24gbWF5IGFsc28gYmUgY292ZXJlZCBieSB0aGVpciBzcG91c2UncyBwb2xpY3kgYW5kIGJvdGggYXBwZWFyIGluIHRoZSBsaXN0IChhbmQgbWF5IGJlIGZyb20gdGhlIHNhbWUgaW5zdXJlcikuIFRoaXMgZmxhZyB3aWxsIGJlIHNldCB0byB0cnVlIGZvciBvbmx5IG9uZSBvZiB0aGUgbGlzdGVkIHBvbGljaWVzIGFuZCB0aGF0IHBvbGljeSB3aWxsIGJlIHVzZWQgZm9yIGFkanVkaWNhdGluZyB0aGlzIGNsYWltLiBPdGhlciBjbGFpbXMgd291bGQgYmUgY3JlYXRlZCB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBhZ2FpbnN0IHRoZSBvdGhlciBsaXN0ZWQgcG9saWNpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlByZS1hc3NpZ25lZCBDbGFpbSBudW1iZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBpZGVudGlmaWVyIHRvIGJlIHVzZWQgd2hlbiB0aGUgY2xhaW0gaXMgc2VudCBmb3IgYWRqdWRpY2F0aW9uIGFnYWluc3QgdGhpcyBpbnN1cmFuY2UgcG9saWN5LiIgY29tbWVudD0iT25seSByZXF1aXJlZCBpbiBqdXJpc2RpY3Rpb25zIHdoZXJlIGluc3VyZXJzLCByYXRoZXIgdGhhbiB0aGUgcHJvdmlkZXIsIGFyZSByZXF1aXJlZCB0byBzZW5kIGNsYWltcyB0byAgaW5zdXJlcnMgdGhhdCBhcHBlYXIgYWZ0ZXIgdGhlbSBpbiB0aGUgbGlzdC4gVGhpcyBlbGVtZW50IGlzIG5vdCByZXF1aXJlZCB3aGVuICdzdWJyb2dhdGlvbj10cnVlJy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY292ZXJhZ2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGluc3VyYW5jZSBjYXJkIGxldmVsIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgQ292ZXJhZ2UgcmVzb3VyY2UuIFRoZSBjb3ZlcmFnZSBpc3N1aW5nIGluc3VyZXIgd2lsbCB1c2UgdGhlc2UgZGV0YWlscyB0byBsb2NhdGUgdGhlIHBhdGllbnQncyBhY3R1YWwgY292ZXJhZ2Ugd2l0aGluIHRoZSBpbnN1cmVyJ3MgaW5mb3JtYXRpb24gc3lzdGVtLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJidXNpbmVzc0FycmFuZ2VtZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIHByb3ZpZGVyIGNvbnRyYWN0IG51bWJlciIgZGVmaW5pdGlvbj0iQSBidXNpbmVzcyBhZ3JlZW1lbnQgbnVtYmVyIGVzdGFibGlzaGVkIGJldHdlZW4gdGhlIHByb3ZpZGVyIGFuZCB0aGUgaW5zdXJlciBmb3Igc3BlY2lhbCBidXNpbmVzcyBwcm9jZXNzaW5nIHB1cnBvc2VzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaW9yIGF1dGhvcml6YXRpb24gcmVmZXJlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIG51bWJlcnMgcHJldmlvdXNseSBwcm92aWRlZCBieSB0aGUgaW5zdXJlciB0byB0aGUgcHJvdmlkZXIgdG8gYmUgcXVvdGVkIG9uIHN1YnNlcXVlbnQgY2xhaW1zIGNvbnRhaW5pbmcgc2VydmljZXMgb3IgcHJvZHVjdHMgcmVsYXRlZCB0byB0aGUgcHJpb3IgYXV0aG9yaXphdGlvbi4iIGNvbW1lbnQ9IlRoaXMgdmFsdWUgaXMgYW4gYWxwaGFudW1lcmljIHN0cmluZyB0aGF0IG1heSBiZSBwcm92aWRlZCBvdmVyIHRoZSBwaG9uZSwgdmlhIHRleHQsIHZpYSBwYXBlciwgb3Igd2l0aGluIGEgQ2xhaW1SZXNwb25zZSByZXNvdXJjZSBhbmQgaXMgbm90IGEgRkhJUiBJZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhaW1SZXNwb25zZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gcmVzdWx0cyIgZGVmaW5pdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBsaW5lIGl0ZW1zIGZvciB0aGUgQ292ZXJhZ2Ugc3BlY2lmaWVkIGluIHRoaXMgaW5zdXJhbmNlLiIgY29tbWVudD0iTXVzdCBub3QgYmUgc3BlY2lmaWVkIHdoZW4gJ2ZvY2FsPXRydWUnIGZvciB0aGlzIGluc3VyYW5jZS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJdGVtIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGl0ZW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FyZVRlYW1TZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIGNhcmVUZWFtIG1lbWJlcnMiIGRlZmluaXRpb249IkNhcmVUZWFtIG1lbWJlcnMgcmVsYXRlZCB0byB0aGlzIHNlcnZpY2Ugb3IgcHJvZHVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXNTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIGRpYWdub3NlcyIgZGVmaW5pdGlvbj0iRGlhZ25vc2lzIGFwcGxpY2FibGUgZm9yIHRoaXMgc2VydmljZSBvciBwcm9kdWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZVNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgcHJvY2VkdXJlcyIgZGVmaW5pdGlvbj0iUHJvY2VkdXJlcyBhcHBsaWNhYmxlIGZvciB0aGlzIHNlcnZpY2Ugb3IgcHJvZHVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbmZvcm1hdGlvblNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgZXhjZXB0aW9uIGFuZCBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJFeGNlcHRpb25zLCBzcGVjaWFsIGNvbmRpdGlvbnMgYW5kIHN1cHBvcnRpbmcgaW5mb3JtYXRpb24gYXBwbGljYWJsZSBmb3IgdGhpcyBzZXJ2aWNlIG9yIHByb2R1Y3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpdCBjbGFzc2lmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZSB0byBpZGVudGlmeSB0aGUgZ2VuZXJhbCB0eXBlIG9mIGJlbmVmaXRzIHVuZGVyIHdoaWNoIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJFeGFtcGxlcyBpbmNsdWRlIE1lZGljYWwgQ2FyZSwgUGVyaW9kb250aWNzLCBSZW5hbCBEaWFseXNpcywgVmlzaW9uIENvdmVyYWdlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJlbmVmaXRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2F0ZWdvcmllcyBzdWNoIGFzOiBvcmFsLWJhc2ljLCBtYWpvciwgZ2xhc3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE9yU2VydmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmlsbGluZywgc2VydmljZSwgcHJvZHVjdCwgb3IgZHJ1ZyBjb2RlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSB2YWx1ZSBpcyBhIGdyb3VwIGNvZGUgdGhlbiB0aGlzIGl0ZW0gY29sbGVjdHMgYSBzZXQgb2YgcmVsYXRlZCBjbGFpbSBkZXRhaWxzLCBvdGhlcndpc2UgdGhpcyBjb250YWlucyB0aGUgcHJvZHVjdCwgc2VydmljZSwgZHJ1ZyBvciBvdGhlciBiaWxsaW5nIGNvZGUgZm9yIHRoZSBpdGVtLiIgY29tbWVudD0iSWYgdGhpcyBpcyBhbiBhY3R1YWwgc2VydmljZSBvciBwcm9kdWN0IGxpbmUsIGkuZS4gbm90IGEgR3JvdXAsIHRoZW4gdXNlIGNvZGUgdG8gaW5kaWNhdGUgdGhlIFByb2Zlc3Npb25hbCBTZXJ2aWNlIG9yIFByb2R1Y3Qgc3VwcGxpZWQgKGUuZy4gQ1RQLCBIQ1BDUywgVVNDTFMsIElDRDEwLCBOQ1BEUCwgRElOLCBSeE5vcm0sIEFDSEksIENDSSkuIElmIGEgZ3JvdXBpbmcgaXRlbSB0aGVuIHVzZSBhIGdyb3VwIGNvZGUgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgdGhpbmcgYmVpbmcgZ3JvdXBlZCBlLmcuICdnbGFzc2VzJyBvciAnY29tcG91bmQnLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQcm9kdWN0IiBkZXNjcmlwdGlvbj0iQWxsb3dhYmxlIHNlcnZpY2UgYW5kIHByb2R1Y3QgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dHNpZGUgb2Ygb2ZmaWNlIGhvdXJzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNb2RpZmllcnMiIGRlc2NyaXB0aW9uPSJJdGVtIHR5cGUgb3IgbW9kaWZpZXJzIGNvZGVzLCBlZyBmb3IgT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgYW4gYXBwbGlhbmNlIHdhcyBsb3N0IG9yIHN0b2xlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VydmljZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGF0ZSBvciBkYXRlcyBvZiBzZXJ2aWNlIG9yIHByb2R1Y3QgZGVsaXZlcnkiIGRlZmluaXRpb249IlRoZSBkYXRlIG9yIGRhdGVzIHdoZW4gdGhlIHNlcnZpY2Ugb3IgcHJvZHVjdCB3YXMgc3VwcGxpZWQsIHBlcmZvcm1lZCBvciBjb21wbGV0ZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQbGFjZSBvZiBzZXJ2aWNlIG9yIHdoZXJlIHByb2R1Y3Qgd2FzIHN1cHBsaWVkIiBkZWZpbml0aW9uPSJXaGVyZSB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlIHdhcyBwcm92aWRlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQbGFjZSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIHNlcnZpY2U6IHBoYXJtYWN5LCBzY2hvb2wsIHByaXNvbiwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdFByaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmVlLCBjaGFyZ2Ugb3IgY29zdCBwZXIgaXRlbSIgZGVmaW5pdGlvbj0iSWYgdGhlIGl0ZW0gaXMgbm90IGEgZ3JvdXAgdGhlbiB0aGlzIGlzIHRoZSBmZWUgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UsIG90aGVyd2lzZSB0aGlzIGlzIHRoZSB0b3RhbCBvZiB0aGUgZmVlcyBmb3IgdGhlIGRldGFpbHMgb2YgdGhlIGdyb3VwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVkaSIgZGVzY3JpcHRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBsaW5lIGl0ZW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5hdG9taWNhbCBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iUGh5c2ljYWwgc2VydmljZSBzaXRlIG9uIHRoZSBwYXRpZW50IChsaW1iLCB0b290aCwgZXRjLikuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogUHJvdmlkaW5nIGEgdG9vdGggY29kZSwgYWxsb3dzIGFuIGluc3VyZXIgdG8gaWRlbnRpZnkgYSBwcm92aWRlciBwZXJmb3JtaW5nIGEgZmlsbGluZyBvbiBhIHRvb3RoIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVtb3ZlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsU2l0ZXMiIGRlc2NyaXB0aW9uPSJUaGUgY29kZSBmb3IgdGhlIHRlZXRoLCBxdWFkcmFudCwgc2V4dGFudCBhbmQgYXJjaC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViU2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgc3ViLWxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZ2lvbiBvciBzdXJmYWNlIG9mIHRoZSBib2R5U2l0ZSwgZS5nLiBsaW1iIHJlZ2lvbiBvciB0b290aCBzdXJmYWNlKHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdXJmYWNlIiBkZXNjcmlwdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSB0b290aCBzdXJmYWNlIGFuZCBzdXJmYWNlIGNvbWJpbmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVycyByZWxhdGVkIHRvIHRoaXMgYmlsbGVkIGl0ZW0iIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXJzIGR1cmluZyB3aGljaCB0aGlzIENsYWltIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbCBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2Ygc3ViLWRldGFpbHMgd2hpY2ggYXJlIHNpbXBsZSBpdGVtcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtLkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSXRlbS5EZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpdGVtIGVudHJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJldmVudWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJldmVudWUgb3IgY29zdCBjZW50ZXIgY29kZSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcmV2ZW51ZSBvciBjb3N0IGNlbnRlciBwcm92aWRpbmcgdGhlIHByb2R1Y3QgYW5kL29yIHNlcnZpY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmV2ZW51ZUNlbnRlciIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgcmV2ZW51ZSBvciBjb3N0IGNlbnRlcnMgc3VwcGx5aW5nIHRoZSBzZXJ2aWNlIGFuZC9vciBwcm9kdWN0cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2xhc3NpZmljYXRpb24iIGRlZmluaXRpb249IkNvZGUgdG8gaWRlbnRpZnkgdGhlIGdlbmVyYWwgdHlwZSBvZiBiZW5lZml0cyB1bmRlciB3aGljaCBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iRXhhbXBsZXMgaW5jbHVkZSBNZWRpY2FsIENhcmUsIFBlcmlvZG9udGljcywgUmVuYWwgRGlhbHlzaXMsIFZpc2lvbiBDb3ZlcmFnZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCZW5lZml0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJCZW5lZml0IGNhdGVnb3JpZXMgc3VjaCBhczogb3JhbC1iYXNpYywgbWFqb3IsIGdsYXNzZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXQgb2Ygb2ZmaWNlIGhvdXJzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNb2RpZmllcnMiIGRlc2NyaXB0aW9uPSJJdGVtIHR5cGUgb3IgbW9kaWZpZXJzIGNvZGVzLCBlZyBmb3IgT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgYW4gYXBwbGlhbmNlIHdhcyBsb3N0IG9yIHN0b2xlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ291bnQgb2YgcHJvZHVjdHMgb3Igc2VydmljZXMiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgcmVwZXRpdGlvbnMgb2YgYSBzZXJ2aWNlIG9yIHByb2R1Y3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpY2Ugc2NhbGluZyBmYWN0b3IiIGRlZmluaXRpb249IkEgcmVhbCBudW1iZXIgdGhhdCByZXByZXNlbnRzIGEgbXVsdGlwbGllciB1c2VkIGluIGRldGVybWluaW5nIHRoZSBvdmVyYWxsIHZhbHVlIG9mIHNlcnZpY2VzIGRlbGl2ZXJlZCBhbmQvb3IgZ29vZHMgcmVjZWl2ZWQuIFRoZSBjb25jZXB0IG9mIGEgRmFjdG9yIGFsbG93cyBmb3IgYSBkaXNjb3VudCBvciBzdXJjaGFyZ2UgbXVsdGlwbGllciB0byBiZSBhcHBsaWVkIHRvIGEgbW9uZXRhcnkgYW1vdW50LiIgY29tbWVudD0iVG8gc2hvdyBhIDEwJSBzZW5pb3IncyBkaXNjb3VudCwgdGhlIHZhbHVlIGVudGVyZWQgaXM6IDAuOTAgKDEuMDAgLSAwLjEwKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmV0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVG90YWwgaXRlbSBjb3N0IiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgdGltZXMgdGhlIHVuaXQgcHJpY2UgZm9yIGFuIGFkZGl0aW9uYWwgc2VydmljZSBvciBwcm9kdWN0IG9yIGNoYXJnZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCB0aGUgZm9ybXVsYTogcXVhbnRpdHkgKiB1bml0UHJpY2UgKiBmYWN0b3IgID0gbmV0LiBRdWFudGl0eSBhbmQgZmFjdG9yIGFyZSBhc3N1bWVkIHRvIGJlIDEgaWYgbm90IHN1cHBsaWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViRGV0YWlsIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbCBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2Ygc3ViLWRldGFpbHMgd2hpY2ggYXJlIHNpbXBsZSBpdGVtcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJdGVtIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGl0ZW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpdCBjbGFzc2lmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZSB0byBpZGVudGlmeSB0aGUgZ2VuZXJhbCB0eXBlIG9mIGJlbmVmaXRzIHVuZGVyIHdoaWNoIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJFeGFtcGxlcyBpbmNsdWRlIE1lZGljYWwgQ2FyZSwgUGVyaW9kb250aWNzLCBSZW5hbCBEaWFseXNpcywgVmlzaW9uIENvdmVyYWdlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJlbmVmaXRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2F0ZWdvcmllcyBzdWNoIGFzOiBvcmFsLWJhc2ljLCBtYWpvciwgZ2xhc3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE9yU2VydmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmlsbGluZywgc2VydmljZSwgcHJvZHVjdCwgb3IgZHJ1ZyBjb2RlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSB2YWx1ZSBpcyBhIGdyb3VwIGNvZGUgdGhlbiB0aGlzIGl0ZW0gY29sbGVjdHMgYSBzZXQgb2YgcmVsYXRlZCBjbGFpbSBkZXRhaWxzLCBvdGhlcndpc2UgdGhpcyBjb250YWlucyB0aGUgcHJvZHVjdCwgc2VydmljZSwgZHJ1ZyBvciBvdGhlciBiaWxsaW5nIGNvZGUgZm9yIHRoZSBpdGVtLiIgY29tbWVudD0iSWYgdGhpcyBpcyBhbiBhY3R1YWwgc2VydmljZSBvciBwcm9kdWN0IGxpbmUsIGkuZS4gbm90IGEgR3JvdXAsIHRoZW4gdXNlIGNvZGUgdG8gaW5kaWNhdGUgdGhlIFByb2Zlc3Npb25hbCBTZXJ2aWNlIG9yIFByb2R1Y3Qgc3VwcGxpZWQgKGUuZy4gQ1RQLCBIQ1BDUywgVVNDTFMsIElDRDEwLCBOQ1BEUCwgRElOLCBSeE5vcm0sIEFDSEksIENDSSkuIElmIGEgZ3JvdXBpbmcgaXRlbSB0aGVuIHVzZSBhIGdyb3VwIGNvZGUgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgdGhpbmcgYmVpbmcgZ3JvdXBlZCBlLmcuICdnbGFzc2VzJyBvciAnY29tcG91bmQnLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQcm9kdWN0IiBkZXNjcmlwdGlvbj0iQWxsb3dhYmxlIHNlcnZpY2UgYW5kIHByb2R1Y3QgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dCBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByb2dyYW0gdGhlIHByb2R1Y3Qgb3Igc2VydmljZSBpcyBwcm92aWRlZCB1bmRlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHJvZ3JhbSB1bmRlciB3aGljaCB0aGlzIG1heSBiZSByZWNvdmVyZWQuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogTmVvbmF0YWwgcHJvZ3JhbSwgY2hpbGQgZGVudGFsIHByb2dyYW0gb3IgZHJ1ZyB1c2VycyByZWNvdmVyeSBwcm9ncmFtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9ncmFtQ29kZSIgZGVzY3JpcHRpb249IlByb2dyYW0gc3BlY2lmaWMgcmVhc29uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdFByaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmVlLCBjaGFyZ2Ugb3IgY29zdCBwZXIgaXRlbSIgZGVmaW5pdGlvbj0iSWYgdGhlIGl0ZW0gaXMgbm90IGEgZ3JvdXAgdGhlbiB0aGlzIGlzIHRoZSBmZWUgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UsIG90aGVyd2lzZSB0aGlzIGlzIHRoZSB0b3RhbCBvZiB0aGUgZmVlcyBmb3IgdGhlIGRldGFpbHMgb2YgdGhlIGdyb3VwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVkaSIgZGVzY3JpcHRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBsaW5lIGl0ZW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5QYXllZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb2YgcmVjaXBpZW50IiBkZWZpbml0aW9uPSJUeXBlIG9mIFBhcnR5IHRvIGJlIHJlaW1idXJzZWQ6IHN1YnNjcmliZXIsIHByb3ZpZGVyLCBvdGhlci4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQYXllZVR5cGUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgZm9yIHRoZSBwYXJ0eSB0byBiZSByZWltYnVyc2VkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZWNpcGllbnQgcmVmZXJlbmNlIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHRvIHdob20gYW55IHBheW1lbnQgd2lsbCBiZSBtYWRlLiIgY29tbWVudD0iTm90IHJlcXVpcmVkIGlmIHRoZSBwYXllZSBpcyAnc3Vic2NyaWJlcicgb3IgJ3Byb3ZpZGVyJy4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5Qcm9jZWR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJvY2VkdXJlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHByb2NlZHVyZSBlbnRyaWVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb2YgUHJvY2VkdXJlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBjb25kaXRpb24gd2FzIG9ic2VydmVkIG9yIHRoZSByZWxhdGl2ZSByYW5raW5nLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHByaW1hcnksIHNlY29uZGFyeS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlVHlwZSIgZGVzY3JpcHRpb249IkV4YW1wbGUgcHJvY2VkdXJlIHR5cGUgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQiIGRlZmluaXRpb249IkRhdGUgYW5kIG9wdGlvbmFsbHkgdGltZSB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTcGVjaWZpYyBjbGluaWNhbCBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBjb2RlIG9yIHJlZmVyZW5jZSB0byBhIFByb2NlZHVyZSByZXNvdXJjZSB3aGljaCBpZGVudGlmaWVzIHRoZSBjbGluaWNhbCBpbnRlcnZlbnRpb24gcGVyZm9ybWVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IklDRDEwX1Byb2NlZHVyZXMiIGRlc2NyaXB0aW9uPSJFeGFtcGxlIElDRDEwIFByb2NlZHVyZSBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idWRpIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGRldmljZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJVbmlxdWUgRGV2aWNlIElkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxpbmUgaXRlbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLlJlbGF0ZWQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYWltIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlZmVyZW5jZSB0byB0aGUgcmVsYXRlZCBjbGFpbSIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIHRvIGEgcmVsYXRlZCBjbGFpbS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRpb25zaGlwIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIHJlZmVyZW5jZSBjbGFpbSBpcyByZWxhdGVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gY29udmV5IGhvdyB0aGUgY2xhaW1zIGFyZSByZWxhdGVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHByaW9yIGNsYWltIG9yIHVtYnJlbGxhLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlbGF0ZWRDbGFpbVJlbGF0aW9uc2hpcCIgZGVzY3JpcHRpb249IlJlbGF0aW9uc2hpcCBvZiB0aGlzIGNsYWltIHRvIGEgcmVsYXRlZCBDbGFpbS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJGaWxlIG9yIGNhc2UgcmVmZXJlbmNlIiBkZWZpbml0aW9uPSJBbiBhbHRlcm5hdGUgb3JnYW5pemF0aW9uYWwgcmVmZXJlbmNlIHRvIHRoZSBjYXNlIG9yIGZpbGUgdG8gd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIGNsYWltIHBlcnRhaW5zLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIFByb3BlcnR5L0Nhc3VhbHR5IGluc3VyZXIgY2xhaW0gIyBvciBXb3JrZXJzIENvbXBlbnNhdGlvbiBjYXNlICMgLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5TdXBwb3J0aW5nSW5mbyIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIGVudHJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiB0aGUgc3VwcGxpZWQgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlRoZSBnZW5lcmFsIGNsYXNzIG9mIHRoZSBpbmZvcm1hdGlvbiBzdXBwbGllZDogaW5mb3JtYXRpb247IGV4Y2VwdGlvbjsgYWNjaWRlbnQsIGVtcGxveW1lbnQ7IG9uc2V0LCBldGMuIiBjb21tZW50PSJUaGlzIG1heSBjb250YWluIGEgY2F0ZWdvcnkgZm9yIHRoZSBsb2NhbCBiaWxsIHR5cGUgY29kZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW5mb3JtYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IlRoZSB2YWx1c2V0IHVzZWQgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gY2F0ZWdvcnkgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlN5c3RlbSBhbmQgY29kZSBwZXJ0YWluaW5nIHRvIHRoZSBzcGVjaWZpYyBpbmZvcm1hdGlvbiByZWdhcmRpbmcgc3BlY2lhbCBjb25kaXRpb25zIHJlbGF0aW5nIHRvIHRoZSBzZXR0aW5nLCB0cmVhdG1lbnQgb3IgcGF0aWVudCAgZm9yIHdoaWNoIGNhcmUgaXMgc291Z2h0LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkluZm9ybWF0aW9uQ29kZSIgZGVzY3JpcHRpb249IlRoZSB2YWx1c2V0IHVzZWQgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGl0IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB3aGVuIG9yIHBlcmlvZCB0byB3aGljaCB0aGlzIGluZm9ybWF0aW9uIHJlZmVycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGEgdG8gYmUgcHJvdmlkZWQiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgZGF0YSBvciBpbmZvcm1hdGlvbiBzdWNoIGFzIHJlc291cmNlcywgZG9jdW1lbnRzLCBpbWFnZXMgZXRjLiBpbmNsdWRpbmcgcmVmZXJlbmNlcyB0byB0aGUgZGF0YSBvciB0aGUgYWN0dWFsIGluY2x1c2lvbiBvZiB0aGUgZGF0YS4iIGNvbW1lbnQ9IkNvdWxkIGJlIHVzZWQgdG8gcHJvdmlkZSByZWZlcmVuY2VzIHRvIG90aGVyIHJlc291cmNlcywgZG9jdW1lbnQuIEZvciBleGFtcGxlIGNvdWxkIGNvbnRhaW4gYSBQREYgaW4gYW4gQXR0YWNobWVudCBvZiB0aGUgUG9saWNlIFJlcG9ydCBmb3IgYW4gQWNjaWRlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uIGZvciB0aGUgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByZWFzb24gaW4gdGhlIHNpdHVhdGlvbiB3aGVyZSBhIHJlYXNvbiBjb2RlIGlzIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSBjb250ZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHRoZSByZWFzb24gZm9yIHRoZSBhZGRpdGlvbmFsIHN0YXksIG9yIHdoeSBhIHRvb3RoIGlzICBtaXNzaW5nLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1pc3NpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJSZWFzb24gY29kZXMgZm9yIHRoZSBtaXNzaW5nIHRlZXRoLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNsYWltcmVzcG9uc2UiIGxhYmVsPSJRSUNvcmUgQ2xhaW1SZXNwb25zZSIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3IgYSBjbGFpbSByZXNwb25zZSIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNsYWltIHJlc3BvbnNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGNhbmNlbGxlZCB8IGRyYWZ0IHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2UuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltUmVzcG9uc2VTdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvciBkaXNjaXBsaW5lLXN0eWxlIG9mIHRoZSBjbGFpbS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3ViVHlwZSIgZGVzY3JpcHRpb249IkEgbW9yZSBncmFudWxhciBjbGFpbSB0eXBlY29kZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjbGFpbSB8IHByZWF1dGhvcml6YXRpb24gfCBwcmVkZXRlcm1pbmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgbmF0dXJlIG9mIHRoZSByZXF1ZXN0IGlzOiB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBvZiBwcm9kdWN0cyBhbmQgc2VydmljZXMgcHJldmlvdXNseSByZW5kZXJlZDsgb3IgcmVxdWVzdGluZyBhdXRob3JpemF0aW9uIGFuZCBhZGp1ZGljYXRpb24gZm9yIHByb3Zpc2lvbiBpbiB0aGUgZnV0dXJlOyBvciByZXF1ZXN0aW5nIHRoZSBub24tYmluZGluZyBhZGp1ZGljYXRpb24gb2YgdGhlIGxpc3RlZCBwcm9kdWN0cyBhbmQgc2VydmljZXMgd2hpY2ggY291bGQgYmUgcHJvdmlkZWQgaW4gdGhlIGZ1dHVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNlIiBkZXNjcmlwdGlvbj0iQ2xhaW0sIHByZWF1dGhvcml6YXRpb24sIHByZWRldGVybWluYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSByZWNpcGllbnQgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHRvIHdob20gdGhlIHByb2Zlc3Npb25hbCBzZXJ2aWNlcyBhbmQvb3IgcHJvZHVjdHMgaGF2ZSBiZWVuIHN1cHBsaWVkIG9yIGFyZSBiZWluZyBjb25zaWRlcmVkIGFuZCBmb3Igd2hvbSBhY3R1YWwgZm9yIGZhY2FzdCByZWltYnVyc2VtZW50IGlzIHNvdWdodC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVzcG9uc2UgY3JlYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhpcyByZXNvdXJjZSB3YXMgY3JlYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGFydHkgcmVzcG9uc2libGUgZm9yIHJlaW1idXJzZW1lbnQiIGRlZmluaXRpb249IlRoZSBwYXJ0eSByZXNwb25zaWJsZSBmb3IgYXV0aG9yaXphdGlvbiwgYWRqdWRpY2F0aW9uIGFuZCByZWltYnVyc2VtZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBhcnR5IHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0iIGRlZmluaXRpb249IlRoZSBwcm92aWRlciB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltLCBwcmVkZXRlcm1pbmF0aW9uIG9yIHByZWF1dGhvcml6YXRpb24uIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyBmaWVsZCB3b3VsZCBiZSAxLi4xIHdoZXJlIHRoaXMgcGFydHkgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSBidXQgbm90IG5lY2Vzc2FyaWx5IHByb2Zlc3Npb25hbGx5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBpbmRpdmlkdWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IklkIG9mIHJlc291cmNlIHRyaWdnZXJpbmcgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJPcmlnaW5hbCByZXF1ZXN0IHJlc291cmNlIHJlZmVyZW5jZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dGNvbWUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVtaXR0YW5jZU91dGNvbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icXVldWVkIHwgY29tcGxldGUgfCBlcnJvciB8IHBhcnRpYWwiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBjbGFpbSwgcHJlZGV0ZXJtaW5hdGlvbiwgb3IgcHJlYXV0aG9yaXphdGlvbiBwcm9jZXNzaW5nLiIgY29tbWVudD0iVGhlIHJlc291cmNlIG1heSBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQ6IHRoZSByZXF1ZXN0IGhhcyBiZWVuIGhlbGQgKHF1ZXVlZCkgZm9yIHByb2Nlc3Npbmc7IHRoYXQgaXQgaGFzIGJlZW4gcHJvY2Vzc2VkIGFuZCBlcnJvcnMgZm91bmQgKGVycm9yKTsgdGhhdCBubyBlcnJvcnMgd2VyZSBmb3VuZCBhbmQgdGhhdCBzb21lIG9mIHRoZSBhZGp1ZGljYXRpb24gaGFzIGJlZW4gdW5kZXJ0YWtlbiAocGFydGlhbCkgb3IgdGhhdCBhbGwgb2YgdGhlIGFkanVkaWNhdGlvbiBoYXMgYmVlbiB1bmRlcnRha2VuIChjb21wbGV0ZSkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVtaXR0YW5jZU91dGNvbWUiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHRoZSBjbGFpbSBwcm9jZXNzaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcG9zaXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRpc3Bvc2l0aW9uIE1lc3NhZ2UiIGRlZmluaXRpb249IkEgaHVtYW4gcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIHN0YXR1cyBvZiB0aGUgYWRqdWRpY2F0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVhdXRob3JpemF0aW9uIHJlZmVyZW5jZSIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIGZyb20gdGhlIEluc3VyZXIgd2hpY2ggaXMgdXNlZCBpbiBsYXRlciBjb21tdW5pY2F0aW9ucyB3aGljaCByZWZlcnMgdG8gdGhpcyBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUaGlzIHZhbHVlIGlzIG9ubHkgcHJlc2VudCBvbiBwcmVhdXRob3JpemF0aW9uIGFkanVkaWNhdGlvbnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZUF1dGhQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlYXV0aG9yaXphdGlvbiByZWZlcmVuY2UgZWZmZWN0aXZlIHBlcmlvZCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgZnJhbWUgZHVyaW5nIHdoaWNoIHRoaXMgYXV0aG9yaXphdGlvbiBpcyBlZmZlY3RpdmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBheWVlVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGFydHkgdG8gYmUgcGFpZCBhbnkgYmVuZWZpdHMgcGF5YWJsZSIgZGVmaW5pdGlvbj0iVHlwZSBvZiBQYXJ0eSB0byBiZSByZWltYnVyc2VkOiBzdWJzY3JpYmVyLCBwcm92aWRlciwgb3RoZXIuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5ZWVUeXBlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIGZvciB0aGUgcGFydHkgdG8gYmUgcmVpbWJ1cnNlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBmb3IgY2xhaW0gbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iQSBjbGFpbSBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2YgZGV0YWlscyB3aGljaCBjYW4gYWxzbyBiZSBhIHNpbXBsZSBpdGVtcyBvciBncm91cHMgb2Ygc3ViLWRldGFpbHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuSXRlbSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkSXRlbSIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIGZpcnN0LXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBwcm9kdWN0IG9yIHNlcnZpY2UgbGluZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5BZGRJdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJIZWFkZXItbGV2ZWwgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgd2hpY2ggYXJlIHByZXNlbnRlZCBhdCB0aGUgaGVhZGVyIGxldmVsIHJhdGhlciB0aGFuIGF0IHRoZSBsaW5lLWl0ZW0gb3IgYWRkLWl0ZW0gbGV2ZWxzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idG90YWwiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gdG90YWxzIiBkZWZpbml0aW9uPSJDYXRlZ29yaXplZCBtb25ldGFyeSB0b3RhbHMgZm9yIHRoZSBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUb3RhbHMgZm9yIGFtb3VudHMgc3VibWl0dGVkLCBjby1wYXlzLCBiZW5lZml0cyBwYXlhYmxlIGV0Yy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLlRvdGFsIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXltZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuUGF5bWVudCIgZGVzY3JpcHRpb249IlBheW1lbnQgRGV0YWlscyIgZGVmaW5pdGlvbj0iUGF5bWVudCBkZXRhaWxzIGZvciB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBjbGFpbS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuZHNSZXNlcnZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kcyByZXNlcnZlZCBzdGF0dXMiIGRlZmluaXRpb249IkEgY29kZSwgdXNlZCBvbmx5IG9uIGEgcmVzcG9uc2UgdG8gYSBwcmVhdXRob3JpemF0aW9uLCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBiZW5lZml0cyBwYXlhYmxlIGhhdmUgYmVlbiByZXNlcnZlZCBhbmQgZm9yIHdob20uIiBjb21tZW50PSJGdW5kIHdvdWxkIGJlIHJlbGVhc2UgYnkgYSBmdXR1cmUgY2xhaW0gcXVvdGluZyB0aGUgcHJlQXV0aFJlZiBvZiB0aGlzIHJlc3BvbnNlLiBFeGFtcGxlcyBvZiB2YWx1ZXMgaW5jbHVkZTogcHJvdmlkZXIsIHBhdGllbnQsIG5vbmUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZHNSZXNlcnZlIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gZnVuZHMgYXJlIHRvIGJlIHJlc2VydmVkOiAoUGF0aWVudCwgUHJvdmlkZXIsIE5vbmUpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb3JtQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJpbnRlZCBmb3JtIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgY29kZSBmb3IgdGhlIGZvcm0gdG8gYmUgdXNlZCBmb3IgcHJpbnRpbmcgdGhlIGNvbnRlbnQuIiBjb21tZW50PSJNYXkgYmUgbmVlZGVkIHRvIGlkZW50aWZ5IHNwZWNpZmljIGp1cmlzZGljdGlvbmFsIGZvcm1zLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZvcm1zIiBkZXNjcmlwdGlvbj0iVGhlIGZvcm1zIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb3JtIiBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIGRlc2NyaXB0aW9uPSJQcmludGVkIHJlZmVyZW5jZSBvciBhY3R1YWwgZm9ybSIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb3JtLCBieSByZWZlcmVuY2Ugb3IgaW5jbHVzaW9uLCBmb3IgcHJpbnRpbmcgdGhlIGNvbnRlbnQgb3IgYW4gRU9CLiIgY29tbWVudD0iTmVlZGVkIHRvIHBlcm1pdCBpbnN1cmVycyB0byBpbmNsdWRlIHRoZSBhY3R1YWwgZm9ybS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2Vzc05vdGUiIGRlc2NyaXB0aW9uPSJOb3RlIGNvbmNlcm5pbmcgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBIG5vdGUgdGhhdCBkZXNjcmliZXMgb3IgZXhwbGFpbnMgYWRqdWRpY2F0aW9uIHJlc3VsdHMgaW4gYSBodW1hbiByZWFkYWJsZSBmb3JtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuUHJvY2Vzc05vdGUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW11bmljYXRpb25SZXF1ZXN0IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iUmVxdWVzdCBmb3IgYWRkaXRpb25hbCBzdXBwb3J0aW5nIG9yIGF1dGhvcml6aW5nIGluZm9ybWF0aW9uLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHByb2Zlc3Npb25hbCByZXBvcnRzLCBkb2N1bWVudHMsIGltYWdlcywgY2xpbmljYWwgcmVzb3VyY2VzLCBvciBhY2NpZGVudCByZXBvcnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBpbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkZpbmFuY2lhbCBpbnN0cnVtZW50cyBmb3IgcmVpbWJ1cnNlbWVudCBmb3IgdGhlIGhlYWx0aCBjYXJlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBzcGVjaWZpZWQgb24gdGhlIGNsYWltLiIgY29tbWVudD0iQWxsIGluc3VyYW5jZSBjb3ZlcmFnZXMgZm9yIHRoZSBwYXRpZW50IHdoaWNoIG1heSBiZSBhcHBsaWNhYmxlIGZvciByZWltYnVyc2VtZW50LCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBpbiB0aGUgY2xhaW0sIGFyZSB0eXBpY2FsbHkgcHJvdmlkZWQgaW4gdGhlIGNsYWltIHRvIGFsbG93IGluc3VyZXJzIHRvIGNvbmZpcm0gdGhlIG9yZGVyaW5nIG9mIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2VzIHJlbGF0aXZlIHRvIGxvY2FsICdjb29yZGluYXRpb24gb2YgYmVuZWZpdCcgcnVsZXMuIE9uZSBjb3ZlcmFnZSAoYW5kIG9ubHkgb25lKSB3aXRoICdmb2NhbD10cnVlJyBpcyB0byBiZSB1c2VkIGluIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbS4gQ292ZXJhZ2VzIGFwcGVhcmluZyBiZWZvcmUgdGhlIGZvY2FsIENvdmVyYWdlIGluIHRoZSBsaXN0LCBhbmQgd2hlcmUgJ3N1YnJvZ2F0aW9uPWZhbHNlJywgc2hvdWxkIHByb3ZpZGUgYSByZWZlcmVuY2UgdG8gdGhlIENsYWltUmVzcG9uc2UgY29udGFpbmluZyB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgb2YgdGhlIHByaW9yIGNsYWltLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuSW5zdXJhbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlcnJvciIgZGVzY3JpcHRpb249IlByb2Nlc3NpbmcgZXJyb3JzIiBkZWZpbml0aW9uPSJFcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJJZiB0aGUgcmVxdWVzdCBjb250YWlucyBlcnJvcnMgdGhlbiBhbiBlcnJvciBlbGVtZW50IHNob3VsZCBiZSBwcm92aWRlZCBhbmQgbm8gYWRqdWRpY2F0aW9uIHJlbGF0ZWQgc2VjdGlvbnMgKGl0ZW0sIGFkZEl0ZW0sIG9yIHBheW1lbnQpIHNob3VsZCBiZSBwcmVzZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuRXJyb3IiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLkFkZEl0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1TZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJdGVtIHNlcXVlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iQ2xhaW0gaXRlbXMgd2hpY2ggdGhpcyBzZXJ2aWNlIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWxTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBkZXRhaWxzIHdpdGhpbiB0aGUgY2xhaW0gaXRlbSB3aGljaCB0aGlzIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJkZXRhaWxTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdWJkZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBzdWItZGV0YWlscyB3aXRoaW4gdGhlIGRldGFpbHMgd2l0aGluIHRoZSBjbGFpbSBpdGVtIHdoaWNoIHRoaXMgbGluZSBpcyBpbnRlbmRlZCB0byByZXBsYWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb3ZpZGVyIiBkZXNjcmlwdGlvbj0iQXV0aG9yaXplZCBwcm92aWRlcnMiIGRlZmluaXRpb249IlRoZSBwcm92aWRlcnMgd2hvIGFyZSBhdXRob3JpemVkIGZvciB0aGUgc2VydmljZXMgcmVuZGVyZWQgdG8gdGhlIHBhdGllbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlL1Byb2R1Y3QgYmlsbGluZyBtb2RpZmllcnMiIGRlZmluaXRpb249Ikl0ZW0gdHlwaWZpY2F0aW9uIG9yIG1vZGlmaWVycyBjb2RlcyB0byBjb252ZXkgYWRkaXRpb25hbCBjb250ZXh0IGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgaW4gT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgZm9yIE1lZGljYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IHdhcyBvdXRzaWRlIHRoZSBjbGluaWMgb3Igb3V0c2lkZSBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByb2dyYW0gdGhlIHByb2R1Y3Qgb3Igc2VydmljZSBpcyBwcm92aWRlZCB1bmRlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHJvZ3JhbSB1bmRlciB3aGljaCB0aGlzIG1heSBiZSByZWNvdmVyZWQuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogTmVvbmF0YWwgcHJvZ3JhbSwgY2hpbGQgZGVudGFsIHByb2dyYW0gb3IgZHJ1ZyB1c2VycyByZWNvdmVyeSBwcm9ncmFtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9ncmFtQ29kZSIgZGVzY3JpcHRpb249IlByb2dyYW0gc3BlY2lmaWMgcmVhc29uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJ2aWNlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEYXRlIG9yIGRhdGVzIG9mIHNlcnZpY2Ugb3IgcHJvZHVjdCBkZWxpdmVyeSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZGF0ZXMgd2hlbiB0aGUgc2VydmljZSBvciBwcm9kdWN0IHdhcyBzdXBwbGllZCwgcGVyZm9ybWVkIG9yIGNvbXBsZXRlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIHNlcnZpY2Ugb3Igd2hlcmUgcHJvZHVjdCB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IldoZXJlIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2Ugd2FzIHByb3ZpZGVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVBsYWNlIiBkZXNjcmlwdGlvbj0iUGxhY2Ugb2Ygc2VydmljZTogcGhhcm1hY3ksIHNjaG9vbCwgcHJpc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIHNlcnZpY2Ugc2l0ZSBvbiB0aGUgcGF0aWVudCAobGltYiwgdG9vdGgsIGV0Yy4pLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IFByb3ZpZGluZyBhIHRvb3RoIGNvZGUgYWxsb3dzIGFuIGluc3VyZXIgdG8gaWRlbnRpZnkgYSBwcm92aWRlciBwZXJmb3JtaW5nIGEgZmlsbGluZyBvbiBhIHRvb3RoIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVtb3ZlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsU2l0ZXMiIGRlc2NyaXB0aW9uPSJUaGUgY29kZSBmb3IgdGhlIHRlZXRoLCBxdWFkcmFudCwgc2V4dGFudCBhbmQgYXJjaC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViU2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgc3ViLWxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZ2lvbiBvciBzdXJmYWNlIG9mIHRoZSBib2R5U2l0ZSwgZS5nLiBsaW1iIHJlZ2lvbiBvciB0b290aCBzdXJmYWNlKHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdXJmYWNlIiBkZXNjcmlwdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSB0b290aCBzdXJmYWNlIGFuZCBzdXJmYWNlIGNvbWJpbmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iSW5zdXJlciBhZGRlZCBsaW5lIGRldGFpbHMiIGRlZmluaXRpb249IlRoZSBzZWNvbmQtdGllciBzZXJ2aWNlIGFkanVkaWNhdGlvbnMgZm9yIHBheW9yIGFkZGVkIHNlcnZpY2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuQWRkSXRlbS5EZXRhaWwiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuQWRkSXRlbS5EZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXRzaWRlIG9mIG9mZmljZSBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTW9kaWZpZXJzIiBkZXNjcmlwdGlvbj0iSXRlbSB0eXBlIG9yIG1vZGlmaWVycyBjb2RlcywgZWcgZm9yIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGFuIGFwcGxpYW5jZSB3YXMgbG9zdCBvciBzdG9sZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGRldGFpbCBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVzdWx0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIHRoaXJkLXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBzZXJ2aWNlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkFkZEl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5BZGRJdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXRzaWRlIG9mIG9mZmljZSBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTW9kaWZpZXJzIiBkZXNjcmlwdGlvbj0iSXRlbSB0eXBlIG9yIG1vZGlmaWVycyBjb2RlcywgZWcgZm9yIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGFuIGFwcGxpYW5jZSB3YXMgbG9zdCBvciBzdG9sZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGRldGFpbCBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVzdWx0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuRXJyb3IiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1TZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBsaW5lIGl0ZW0gc3VibWl0dGVkIHdoaWNoIGNvbnRhaW5zIHRoZSBlcnJvci4gVGhpcyB2YWx1ZSBpcyBvbWl0dGVkIHdoZW4gdGhlIGVycm9yIG9jY3VycyBvdXRzaWRlIG9mIHRoZSBpdGVtIHN0cnVjdHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBkZXRhaWwgd2l0aGluIHRoZSBsaW5lIGl0ZW0gc3VibWl0dGVkIHdoaWNoIGNvbnRhaW5zIHRoZSBlcnJvci4gVGhpcyB2YWx1ZSBpcyBvbWl0dGVkIHdoZW4gdGhlIGVycm9yIG9jY3VycyBvdXRzaWRlIG9mIHRoZSBpdGVtIHN0cnVjdHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViRGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdWJkZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBzdWItZGV0YWlsIHdpdGhpbiB0aGUgZGV0YWlsIHdpdGhpbiB0aGUgbGluZSBpdGVtIHN1Ym1pdHRlZCB3aGljaCBjb250YWlucyB0aGUgZXJyb3IuIFRoaXMgdmFsdWUgaXMgb21pdHRlZCB3aGVuIHRoZSBlcnJvciBvY2N1cnMgb3V0c2lkZSBvZiB0aGUgaXRlbSBzdHJ1Y3R1cmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkVycm9yIGNvZGUgZGV0YWlsaW5nIHByb2Nlc3NpbmcgaXNzdWVzIiBkZWZpbml0aW9uPSJBbiBlcnJvciBjb2RlLCBmcm9tIGEgc3BlY2lmaWVkIGNvZGUgc3lzdGVtLCB3aGljaCBkZXRhaWxzIHdoeSB0aGUgY2xhaW0gY291bGQgbm90IGJlIGFkanVkaWNhdGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvbkVycm9yIiBkZXNjcmlwdGlvbj0iVGhlIGFkanVkaWNhdGlvbiBlcnJvciBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JbnN1cmFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGluc3VyYW5jZSBlbnRyaWVzIGFuZCBwcm92aWRlIGEgc2VxdWVuY2Ugb2YgY292ZXJhZ2VzIHRvIGNvbnZleSBjb29yZGluYXRpb24gb2YgYmVuZWZpdCBvcmRlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3ZlcmFnZSB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IkEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgQ292ZXJhZ2UgaXMgdG8gYmUgdXNlZCBmb3IgYWRqdWRpY2F0aW9uIG9mIHRoaXMgY2xhaW0gd2hlbiBzZXQgdG8gdHJ1ZS4iIGNvbW1lbnQ9IkEgcGF0aWVudCBtYXkgKHdpbGwpIGhhdmUgbXVsdGlwbGUgaW5zdXJhbmNlIHBvbGljaWVzIHdoaWNoIHByb3ZpZGUgcmVpbWJ1cnNlbWVudCBmb3IgaGVhbHRoY2FyZSBzZXJ2aWNlcyBhbmQgcHJvZHVjdHMuIEZvciBleGFtcGxlIGEgcGVyc29uIG1heSBhbHNvIGJlIGNvdmVyZWQgYnkgdGhlaXIgc3BvdXNlJ3MgcG9saWN5IGFuZCBib3RoIGFwcGVhciBpbiB0aGUgbGlzdCAoYW5kIG1heSBiZSBmcm9tIHRoZSBzYW1lIGluc3VyZXIpLiBUaGlzIGZsYWcgd2lsbCBiZSBzZXQgdG8gdHJ1ZSBmb3Igb25seSBvbmUgb2YgdGhlIGxpc3RlZCBwb2xpY2llcyBhbmQgdGhhdCBwb2xpY3kgd2lsbCBiZSB1c2VkIGZvciBhZGp1ZGljYXRpbmcgdGhpcyBjbGFpbS4gT3RoZXIgY2xhaW1zIHdvdWxkIGJlIGNyZWF0ZWQgdG8gcmVxdWVzdCBhZGp1ZGljYXRpb24gYWdhaW5zdCB0aGUgb3RoZXIgbGlzdGVkIHBvbGljaWVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3ZlcmFnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW5zdXJhbmNlIGNhcmQgbGV2ZWwgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoZSBDb3ZlcmFnZSByZXNvdXJjZS4gVGhlIGNvdmVyYWdlIGlzc3VpbmcgaW5zdXJlciB3aWxsIHVzZSB0aGVzZSBkZXRhaWxzIHRvIGxvY2F0ZSB0aGUgcGF0aWVudCdzIGFjdHVhbCBjb3ZlcmFnZSB3aXRoaW4gdGhlIGluc3VyZXIncyBpbmZvcm1hdGlvbiBzeXN0ZW0uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzQXJyYW5nZW1lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgcHJvdmlkZXIgY29udHJhY3QgbnVtYmVyIiBkZWZpbml0aW9uPSJBIGJ1c2luZXNzIGFncmVlbWVudCBudW1iZXIgZXN0YWJsaXNoZWQgYmV0d2VlbiB0aGUgcHJvdmlkZXIgYW5kIHRoZSBpbnN1cmVyIGZvciBzcGVjaWFsIGJ1c2luZXNzIHByb2Nlc3NpbmcgcHVycG9zZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYWltUmVzcG9uc2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRqdWRpY2F0aW9uIHJlc3VsdHMiIGRlZmluaXRpb249IlRoZSByZXN1bHQgb2YgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGUgbGluZSBpdGVtcyBmb3IgdGhlIENvdmVyYWdlIHNwZWNpZmllZCBpbiB0aGlzIGluc3VyYW5jZS4iIGNvbW1lbnQ9Ik11c3Qgbm90IGJlIHNwZWNpZmllZCB3aGVuICdmb2NhbD10cnVlJyBmb3IgdGhpcyBpbnN1cmFuY2UuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbVNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xhaW0gaXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSByZWZlcmVuY2UgdGhlIGNsYWltIGl0ZW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJJZiB0aGlzIGl0ZW0gaXMgYSBncm91cCB0aGVuIHRoZSB2YWx1ZXMgaGVyZSBhcmUgYSBzdW1tYXJ5IG9mIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhlIGRldGFpbCBpdGVtcy4gSWYgdGhpcyBpdGVtIGlzIGEgc2ltcGxlIHByb2R1Y3Qgb3Igc2VydmljZSB0aGVuIHRoaXMgaXMgdGhlIHJlc3VsdCBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iQWRqdWRpY2F0aW9uIGZvciBjbGFpbSBkZXRhaWxzIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbC4gRWl0aGVyIGEgc2ltcGxlIChhIHByb2R1Y3Qgb3Igc2VydmljZSkgb3IgYSAnZ3JvdXAnIG9mIHN1Yi1kZXRhaWxzIHdoaWNoIGFyZSBzaW1wbGUgaXRlbXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoaXMgY29kZSBpcyBmaXhlZCB0byAnc3VibWl0dGVkJyB0byBpbmRpY2F0ZSB0aGF0IHRoZSBhZGp1ZGljYXRpb24gcmVzdWx0IGlzIG9uIHdoYXQgd2FzIHN1Ym1pdHRlZC4iIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB0aGUgaW5mb3JtYXRpb24gdHlwZSBvZiB0aGlzIGFkanVkaWNhdGlvbiByZWNvcmQuIEluZm9ybWF0aW9uIHR5cGVzIG1heSBpbmNsdWRlIHRoZSB2YWx1ZSBzdWJtaXR0ZWQsIG1heGltdW0gdmFsdWVzIG9yIHBlcmNlbnRhZ2VzIGFsbG93ZWQgb3IgcGF5YWJsZSB1bmRlciB0aGUgcGxhbiwgYW1vdW50cyB0aGF0OiB0aGUgcGF0aWVudCBpcyByZXNwb25zaWJsZSBmb3IgaW4gYWdncmVnYXRlIG9yIHBlcnRhaW5pbmcgdG8gdGhpcyBpdGVtOyBhbW91bnRzIHBhaWQgYnkgb3RoZXIgY292ZXJhZ2VzOyBhbmQsIHRoZSBiZW5lZml0IHBheWFibGUgZm9yIHRoaXMgaXRlbS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGNvZGVzIGluZGljYXRpbmc6IENvLVBheSwgZGVkdWN0aWJsZSwgZWxpZ2libGUsIGJlbmVmaXQsIHRheCwgZXRjLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uIG9mIGFkanVkaWNhdGlvbiBvdXRjb21lIiBkZWZpbml0aW9uPSJBIGNvZGUgc3VwcG9ydGluZyB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdCBhbmQgZXhwbGFpbmluZyB2YXJpYW5jZSBmcm9tIGV4cGVjdGVkIGFtb3VudC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSBmdW5kcyBmb3IgdGhpcyBiZW5lZml0IHR5cGUgaGF2ZSBiZWVuIGV4aGF1c3RlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGp1ZGljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTW9uZXRhcnkgYW1vdW50IiBkZWZpbml0aW9uPSJNb25ldGFyeSBhbW91bnQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYXRlZ29yeS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBhbW91bnQgc3VibWl0dGVkLCBlbGlnaWJsZSBhbW91bnQsIGNvLXBheW1lbnQsIGFuZCBiZW5lZml0IHBheWFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5vbi1tb25ldGFyeSB2YWx1ZSIgZGVmaW5pdGlvbj0iQSBub24tbW9uZXRhcnkgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYXRlZ29yeS4gTXV0dWFsbHkgZXhjbHVzaXZlIHRvIHRoZSBhbW91bnQgZWxlbWVudCBhYm92ZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBlbGlnaWJsZSBwZXJjZW50YWdlIG9yIGNvLXBheW1lbnQgcGVyY2VudGFnZS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGFpbSBkZXRhaWwgaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgcmVmZXJlbmNlIHRoZSBjbGFpbSBkZXRhaWwgZW50cnkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlsIGxldmVsIGFkanVkaWNhdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJDbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJEZXRhaWwiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gZm9yIGNsYWltIHN1Yi1kZXRhaWxzIiBkZWZpbml0aW9uPSJBIHN1Yi1kZXRhaWwgYWRqdWRpY2F0aW9uIG9mIGEgc2ltcGxlIHByb2R1Y3Qgb3Igc2VydmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbFNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xhaW0gc3ViLWRldGFpbCBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSByZWZlcmVuY2UgdGhlIGNsYWltIHN1Yi1kZXRhaWwgZW50cnkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGVOdW1iZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBub3RlIG51bWJlcnMiIGRlZmluaXRpb249IlRoZSBudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCBub3RlcyBiZWxvdyB3aGljaCBhcHBseSB0byB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJTdWJkZXRhaWwgbGV2ZWwgYWRqdWRpY2F0aW9uIGRldGFpbHMiIGRlZmluaXRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVzdWx0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuUGF5bWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGFydGlhbCBvciBjb21wbGV0ZSBwYXltZW50IiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcmVwcmVzZW50cyBwYXJ0aWFsIG9yIGNvbXBsZXRlIHBheW1lbnQgb2YgdGhlIGJlbmVmaXRzIHBheWFibGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5bWVudFR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSAocGFydGlhbCwgY29tcGxldGUpIG9mIHRoZSBwYXltZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1c3RtZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF5bWVudCBhZGp1c3RtZW50IGZvciBub24tY2xhaW0gaXNzdWVzIiBkZWZpbml0aW9uPSJUb3RhbCBhbW91bnQgb2YgYWxsIGFkanVzdG1lbnRzIHRvIHRoaXMgcGF5bWVudCBpbmNsdWRlZCBpbiB0aGlzIHRyYW5zYWN0aW9uIHdoaWNoIGFyZSBub3QgcmVsYXRlZCB0byB0aGlzIGNsYWltJ3MgYWRqdWRpY2F0aW9uLiIgY29tbWVudD0iSW5zdXJlcnMgd2lsbCBkZWR1Y3QgYW1vdW50cyBvd2luZyBmcm9tIHRoZSBwcm92aWRlciAoYWRqdXN0bWVudCksIHN1Y2ggYXMgYSBwcmlvciBvdmVycGF5bWVudCwgZnJvbSB0aGUgYW1vdW50IG93aW5nIHRvIHRoZSBwcm92aWRlciAoYmVuZWZpdHMgcGF5YWJsZSkgd2hlbiBwYXltZW50IGlzIG1hZGUgdG8gdGhlIHByb3ZpZGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1c3RtZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbiBmb3IgdGhlIGFkanVzdG1lbnQiIGRlZmluaXRpb249IlJlYXNvbiBmb3IgdGhlIHBheW1lbnQgYWRqdXN0bWVudC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQYXltZW50QWRqdXN0bWVudFJlYXNvbiIgZGVzY3JpcHRpb249IlBheW1lbnQgQWRqdXN0bWVudCByZWFzb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFeHBlY3RlZCBkYXRlIG9mIHBheW1lbnQiIGRlZmluaXRpb249IkVzdGltYXRlZCBkYXRlIHRoZSBwYXltZW50IHdpbGwgYmUgaXNzdWVkIG9yIHRoZSBhY3R1YWwgaXNzdWUgZGF0ZSBvZiBwYXltZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXlhYmxlIGFtb3VudCBhZnRlciBhZGp1c3RtZW50IiBkZWZpbml0aW9uPSJCZW5lZml0cyBwYXlhYmxlIGxlc3MgYW55IHBheW1lbnQgYWRqdXN0bWVudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhlIHBheW1lbnQiIGRlZmluaXRpb249Iklzc3VlcidzIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcGF5bWVudCBpbnN0cnVtZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IEVGVCBudW1iZXIgb3IgY2hlY2sgbnVtYmVyLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLlByb2Nlc3NOb3RlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJudW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOb3RlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGEgbm90ZSBlbnRyeS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3RlVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkaXNwbGF5IHwgcHJpbnQgfCBwcmludG9wZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBwdXJwb3NlIG9mIHRoZSBub3RlIHRleHQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTm90ZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgcHJlc2VudGF0aW9uIHR5cGVzIG9mIG5vdGVzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTm90ZSBleHBsYW5hdG9yeSB0ZXh0IiBkZWZpbml0aW9uPSJUaGUgZXhwbGFuYXRpb24gb3IgZGVzY3JpcHRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9jZXNzaW5nLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTGFuZ3VhZ2Ugb2YgdGhlIHRleHQiIGRlZmluaXRpb249IkEgY29kZSB0byBkZWZpbmUgdGhlIGxhbmd1YWdlIHVzZWQgaW4gdGhlIHRleHQgb2YgdGhlIG5vdGUuIiBjb21tZW50PSJPbmx5IHJlcXVpcmVkIGlmIHRoZSBsYW5ndWFnZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcmVzb3VyY2UgbGFuZ3VhZ2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuVG90YWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGFkanVkaWNhdGlvbiBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIHRoZSBpbmZvcm1hdGlvbiB0eXBlIG9mIHRoaXMgYWRqdWRpY2F0aW9uIHJlY29yZC4gSW5mb3JtYXRpb24gdHlwZXMgbWF5IGluY2x1ZGU6IHRoZSB2YWx1ZSBzdWJtaXR0ZWQsIG1heGltdW0gdmFsdWVzIG9yIHBlcmNlbnRhZ2VzIGFsbG93ZWQgb3IgcGF5YWJsZSB1bmRlciB0aGUgcGxhbiwgYW1vdW50cyB0aGF0IHRoZSBwYXRpZW50IGlzIHJlc3BvbnNpYmxlIGZvciBpbiBhZ2dyZWdhdGUgb3IgcGVydGFpbmluZyB0byB0aGlzIGl0ZW0sIGFtb3VudHMgcGFpZCBieSBvdGhlciBjb3ZlcmFnZXMsIGFuZCB0aGUgYmVuZWZpdCBwYXlhYmxlIGZvciB0aGlzIGl0ZW0uIiBjb21tZW50PSJGb3IgZXhhbXBsZSBjb2RlcyBpbmRpY2F0aW5nOiBDby1QYXksIGRlZHVjdGlibGUsIGVsaWdpYmxlLCBiZW5lZml0LCB0YXgsIGV0Yy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGaW5hbmNpYWwgdG90YWwgZm9yIHRoZSBjYXRlZ29yeSIgZGVmaW5pdGlvbj0iTW9uZXRhcnkgdG90YWwgYW1vdW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0ZWdvcnkuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29tbXVuaWNhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY29tbXVuaWNhdGlvbiIgbGFiZWw9IlFJQ29yZSBDb21tdW5pY2F0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0b3BpYyI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ29tbXVuaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQW4gb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtdXN0IHBvaW50IHRvIHNvbWUgc29ydCBvZiBhICdSZXF1ZXN0JyByZXNvdXJjZSwgc3VjaCBhcyBDYXJlUGxhbiwgQ29tbXVuaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgZXRjLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiB0aGlzIGFjdGlvbiIgZGVmaW5pdGlvbj0iUGFydCBvZiB0aGlzIGFjdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImluUmVzcG9uc2VUbyIgZGVzY3JpcHRpb249IlJlcGx5IHRvIiBkZWZpbml0aW9uPSJQcmlvciBjb21tdW5pY2F0aW9uIHRoYXQgdGhpcyBjb21tdW5pY2F0aW9uIGlzIGluIHJlc3BvbnNlIHRvLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJlcGFyYXRpb24gfCBpbi1wcm9ncmVzcyB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBhYm9ydGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgY29tbXVuaWNhdGlvbiBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIENvbW11bmljYXRpb24uIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O25vdC1kb25lJnF1b3Q7LCAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7YWJvcnRlZCZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBtZXNzYWdlIGNvbnZleWVkIHN1Y2ggYXMgYWxlcnQsIG5vdGlmaWNhdGlvbiwgcmVtaW5kZXIsIGluc3RydWN0aW9uLCBldGMuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhlcyBvZiBjYXRlZ29yaXphdGlvbiBhbmQgb25lIGNvbW11bmljYXRpb24gbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25Qcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkNoYXJhY3Rlcml6ZXMgaG93IHF1aWNrbHkgdGhlIHBsYW5uZWQgb3IgaW4gcHJvZ3Jlc3MgY29tbXVuaWNhdGlvbiBtdXN0IGJlIGFkZHJlc3NlZC4gSW5jbHVkZXMgY29uY2VwdHMgc3VjaCBhcyBzdGF0LCB1cmdlbnQsIHJvdXRpbmUuIiBjb21tZW50PSJVc2VkIHRvIHByaW9yaXRpemUgd29ya2Zsb3cgKHN1Y2ggYXMgd2hpY2ggY29tbXVuaWNhdGlvbiB0byByZWFkIGZpcnN0KSB3aGVuIHRoZSBjb21tdW5pY2F0aW9uIGlzIHBsYW5uZWQgb3IgaW4gcHJvZ3Jlc3MuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblByaW9yaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgcmVsYXRpdmUgaW1wb3J0YW5jZSBvZiBhIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpdW0iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBIGNoYW5uZWwgb2YgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjaGFubmVsIHRoYXQgd2FzIHVzZWQgZm9yIHRoaXMgY29tbXVuaWNhdGlvbiAoZS5nLiBlbWFpbCwgZmF4KS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25NZWRpdW0iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgY29tbXVuaWNhdGlvbiBtZWRpdW1zIHN1Y2ggYXMgcGhvbmUsIGZheCwgZW1haWwsIGluIHBlcnNvbiwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkZvY3VzIG9mIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHRoYXQgd2FzIHRoZSBmb2N1cyBvZiB0aGlzIGNvbW11bmljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0b3BpYyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCwgc2ltaWxhciB0byBhIHN1YmplY3QgbGluZSBpbiBhbiBlbWFpbC4iIGNvbW1lbnQ9IkNvbW11bmljYXRpb24udG9waWMudGV4dCBjYW4gYmUgdXNlZCB3aXRob3V0IGFueSBjb2RpbmdzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWJvdXQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gYW5kIHRvIHdoaWNoIHRoaXMgY29tbXVuaWNhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IkRvbid0IHVzZSBDb21tdW5pY2F0aW9uLmFib3V0IGVsZW1lbnQgd2hlbiBhIG1vcmUgc3BlY2lmaWMgZWxlbWVudCBleGlzdHMsIHN1Y2ggYXMgYmFzZWRPbiBvciByZWFzb25SZWZlcmVuY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHNlbnQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhpcyBjb21tdW5pY2F0aW9uIHdhcyBzZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjZWl2ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiByZWNlaXZlZCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgd2hlbiB0aGlzIGNvbW11bmljYXRpb24gYXJyaXZlZCBhdCB0aGUgZGVzdGluYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBjYXJlIHRlYW0gb3IgZGV2aWNlKSB3aGljaCB3YXMgdGhlIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gSWYgcmVjZWlwdHMgbmVlZCB0byBiZSB0cmFja2VkIGJ5IGFuIGluZGl2aWR1YWwsIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2lsbCBuZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGVhY2ggcmVjaXBpZW50LiAgTXVsdGlwbGUgcmVjaXBpZW50IGNvbW11bmljYXRpb25zIGFyZSBpbnRlbmRlZCB3aGVyZSBlaXRoZXIgcmVjZWlwdHMgYXJlIG5vdCB0cmFja2VkIChlLmcuIGEgbWFzcyBtYWlsLW91dCkgb3IgYSByZWNlaXB0IGlzIGNhcHR1cmVkIGluIGFnZ3JlZ2F0ZSAoYWxsIGVtYWlscyBjb25maXJtZWQgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHRpbWUpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlbmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHNlbmRlciIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBvciBkZXZpY2UpIHdoaWNoIHdhcyB0aGUgc291cmNlIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRpb24gZm9yIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIGNvbW11bmljYXRpb24uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkZXNjcmliaW5nIHJlYXNvbnMgZm9yIHRoZSBvY2N1cnJlbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHdhcyBjb21tdW5pY2F0aW9uIGRvbmU/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBheWxvYWQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHBheWxvYWQiIGRlZmluaXRpb249IlRleHQsIGF0dGFjaG1lbnQocyksIG9yIHJlc291cmNlKHMpIHRoYXQgd2FzIGNvbW11bmljYXRlZCB0byB0aGUgcmVjaXBpZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb24uUGF5bG9hZCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgbm90ZXMgb3IgY29tbWVudGFyeSBhYm91dCB0aGUgY29tbXVuaWNhdGlvbiBieSB0aGUgc2VuZGVyLCByZWNlaXZlciBvciBvdGhlciBpbnRlcmVzdGVkIHBhcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0icmVjaXBpZW50Ii8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb24uUGF5bG9hZCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHBhcnQgY29udGVudCIgZGVmaW5pdGlvbj0iQSBjb21tdW5pY2F0ZWQgY29udGVudCAob3IgZm9yIG11bHRpLXBhcnQgY29tbXVuaWNhdGlvbnMsIG9uZSBwb3J0aW9uIG9mIHRoZSBjb21tdW5pY2F0aW9uKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb21tdW5pY2F0aW9ubm90ZG9uZSIgbGFiZWw9IlFpQ29yZSBDb21tdW5pY2F0aW9uIE5vdCBEb25lIiB0YXJnZXQ9IkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InRvcGljIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTm90RG9uZVJlY29yZGVkIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcmVjb3JkZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlY29yZGVkIGRhdGUgb2YgdGhlIGV2ZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNvbW11bmljYXRpb24gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENvbW11bmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQgYnkgdGhpcyBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBbiBvcmRlciwgcHJvcG9zYWwgb3IgcGxhbiBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENvbW11bmljYXRpb24uIiBjb21tZW50PSJUaGlzIG11c3QgcG9pbnQgdG8gc29tZSBzb3J0IG9mIGEgJ1JlcXVlc3QnIHJlc291cmNlLCBzdWNoIGFzIENhcmVQbGFuLCBDb21tdW5pY2F0aW9uUmVxdWVzdCwgU2VydmljZVJlcXVlc3QsIE1lZGljYXRpb25SZXF1ZXN0LCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHRoaXMgYWN0aW9uIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoaXMgYWN0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5SZXNwb25zZVRvIiBkZXNjcmlwdGlvbj0iUmVwbHkgdG8iIGRlZmluaXRpb249IlByaW9yIGNvbW11bmljYXRpb24gdGhhdCB0aGlzIGNvbW11bmljYXRpb24gaXMgaW4gcmVzcG9uc2UgdG8uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcmVwYXJhdGlvbiB8IGluLXByb2dyZXNzIHwgbm90LWRvbmUgfCBvbi1ob2xkIHwgc3RvcHBlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSB0cmFuc21pc3Npb24uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZXMgYWJvcnRlZCBhbmQgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmsgdGhlIGNvbW11bmljYXRpb24gYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgY29udmV5ZWQgc3VjaCBhcyBhbGVydCwgbm90aWZpY2F0aW9uLCByZW1pbmRlciwgaW5zdHJ1Y3Rpb24sIGV0Yy4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgY29tbXVuaWNhdGlvbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgY29tbXVuaWNhdGlvbnMgc3VjaCBhcyBhbGVydHMsIGluc3RydWN0aW9ucywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJDaGFyYWN0ZXJpemVzIGhvdyBxdWlja2x5IHRoZSBwbGFubmVkIG9yIGluIHByb2dyZXNzIGNvbW11bmljYXRpb24gbXVzdCBiZSBhZGRyZXNzZWQuIEluY2x1ZGVzIGNvbmNlcHRzIHN1Y2ggYXMgc3RhdCwgdXJnZW50LCByb3V0aW5lLiIgY29tbWVudD0iVXNlZCB0byBwcmlvcml0aXplIHdvcmtmbG93IChzdWNoIGFzIHdoaWNoIGNvbW11bmljYXRpb24gdG8gcmVhZCBmaXJzdCkgd2hlbiB0aGUgY29tbXVuaWNhdGlvbiBpcyBwbGFubmVkIG9yIGluIHByb2dyZXNzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25Qcmlvcml0eSIgZGVzY3JpcHRpb249IkNvZGVzIGluZGljYXRpbmcgdGhlIHJlbGF0aXZlIGltcG9ydGFuY2Ugb2YgYSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaXVtIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQSBjaGFubmVsIG9mIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IkEgY2hhbm5lbCB0aGF0IHdhcyB1c2VkIGZvciB0aGlzIGNvbW11bmljYXRpb24gKGUuZy4gZW1haWwsIGZheCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25NZWRpdW0iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgY29tbXVuaWNhdGlvbiBtZWRpdW1zIHN1Y2ggYXMgcGhvbmUsIGZheCwgZW1haWwsIGluIHBlcnNvbiwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkZvY3VzIG9mIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHRoYXQgd2FzIHRoZSBmb2N1cyBvZiB0aGlzIGNvbW11bmljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0b3BpYyIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50LnRvcGljLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQsIHNpbWlsYXIgdG8gYSBzdWJqZWN0IGxpbmUgaW4gYW4gZW1haWwuIiBjb21tZW50PSJDb21tdW5pY2F0aW9uLnRvcGljLnRleHQgY2FuIGJlIHVzZWQgd2l0aG91dCBhbnkgY29kaW5ncy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uVG9waWMiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSBwdXJwb3NlIG9yIGNvbnRlbnQgb2YgdGhlIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWJvdXQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gYW5kIHRvIHdoaWNoIHRoaXMgY29tbXVuaWNhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IkRvbid0IHVzZSBDb21tdW5pY2F0aW9uLmFib3V0IGVsZW1lbnQgd2hlbiBhIG1vcmUgc3BlY2lmaWMgZWxlbWVudCBleGlzdHMsIHN1Y2ggYXMgYmFzZWRPbiBvciByZWFzb25SZWZlcmVuY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gc2VudCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgd2hlbiB0aGlzIGNvbW11bmljYXRpb24gd2FzIHNlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVjZWl2ZWQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhpcyBjb21tdW5pY2F0aW9uIGFycml2ZWQgYXQgdGhlIGRlc3RpbmF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBjYXJlIHRlYW0gb3IgZGV2aWNlKSB3aGljaCB3YXMgdGhlIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gSWYgcmVjZWlwdHMgbmVlZCB0byBiZSB0cmFja2VkIGJ5IGFuIGluZGl2aWR1YWwsIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2lsbCBuZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGVhY2ggcmVjaXBpZW50LiAgTXVsdGlwbGUgcmVjaXBpZW50IGNvbW11bmljYXRpb25zIGFyZSBpbnRlbmRlZCB3aGVyZSBlaXRoZXIgcmVjZWlwdHMgYXJlIG5vdCB0cmFja2VkIChlLmcuIGEgbWFzcyBtYWlsLW91dCkgb3IgYSByZWNlaXB0IGlzIGNhcHR1cmVkIGluIGFnZ3JlZ2F0ZSAoYWxsIGVtYWlscyBjb25maXJtZWQgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHRpbWUpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik1lc3NhZ2Ugc2VuZGVyIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIG9yIGRldmljZSkgd2hpY2ggd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIGNvbW11bmljYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIGZvciBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSBjb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGV4dHVhbCByZWFzb25zIGNhbiBiZSBjYXB0dXJlZCB1c2luZyByZWFzb25Db2RlLnRleHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZGVzY3JpYmluZyByZWFzb25zIGZvciB0aGUgb2NjdXJyZW5jZSBvZiBhIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgY29tbXVuaWNhdGlvbiBkb25lPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIGNvbW11bmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXlsb2FkIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXlsb2FkIiBkZWZpbml0aW9uPSJUZXh0LCBhdHRhY2htZW50KHMpLCBvciByZXNvdXJjZShzKSB0aGF0IHdhcyBjb21tdW5pY2F0ZWQgdG8gdGhlIHJlY2lwaWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uLlBheWxvYWQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5vdGVzIG9yIGNvbW1lbnRhcnkgYWJvdXQgdGhlIGNvbW11bmljYXRpb24gYnkgdGhlIHNlbmRlciwgcmVjZWl2ZXIgb3Igb3RoZXIgaW50ZXJlc3RlZCBwYXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Qcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29tbXVuaWNhdGlvblJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNvbW11bmljYXRpb25yZXF1ZXN0IiBsYWJlbD0iUUlDb3JlIENvbW11bmljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjYXRlZ29yeSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIHJlcXVlc3QgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4gb3IgcHJvcG9zYWwiIGRlZmluaXRpb249IkEgcGxhbiBvciBwcm9wb3NhbCB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgcmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iUmVxdWVzdChzKSByZXBsYWNlZCBieSB0aGlzIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbXBsZXRlZCBvciB0ZXJtaW5hdGVkIHJlcXVlc3Qocykgd2hvc2UgZnVuY3Rpb24gaXMgdGFrZW4gYnkgdGhpcyBuZXcgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoZSByZXBsYWNlbWVudCBjb3VsZCBiZSBiZWNhdXNlIHRoZSBpbml0aWFsIHJlcXVlc3Qgd2FzIGltbWVkaWF0ZWx5IHJlamVjdGVkIChkdWUgdG8gYW4gaXNzdWUpIG9yIGJlY2F1c2UgdGhlIHByZXZpb3VzIHJlcXVlc3Qgd2FzIGNvbXBsZXRlZCwgYnV0IHRoZSBuZWVkIGZvciB0aGUgYWN0aW9uIGRlc2NyaWJlZCBieSB0aGUgcmVxdWVzdCByZW1haW5zIG9uZ29pbmcuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcmVxdWlzaXRpb24sIHByZXNjcmlwdGlvbiBvciBzaW1pbGFyIGZvcm0uIiBjb21tZW50PSJSZXF1ZXN0cyBhcmUgbGlua2VkIGVpdGhlciBieSBhICZxdW90O2Jhc2VkT24mcXVvdDsgcmVsYXRpb25zaGlwIChpLmUuIG9uZSByZXF1ZXN0IGlzIGZ1bGZpbGxpbmcgYW5vdGhlcikgb3IgYnkgaGF2aW5nIGEgY29tbW9uIHJlcXVpc2l0aW9uLiAgUmVxdWVzdHMgdGhhdCBhcmUgcGFydCBvZiB0aGUgc2FtZSByZXF1aXNpdGlvbiBhcmUgZ2VuZXJhbGx5IHRyZWF0ZWQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBjaGFuZ2luZyB0aGVpciBzdGF0ZSBvciBtYWludGFpbmluZyB0aGVtIGFmdGVyIGluaXRpYWwgY3JlYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHByb3Bvc2FsIG9yIG9yZGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIENvbW11bmljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiAgVGhlIHJlYXNvbiB3aHkgdGhlIENvbW11bmljYXRpb25SZXF1ZXN0IHdhcyBjcmVhdGVkIGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4gIFtkaXN0aW5jdCByZWFzb24gY29kZXMgZm9yIGRpZmZlcmVudCBzdGF0dXNlcyBjYW4gYmUgZW5mb3JjZWQgdXNpbmcgaW52YXJpYW50cyBpZiB0aGV5IGFyZSB1bml2ZXJzYWwgYmluZGluZ3NdLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSByZXF1ZXN0LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgdG8gYmUgc2VudCBzdWNoIGFzIGFsZXJ0LCBub3RpZmljYXRpb24sIHJlbWluZGVyLCBpbnN0cnVjdGlvbiwgZXRjLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4ZXMgb2YgY2F0ZWdvcml6YXRpb24gYW5kIG9uZSBjb21tdW5pY2F0aW9uIHJlcXVlc3QgbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25Qcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkNoYXJhY3Rlcml6ZXMgaG93IHF1aWNrbHkgdGhlIHByb3Bvc2VkIGFjdCBtdXN0IGJlIGluaXRpYXRlZC4gSW5jbHVkZXMgY29uY2VwdHMgc3VjaCBhcyBzdGF0LCB1cmdlbnQsIHJvdXRpbmUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblByaW9yaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgcmVsYXRpdmUgaW1wb3J0YW5jZSBvZiBhIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvTm90UGVyZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRydWUgaWYgcmVxdWVzdCBpcyBwcm9oaWJpdGluZyBhY3Rpb24iIGRlZmluaXRpb249IklmIHRydWUgaW5kaWNhdGVzIHRoYXQgdGhlIENvbW11bmljYXRpb25SZXF1ZXN0IGlzIGFza2luZyBmb3IgdGhlIHNwZWNpZmllZCBhY3Rpb24gdG8gKm5vdCogb2NjdXIuIiBjb21tZW50PSJUaGUgYXR0cmlidXRlcyBwcm92aWRlZCB3aXRoIHRoZSByZXF1ZXN0IHF1YWxpZnkgd2hhdCBpcyBub3QgdG8gYmUgZG9uZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGl1bSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkEgY2hhbm5lbCBvZiBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBIGNoYW5uZWwgdGhhdCB3YXMgdXNlZCBmb3IgdGhpcyBjb21tdW5pY2F0aW9uIChlLmcuIGVtYWlsLCBmYXgpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uTWVkaXVtIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGNvbW11bmljYXRpb24gbWVkaXVtcyBzdWNoIGFzIHBob25lLCBmYXgsIGVtYWlsLCBpbiBwZXJzb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJGb2N1cyBvZiBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCB0aGF0IGlzIHRoZSBmb2N1cyBvZiB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFib3V0IiBkZXNjcmlwdGlvbj0iUmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCBhbmQgdG8gd2hpY2ggdGhpcyBjb21tdW5pY2F0aW9uIHJlcXVlc3Qgc2hvdWxkIGJlIGFzc29jaWF0ZWQuIiBjb21tZW50PSJEb24ndCB1c2UgQ29tbXVuaWNhdGlvblJlcXVlc3QuYWJvdXQgZWxlbWVudCB3aGVuIGEgbW9yZSBzcGVjaWZpYyBlbGVtZW50IGV4aXN0cywgc3VjaCBhcyBiYXNlZE9uLCByZWFzb25SZWZlcmVuY2UsIG9yIHJlcGxhY2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29tbXVuaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXlsb2FkIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXlsb2FkIiBkZWZpbml0aW9uPSJUZXh0LCBhdHRhY2htZW50KHMpLCBvciByZXNvdXJjZShzKSB0byBiZSBjb21tdW5pY2F0ZWQgdG8gdGhlIHJlY2lwaWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUmVxdWVzdC5QYXlsb2FkIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gc2NoZWR1bGVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiBpcyB0byBvY2N1ci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVxdWVzdCB0cmFuc2l0aW9uZWQgdG8gYmVpbmcgYWN0aW9uYWJsZSIgZGVmaW5pdGlvbj0iRm9yIGRyYWZ0IHJlcXVlc3RzLCBpbmRpY2F0ZXMgdGhlIGRhdGUgb2YgaW5pdGlhbCBjcmVhdGlvbi4gIEZvciByZXF1ZXN0cyB3aXRoIG90aGVyIHN0YXR1c2VzLCBpbmRpY2F0ZXMgdGhlIGRhdGUgb2YgYWN0aXZhdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSwgaW5kaXZpZHVhbCwgb3Igb3JnYW5pemF0aW9uIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2lwaWVudCIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgcmVjaXBpZW50IiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIGRldmljZSwgZ3JvdXAsIG9yIGNhcmUgdGVhbSkgd2hpY2ggaXMgdGhlIGludGVuZGVkIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZW5kZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBzZW5kZXIiIGRlZmluaXRpb249IlRoZSBlbnRpdHkgKGUuZy4gcGVyc29uLCBvcmdhbml6YXRpb24sIGNsaW5pY2FsIGluZm9ybWF0aW9uIHN5c3RlbSwgb3IgZGV2aWNlKSB3aGljaCBpcyB0byBiZSB0aGUgc291cmNlIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBpcyBjb21tdW5pY2F0aW9uIG5lZWRlZD8iIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aHkgdGhlIHJlcXVlc3QgaXMgYmVpbmcgbWFkZSBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkZXNjcmliaW5nIHJlYXNvbnMgZm9yIHRoZSBvY2N1cnJlbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IGlzIGNvbW11bmljYXRpb24gbmVlZGVkPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCBjb21tdW5pY2F0aW9uIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHJlcXVlc3QgYnkgdGhlIHJlcXVlc3Rlciwgc2VuZGVyLCByZWNpcGllbnQsIHN1YmplY3Qgb3Igb3RoZXIgcGFydGljaXBhbnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0icmVjaXBpZW50Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25SZXF1ZXN0LlBheWxvYWQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRlbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXJ0IGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBjb21tdW5pY2F0ZWQgY29udGVudCAob3IgZm9yIG11bHRpLXBhcnQgY29tbXVuaWNhdGlvbnMsIG9uZSBwb3J0aW9uIG9mIHRoZSBjb21tdW5pY2F0aW9uKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb25kaXRpb24uRXZpZGVuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNYW5pZmVzdGF0aW9uL3N5bXB0b20iIGRlZmluaXRpb249IkEgbWFuaWZlc3RhdGlvbiBvciBzeW1wdG9tIHRoYXQgbGVkIHRvIHRoZSByZWNvcmRpbmcgb2YgdGhpcyBjb25kaXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1hbmlmZXN0YXRpb25PclN5bXB0b20iIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IGRlc2NyaWJlIHRoZSBtYW5pZmVzdGF0aW9uIG9yIHN5bXB0b21zIG9mIGEgY29uZGl0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIGZvdW5kIGVsc2V3aGVyZSIgZGVmaW5pdGlvbj0iTGlua3MgdG8gb3RoZXIgcmVsZXZhbnQgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbmRpdGlvbi5TdGFnZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VtbWFyeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2ltcGxlIHN1bW1hcnkgKGRpc2Vhc2Ugc3BlY2lmaWMpIiBkZWZpbml0aW9uPSJBIHNpbXBsZSBzdW1tYXJ5IG9mIHRoZSBzdGFnZSBzdWNoIGFzICZxdW90O1N0YWdlIDMmcXVvdDsuIFRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzdGFnZSBpcyBkaXNlYXNlLXNwZWNpZmljLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb25kaXRpb24gc3RhZ2VzIChlLmcuIENhbmNlciBzdGFnZXMpLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2Vzc21lbnQiIGRlc2NyaXB0aW9uPSJGb3JtYWwgcmVjb3JkIG9mIGFzc2Vzc21lbnQiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byBhIGZvcm1hbCByZWNvcmQgb2YgdGhlIGV2aWRlbmNlIG9uIHdoaWNoIHRoZSBzdGFnaW5nIGFzc2Vzc21lbnQgaXMgYmFzZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IktpbmQgb2Ygc3RhZ2luZyIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2Ygc3RhZ2luZywgc3VjaCBhcyBwYXRob2xvZ2ljYWwgb3IgY2xpbmljYWwgc3RhZ2luZy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25TdGFnZVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSBraW5kIG9mIGNvbmRpdGlvbiBzdGFnaW5nIChlLmcuIGNsaW5pY2FsIG9yIHBhdGhvbG9naWNhbCkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb25kaXRpb24tZW5jb3VudGVyLWRpYWdub3NpcyIgbGFiZWw9IlFJQ29yZSBDb25kaXRpb24gRW5jb3VudGVyIERpYWdub3NpcyIgdGFyZ2V0PSJDb25kaXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlZERhdGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXNzZXJ0ZWREYXRlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgdGhlIGNvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSBleGlzdGVuY2Ugb2YgdGhlIENvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQgb3IgYWNrbm93bGVkZ2VkLiIgY29tbWVudD0iVGhlIGFzc2VydGVkRGF0ZSBpcyBpbiB0aGUgY29udGV4dCBvZiB0aGUgcmVjb3JkaW5nIHByYWN0aXRpb25lciBhbmQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSByZWNvcmRlZERhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRzIGZvciB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb25kaXRpb24gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IHJlY3VycmVuY2UgfCByZWxhcHNlIHwgaW5hY3RpdmUgfCByZW1pc3Npb24gfCByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSBjbGluaWNhbFN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcmlmaWNhdGlvblN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0idW5jb25maXJtZWQgfCBwcm92aXNpb25hbCB8IGRpZmZlcmVudGlhbCB8IGNvbmZpcm1lZCB8IHJlZnV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgdmVyaWZpY2F0aW9uIHN0YXR1cyB0byBzdXBwb3J0IHRoZSBjbGluaWNhbCBzdGF0dXMgb2YgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9InZlcmlmaWNhdGlvblN0YXR1cyBpcyBub3QgcmVxdWlyZWQuICBGb3IgZXhhbXBsZSwgd2hlbiBhIHBhdGllbnQgaGFzIGFiZG9taW5hbCBwYWluIGluIHRoZSBFRCwgdGhlcmUgaXMgbm90IGxpa2VseSBnb2luZyB0byBiZSBhIHZlcmlmaWNhdGlvbiBzdGF0dXMuJiN4YTtUaGUgZGF0YSB0eXBlIGlzIENvZGVhYmxlQ29uY2VwdCBiZWNhdXNlIHZlcmlmaWNhdGlvblN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iY2F0ZWdvcnkgY29kZXMiIGRlZmluaXRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yaXphdGlvbiBpcyBvZnRlbiBoaWdobHkgY29udGV4dHVhbCBhbmQgbWF5IGFwcGVhciBwb29ybHkgZGlmZmVyZW50aWF0ZWQgb3Igbm90IHZlcnkgdXNlZnVsIGluIG90aGVyIGNvbnRleHRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249ImVuY291bnRlci1kaWFnbm9zaXMiIGRlZmluaXRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yaXphdGlvbiBpcyBvZnRlbiBoaWdobHkgY29udGV4dHVhbCBhbmQgbWF5IGFwcGVhciBwb29ybHkgZGlmZmVyZW50aWF0ZWQgb3Igbm90IHZlcnkgdXNlZnVsIGluIG90aGVyIGNvbnRleHRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2V2ZXJpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlN1YmplY3RpdmUgc2V2ZXJpdHkgb2YgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHN1YmplY3RpdmUgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGNvbmRpdGlvbiBhcyBldmFsdWF0ZWQgYnkgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkNvZGluZyBvZiB0aGUgc2V2ZXJpdHkgd2l0aCBhIHRlcm1pbm9sb2d5IGlzIHByZWZlcnJlZCwgd2hlcmUgcG9zc2libGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBjb25kaXRpb24sIHByb2JsZW0gb3IgZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3Npcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlZhbHVlc2V0IHRvIGRlc2NyaWJlIHRoZSBhY3R1YWwgcHJvYmxlbSBleHBlcmllbmNlZCBieSB0aGUgcGF0aWVudCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgbG9jYXRpb24sIGlmIHJlbGV2YW50IiBkZWZpbml0aW9uPSJUaGUgYW5hdG9taWNhbCBsb2NhdGlvbiB3aGVyZSB0aGlzIGNvbmRpdGlvbiBtYW5pZmVzdHMgaXRzZWxmLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIENvbmRpdGlvbi5jb2RlLiBJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiAgTWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBhIHJlZmVyZW5jZSB0byBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSBsb2NhdGlvbiwgb3IgYm90aC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGhhcyB0aGUgY29uZGl0aW9uPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdobyB0aGUgY29uZGl0aW9uIHJlY29yZCBpcyBhc3NvY2lhdGVkIHdpdGguIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb25kaXRpb24gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIFRoaXMgcmVjb3JkIGluZGljYXRlcyB0aGUgZW5jb3VudGVyIHRoaXMgcGFydGljdWxhciByZWNvcmQgaXMgYXNzb2NpYXRlZCB3aXRoLiAgSW4gdGhlIGNhc2Ugb2YgYSAmcXVvdDtuZXcmcXVvdDsgZGlhZ25vc2lzIHJlZmxlY3Rpbmcgb25nb2luZy9yZXZpc2VkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb25kaXRpb24sIHRoaXMgbWlnaHQgYmUgZGlzdGluY3QgZnJvbSB0aGUgZmlyc3QgZW5jb3VudGVyIGluIHdoaWNoIHRoZSB1bmRlcmx5aW5nIGNvbmRpdGlvbiB3YXMgZmlyc3QgJnF1b3Q7a25vd24mcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlIG9yIGRhdGUtdGltZSAgdGhlIGNvbmRpdGlvbiBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYmVnYW4gdG8gb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBpbiByZXNvbHV0aW9uL3JlbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZXN0aW1hdGVkIGRhdGUgdGhhdCB0aGUgY29uZGl0aW9uIHJlc29sdmVkIG9yIHdlbnQgaW50byByZW1pc3Npb24uIFRoaXMgaXMgY2FsbGVkICZxdW90O2FiYXRlbWVudCZxdW90OyBiZWNhdXNlIG9mIHRoZSBtYW55IG92ZXJsb2FkZWQgY29ubm90YXRpb25zIGFzc29jaWF0ZWQgd2l0aCAmcXVvdDtyZW1pc3Npb24mcXVvdDsgb3IgJnF1b3Q7cmVzb2x1dGlvbiZxdW90OyAtIENvbmRpdGlvbnMgYXJlIG5ldmVyIHJlYWxseSByZXNvbHZlZCwgYnV0IHRoZXkgY2FuIGFiYXRlLiIgY29tbWVudD0iVGhlcmUgaXMgbm8gZXhwbGljaXQgZGlzdGluY3Rpb24gYmV0d2VlbiByZXNvbHV0aW9uIGFuZCByZW1pc3Npb24gYmVjYXVzZSBpbiBtYW55IGNhc2VzIHRoZSBkaXN0aW5jdGlvbiBpcyBub3QgY2xlYXIuIEFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYWJhdGVkLiAgSWYgdGhlcmUgaXMgbm8gYWJhdGVtZW50IGVsZW1lbnQsIGl0IGlzIHVua25vd24gd2hldGhlciB0aGUgY29uZGl0aW9uIGhhcyByZXNvbHZlZCBvciBlbnRlcmVkIHJlbWlzc2lvbjsgYXBwbGljYXRpb25zIGFuZCB1c2VycyBzaG91bGQgZ2VuZXJhbGx5IGFzc3VtZSB0aGF0IHRoZSBjb25kaXRpb24gaXMgc3RpbGwgdmFsaWQuICBXaGVuIGFiYXRlbWVudFN0cmluZyBleGlzdHMsIGl0IGltcGxpZXMgdGhlIGNvbmRpdGlvbiBpcyBhYmF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQ29uZGl0aW9uIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBjb25kaXRpb24gc3RhdGVtZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YWdlIiBkZXNjcmlwdGlvbj0iU3RhZ2UvZ3JhZGUsIHVzdWFsbHkgYXNzZXNzZWQgZm9ybWFsbHkiIGRlZmluaXRpb249IkNsaW5pY2FsIHN0YWdlIG9yIGdyYWRlIG9mIGEgY29uZGl0aW9uLiBNYXkgaW5jbHVkZSBmb3JtYWwgc2V2ZXJpdHkgYXNzZXNzbWVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5TdGFnZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlN0YWdlIFNIQUxMIGhhdmUgc3VtbWFyeSBvciBhc3Nlc3NtZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InN1bW1hcnkuZXhpc3RzKCkgb3IgYXNzZXNzbWVudC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZpZGVuY2UiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIiBkZWZpbml0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIC8gbWFuaWZlc3RhdGlvbnMgdGhhdCBhcmUgdGhlIGJhc2lzIG9mIHRoZSBDb25kaXRpb24ncyB2ZXJpZmljYXRpb24gc3RhdHVzLCBzdWNoIGFzIGV2aWRlbmNlIHRoYXQgY29uZmlybWVkIG9yIHJlZnV0ZWQgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBldmlkZW5jZSBtYXkgYmUgYSBzaW1wbGUgbGlzdCBvZiBjb2RlZCBzeW1wdG9tcy9tYW5pZmVzdGF0aW9ucywgb3IgcmVmZXJlbmNlcyB0byBvYnNlcnZhdGlvbnMgb3IgZm9ybWFsIGFzc2Vzc21lbnRzLCBvciBib3RoLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5FdmlkZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0yIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImV2aWRlbmNlIFNIQUxMIGhhdmUgY29kZSBvciBkZXRhaWxzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImNvZGUuZXhpc3RzKCkgb3IgZGV0YWlsLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDb25kaXRpb24uIFRoaXMgaXMgYSBnZW5lcmFsIG5vdGVzL2NvbW1lbnRzIGVudHJ5ICBmb3IgZGVzY3JpcHRpb24gb2YgdGhlIENvbmRpdGlvbiwgaXRzIGRpYWdub3NpcyBhbmQgcHJvZ25vc2lzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY29uZGl0aW9uLXByb2JsZW1zLWhlYWx0aC1jb25jZXJucyIgbGFiZWw9IlFJQ29yZSBDb25kaXRpb24gUHJvYmxlbXMgSGVhbHRoIENvbmNlcm5zIiB0YXJnZXQ9IkNvbmRpdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVkRGF0ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5hc3NlcnRlZERhdGUiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLWFzc2VydGVkRGF0ZSddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSB0aGUgY29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb24gd2hpY2ggdGhlIGV4aXN0ZW5jZSBvZiB0aGUgQ29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCBvciBhY2tub3dsZWRnZWQuIiBjb21tZW50PSJUaGUgYXNzZXJ0ZWREYXRlIGlzIGluIHRoZSBjb250ZXh0IG9mIHRoZSByZWNvcmRpbmcgcHJhY3RpdGlvbmVyIGFuZCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHJlY29yZGVkRGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImR1ZVRvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLWR1ZVRvJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCBjYXVzZWQgdGhlIENvbmRpdGlvbj8iIGRlZmluaXRpb249IkZ1cnRoZXIgY29uZGl0aW9ucywgcHJvYmxlbXMsIGRpYWdub3NlcywgcHJvY2VkdXJlcyBvciBldmVudHMgb3IgdGhlIHN1YnN0YW5jZSB0aGF0IGNhdXNlZC90cmlnZ2VyZWQgdGhpcyBDb25kaXRpb24uIiBjb21tZW50PSJBbHRob3VnaCBhIGNvbmRpdGlvbiBtYXkgYmUgY2F1c2VkIGJ5IGEgc3Vic3RhbmNlLCB0aGlzIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIHJlY29yZCBhbGxlcmdpZXMvYWR2ZXJzZSByZWFjdGlvbnMgdG8gc3Vic3RhbmNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLmR1ZVRvIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlZEZvbGxvd2luZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1vY2N1cnJlZEZvbGxvd2luZyddLnZhbHVlKSIgZGVzY3JpcHRpb249IlByZWNlZGVudCBmb3IgdGhpcyBDb25kaXRpb24iIGRlZmluaXRpb249IkZ1cnRoZXIgY29uZGl0aW9ucywgcHJvYmxlbXMsIGRpYWdub3NlcywgcHJvY2VkdXJlcyBvciBldmVudHMgb3IgdGhlIHN1YnN0YW5jZSB0aGF0IHByZWNlZGVkIHRoaXMgQ29uZGl0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUub2NjdXJyZWRGb2xsb3dpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNvbmRpdGlvbiBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjbGluaWNhbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgcmVjdXJyZW5jZSB8IHJlbGFwc2UgfCBpbmFjdGl2ZSB8IHJlbWlzc2lvbiB8IHJlc29sdmVkIiBkZWZpbml0aW9uPSJUaGUgY2xpbmljYWwgc3RhdHVzIG9mIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgZGF0YSB0eXBlIGlzIENvZGVhYmxlQ29uY2VwdCBiZWNhdXNlIGNsaW5pY2FsU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmVyaWZpY2F0aW9uU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJ1bmNvbmZpcm1lZCB8IHByb3Zpc2lvbmFsIHwgZGlmZmVyZW50aWFsIHwgY29uZmlybWVkIHwgcmVmdXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSB2ZXJpZmljYXRpb24gc3RhdHVzIHRvIHN1cHBvcnQgdGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0idmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCByZXF1aXJlZC4gIEZvciBleGFtcGxlLCB3aGVuIGEgcGF0aWVudCBoYXMgYWJkb21pbmFsIHBhaW4gaW4gdGhlIEVELCB0aGVyZSBpcyBub3QgbGlrZWx5IGdvaW5nIHRvIGJlIGEgdmVyaWZpY2F0aW9uIHN0YXR1cy4mI3hhO1RoZSBkYXRhIHR5cGUgaXMgQ29kZWFibGVDb25jZXB0IGJlY2F1c2UgdmVyaWZpY2F0aW9uU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJjYXRlZ29yeSBjb2RlcyIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249InByb2JsZW0tbGlzdC1pdGVtIHwgaGVhbHRoLWNvbmNlcm4iIGRlZmluaXRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yaXphdGlvbiBpcyBvZnRlbiBoaWdobHkgY29udGV4dHVhbCBhbmQgbWF5IGFwcGVhciBwb29ybHkgZGlmZmVyZW50aWF0ZWQgb3Igbm90IHZlcnkgdXNlZnVsIGluIG90aGVyIGNvbnRleHRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2RvaCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icHJvYmxlbS1saXN0LWl0ZW0gfCBlbmNvdW50ZXItZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgY2F0ZWdvcml6YXRpb24gaXMgb2Z0ZW4gaGlnaGx5IGNvbnRleHR1YWwgYW5kIG1heSBhcHBlYXIgcG9vcmx5IGRpZmZlcmVudGlhdGVkIG9yIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBvdGhlciBjb250ZXh0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNldmVyaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTdWJqZWN0aXZlIHNldmVyaXR5IG9mIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQSBzdWJqZWN0aXZlIGFzc2Vzc21lbnQgb2YgdGhlIHNldmVyaXR5IG9mIHRoZSBjb25kaXRpb24gYXMgZXZhbHVhdGVkIGJ5IHRoZSBjbGluaWNpYW4uIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHNldmVyaXR5IHdpdGggYSB0ZXJtaW5vbG9neSBpcyBwcmVmZXJyZWQsIHdoZXJlIHBvc3NpYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3NpcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGNvbmRpdGlvbiwgcHJvYmxlbSBvciBkaWFnbm9zaXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCB0byBkZXNjcmliZSB0aGUgYWN0dWFsIHByb2JsZW0gZXhwZXJpZW5jZWQgYnkgdGhlIHBhdGllbnQiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFuYXRvbWljYWwgbG9jYXRpb24gd2hlcmUgdGhpcyBjb25kaXRpb24gbWFuaWZlc3RzIGl0c2VsZi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBDb25kaXRpb24uY29kZS4gSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2JvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4gIE1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgYSByZWZlcmVuY2UgdG8gYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgbG9jYXRpb24sIG9yIGJvdGguIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBoYXMgdGhlIGNvbmRpdGlvbj8iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGF0aWVudCBvciBncm91cCB3aG8gdGhlIGNvbmRpdGlvbiByZWNvcmQgaXMgYXNzb2NpYXRlZCB3aXRoLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29uZGl0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBUaGlzIHJlY29yZCBpbmRpY2F0ZXMgdGhlIGVuY291bnRlciB0aGlzIHBhcnRpY3VsYXIgcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4gIEluIHRoZSBjYXNlIG9mIGEgJnF1b3Q7bmV3JnF1b3Q7IGRpYWdub3NpcyByZWZsZWN0aW5nIG9uZ29pbmcvcmV2aXNlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZGl0aW9uLCB0aGlzIG1pZ2h0IGJlIGRpc3RpbmN0IGZyb20gdGhlIGZpcnN0IGVuY291bnRlciBpbiB3aGljaCB0aGUgdW5kZXJseWluZyBjb25kaXRpb24gd2FzIGZpcnN0ICZxdW90O2tub3duJnF1b3Q7LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlIG9yIGRhdGUtdGltZSAgdGhlIGNvbmRpdGlvbiBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYmVnYW4gdG8gb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBpbiByZXNvbHV0aW9uL3JlbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZXN0aW1hdGVkIGRhdGUgdGhhdCB0aGUgY29uZGl0aW9uIHJlc29sdmVkIG9yIHdlbnQgaW50byByZW1pc3Npb24uIFRoaXMgaXMgY2FsbGVkICZxdW90O2FiYXRlbWVudCZxdW90OyBiZWNhdXNlIG9mIHRoZSBtYW55IG92ZXJsb2FkZWQgY29ubm90YXRpb25zIGFzc29jaWF0ZWQgd2l0aCAmcXVvdDtyZW1pc3Npb24mcXVvdDsgb3IgJnF1b3Q7cmVzb2x1dGlvbiZxdW90OyAtIENvbmRpdGlvbnMgYXJlIG5ldmVyIHJlYWxseSByZXNvbHZlZCwgYnV0IHRoZXkgY2FuIGFiYXRlLiIgY29tbWVudD0iVGhlcmUgaXMgbm8gZXhwbGljaXQgZGlzdGluY3Rpb24gYmV0d2VlbiByZXNvbHV0aW9uIGFuZCByZW1pc3Npb24gYmVjYXVzZSBpbiBtYW55IGNhc2VzIHRoZSBkaXN0aW5jdGlvbiBpcyBub3QgY2xlYXIuIEFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYWJhdGVkLiAgSWYgdGhlcmUgaXMgbm8gYWJhdGVtZW50IGVsZW1lbnQsIGl0IGlzIHVua25vd24gd2hldGhlciB0aGUgY29uZGl0aW9uIGhhcyByZXNvbHZlZCBvciBlbnRlcmVkIHJlbWlzc2lvbjsgYXBwbGljYXRpb25zIGFuZCB1c2VycyBzaG91bGQgZ2VuZXJhbGx5IGFzc3VtZSB0aGF0IHRoZSBjb25kaXRpb24gaXMgc3RpbGwgdmFsaWQuICBXaGVuIGFiYXRlbWVudFN0cmluZyBleGlzdHMsIGl0IGltcGxpZXMgdGhlIGNvbmRpdGlvbiBpcyBhYmF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQ29uZGl0aW9uIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBjb25kaXRpb24gc3RhdGVtZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YWdlIiBkZXNjcmlwdGlvbj0iU3RhZ2UvZ3JhZGUsIHVzdWFsbHkgYXNzZXNzZWQgZm9ybWFsbHkiIGRlZmluaXRpb249IkNsaW5pY2FsIHN0YWdlIG9yIGdyYWRlIG9mIGEgY29uZGl0aW9uLiBNYXkgaW5jbHVkZSBmb3JtYWwgc2V2ZXJpdHkgYXNzZXNzbWVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5TdGFnZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlN0YWdlIFNIQUxMIGhhdmUgc3VtbWFyeSBvciBhc3Nlc3NtZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InN1bW1hcnkuZXhpc3RzKCkgb3IgYXNzZXNzbWVudC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZpZGVuY2UiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIiBkZWZpbml0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIC8gbWFuaWZlc3RhdGlvbnMgdGhhdCBhcmUgdGhlIGJhc2lzIG9mIHRoZSBDb25kaXRpb24ncyB2ZXJpZmljYXRpb24gc3RhdHVzLCBzdWNoIGFzIGV2aWRlbmNlIHRoYXQgY29uZmlybWVkIG9yIHJlZnV0ZWQgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBldmlkZW5jZSBtYXkgYmUgYSBzaW1wbGUgbGlzdCBvZiBjb2RlZCBzeW1wdG9tcy9tYW5pZmVzdGF0aW9ucywgb3IgcmVmZXJlbmNlcyB0byBvYnNlcnZhdGlvbnMgb3IgZm9ybWFsIGFzc2Vzc21lbnRzLCBvciBib3RoLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5FdmlkZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0yIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImV2aWRlbmNlIFNIQUxMIGhhdmUgY29kZSBvciBkZXRhaWxzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImNvZGUuZXhpc3RzKCkgb3IgZGV0YWlsLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDb25kaXRpb24uIFRoaXMgaXMgYSBnZW5lcmFsIG5vdGVzL2NvbW1lbnRzIGVudHJ5ICBmb3IgZGVzY3JpcHRpb24gb2YgdGhlIENvbmRpdGlvbiwgaXRzIGRpYWdub3NpcyBhbmQgcHJvZ25vc2lzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29udGFjdERldGFpbCIgbGFiZWw9IkNvbnRhY3REZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgYW4gaW5kaXZpZHVhbCB0byBjb250YWN0IiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiBhbiBpbmRpdmlkdWFsIHRvIGNvbnRhY3QuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBubyBuYW1lZCBpbmRpdmlkdWFsLCB0aGUgdGVsZWNvbSBpbmZvcm1hdGlvbiBpcyBmb3IgdGhlIG9yZ2FuaXphdGlvbiBhcyBhIHdob2xlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQ29udGFjdCBkZXRhaWxzIGZvciBpbmRpdmlkdWFsIG9yIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGNvbnRhY3QgZGV0YWlscyBmb3IgdGhlIGluZGl2aWR1YWwgKGlmIGEgbmFtZSB3YXMgcHJvdmlkZWQpIG9yIHRoZSBvcmdhbml6YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29udGFjdFBvaW50IiBsYWJlbD0iQ29udGFjdFBvaW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50U3lzdGVtIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBob25lIHwgZmF4IHwgZW1haWwgfCBwYWdlciB8IHVybCB8IHNtcyB8IG90aGVyIiBkZWZpbml0aW9uPSJUZWxlY29tbXVuaWNhdGlvbnMgZm9ybSBmb3IgY29udGFjdCBwb2ludCAtIHdoYXQgY29tbXVuaWNhdGlvbnMgc3lzdGVtIGlzIHJlcXVpcmVkIHRvIG1ha2UgdXNlIG9mIHRoZSBjb250YWN0LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RQb2ludFN5c3RlbSIgZGVzY3JpcHRpb249IlRlbGVjb21tdW5pY2F0aW9ucyBmb3JtIGZvciBjb250YWN0IHBvaW50LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgY29udGFjdCBwb2ludCBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbnRhY3QgcG9pbnQgZGV0YWlscywgaW4gYSBmb3JtIHRoYXQgaXMgbWVhbmluZ2Z1bCB0byB0aGUgZGVzaWduYXRlZCBjb21tdW5pY2F0aW9uIHN5c3RlbSAoaS5lLiBwaG9uZSBudW1iZXIgb3IgZW1haWwgYWRkcmVzcykuIiBjb21tZW50PSJBZGRpdGlvbmFsIHRleHQgZGF0YSBzdWNoIGFzIHBob25lIGV4dGVuc2lvbiBudW1iZXJzLCBvciBub3RlcyBhYm91dCB1c2Ugb2YgdGhlIGNvbnRhY3QgYXJlIHNvbWV0aW1lcyBpbmNsdWRlZCBpbiB0aGUgdmFsdWUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnRVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaG9tZSB8IHdvcmsgfCB0ZW1wIHwgb2xkIHwgbW9iaWxlIC0gcHVycG9zZSBvZiB0aGlzIGNvbnRhY3QgcG9pbnQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHB1cnBvc2UgZm9yIHRoZSBjb250YWN0IHBvaW50LiIgY29tbWVudD0iQXBwbGljYXRpb25zIGNhbiBhc3N1bWUgdGhhdCBhIGNvbnRhY3QgaXMgY3VycmVudCB1bmxlc3MgaXQgZXhwbGljaXRseSBzYXlzIHRoYXQgaXQgaXMgdGVtcG9yYXJ5IG9yIG9sZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb250YWN0UG9pbnRVc2UiIGRlc2NyaXB0aW9uPSJVc2Ugb2YgY29udGFjdCBwb2ludC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJhbmsiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTcGVjaWZ5IHByZWZlcnJlZCBvcmRlciBvZiB1c2UgKDEgPSBoaWdoZXN0KSIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGEgcHJlZmVycmVkIG9yZGVyIGluIHdoaWNoIHRvIHVzZSBhIHNldCBvZiBjb250YWN0cy4gQ29udGFjdFBvaW50cyB3aXRoIGxvd2VyIHJhbmsgdmFsdWVzIGFyZSBtb3JlIHByZWZlcnJlZCB0aGFuIHRob3NlIHdpdGggaGlnaGVyIHJhbmsgdmFsdWVzLiIgY29tbWVudD0iTm90ZSB0aGF0IHJhbmsgZG9lcyBub3QgbmVjZXNzYXJpbHkgZm9sbG93IHRoZSBvcmRlciBpbiB3aGljaCB0aGUgY29udGFjdHMgYXJlIHJlcHJlc2VudGVkIGluIHRoZSBpbnN0YW5jZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gdGhlIGNvbnRhY3QgcG9pbnQgd2FzL2lzIGluIHVzZSIgZGVmaW5pdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiB0aGUgY29udGFjdCBwb2ludCB3YXMvaXMgaW4gdXNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnRTeXN0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnRVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udHJpYnV0b3IiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db250cmlidXRvciIgbGFiZWw9IkNvbnRyaWJ1dG9yIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRyaWJ1dG9yVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhdXRob3IgfCBlZGl0b3IgfCByZXZpZXdlciB8IGVuZG9yc2VyIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb250cmlidXRvci4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb250cmlidXRvclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBjb250cmlidXRvci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldobyBjb250cmlidXRlZCB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgY29udHJpYnV0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWN0IiBkZXNjcmlwdGlvbj0iQ29udGFjdCBkZXRhaWxzIG9mIHRoZSBjb250cmlidXRvciIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIHRvIGFzc2lzdCBhIHVzZXIgaW4gZmluZGluZyBhbmQgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBjb250cmlidXRvci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250cmlidXRvclR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb3ZlcmFnZSIgbGFiZWw9IlFJQ29yZSBDb3ZlcmFnZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciB0aGUgY292ZXJhZ2UiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBjb3ZlcmFnZS4iIGNvbW1lbnQ9IlRoZSBtYWluIChhbmQgcG9zc2libHkgb25seSkgaWRlbnRpZmllciBmb3IgdGhlIGNvdmVyYWdlIC0gb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSBNZW1iZXIgSWQsIENlcnRpZmljYXRlIG51bWJlciwgUGVyc29uYWwgSGVhbHRoIE51bWJlciBvciBDYXNlIElELiBNYXkgYmUgY29uc3RydWN0ZWQgYXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIENvdmVyYWdlLlN1YnNjcmliZXJJRCBhbmQgdGhlIENvdmVyYWdlLmRlcGVuZGFudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgY2FuY2VsbGVkIHwgZHJhZnQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrcyB0aGUgY292ZXJhZ2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb3ZlcmFnZVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3ZlcmFnZSBjYXRlZ29yeSBzdWNoIGFzIG1lZGljYWwgb3IgYWNjaWRlbnQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIGNvdmVyYWdlOiBzb2NpYWwgcHJvZ3JhbSwgbWVkaWNhbCBwbGFuLCBhY2NpZGVudCBjb3ZlcmFnZSAod29ya2VycyBjb21wZW5zYXRpb24sIGF1dG8pLCBncm91cCBoZWFsdGggb3IgcGF5bWVudCBieSBhbiBpbmRpdmlkdWFsIG9yIG9yZ2FuaXphdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNhdGVnb3JpZXMgb2YgdHlwZXMgb2YgaGVhbHRoIGNhcmUgcGF5b3IgZW50aXRpZXMgYXMgZGVmaW5lZCBieSB0aGUgVVMgUHVibGljIEhlYWx0aCBEYXRhIENvbnNvcnRpdW0gU09QIGNvZGUgc3lzdGVtIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwb2xpY3lIb2xkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3duZXIgb2YgdGhlIHBvbGljeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyAnb3ducycgdGhlIGluc3VyYW5jZSBwb2xpY3kuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogbWF5IGJlIGFuIGluZGl2aWR1YWwsIGNvcnBvcmF0aW9uIG9yIHRoZSBzdWJzY3JpYmVyJ3MgZW1wbG95ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzY3JpYmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlN1YnNjcmliZXIgdG8gdGhlIHBvbGljeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBoYXMgc2lnbmVkLXVwIGZvciBvciAnb3ducycgdGhlIGNvbnRyYWN0dWFsIHJlbGF0aW9uc2hpcCB0byB0aGUgcG9saWN5IG9yIHRvIHdob20gdGhlIGJlbmVmaXQgb2YgdGhlIHBvbGljeSBmb3Igc2VydmljZXMgcmVuZGVyZWQgdG8gdGhlbSBvciB0aGVpciBmYW1pbHkgaXMgZHVlLiIgY29tbWVudD0iTWF5IGJlIHNlbGYgb3IgYSBwYXJlbnQgaW4gdGhlIGNhc2Ugb2YgZGVwZW5kYW50cy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic2NyaWJlcklkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJRCBhc3NpZ25lZCB0byB0aGUgc3Vic2NyaWJlciIgZGVmaW5pdGlvbj0iVGhlIGluc3VyZXIgYXNzaWduZWQgSUQgZm9yIHRoZSBTdWJzY3JpYmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmVuZWZpY2lhcnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGxhbiBiZW5lZmljaWFyeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2U7IHRoZSBwYXRpZW50IHdoZW4gcHJvZHVjdHMgYW5kL29yIHNlcnZpY2VzIGFyZSBwcm92aWRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcGVuZGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVwZW5kZW50IG51bWJlciIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBkZXBlbmRlbnQgdW5kZXIgdGhlIGNvdmVyYWdlLiIgY29tbWVudD0iUGVyaW9kaWNhbGx5IHRoZSBtZW1iZXIgbnVtYmVyIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIHN1YnNjcmliZXJJZCBhbmQgdGhlIGRlcGVuZGFudCBudW1iZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpY2lhcnkgcmVsYXRpb25zaGlwIHRvIHRoZSBzdWJzY3JpYmVyIiBkZWZpbml0aW9uPSJUaGUgcmVsYXRpb25zaGlwIG9mIGJlbmVmaWNpYXJ5IChwYXRpZW50KSB0byB0aGUgc3Vic2NyaWJlci4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gaW5kaXZpZHVhbCB1c2VzIHBvbGljaWVzIHdoaWNoIGFyZSB0aGVpcnMgKHJlbGF0aW9uc2hpcD0nc2VsZicpIGJlZm9yZSBwb2xpY2llcyBvd25lZCBieSBvdGhlcnMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVsYXRpb25zaGlwIiBkZXNjcmlwdGlvbj0iVGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBTdWJzY3JpYmVyIGFuZCB0aGUgQmVuZWZpY2lhcnkgKGluc3VyZWQvY292ZXJlZCBwYXJ0eS9wYXRpZW50KS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdmVyYWdlIHN0YXJ0IGFuZCBlbmQgZGF0ZXMiIGRlZmluaXRpb249IlRpbWUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgY292ZXJhZ2UgaXMgaW4gZm9yY2UuIEEgbWlzc2luZyBzdGFydCBkYXRlIGluZGljYXRlcyB0aGUgc3RhcnQgZGF0ZSBpc24ndCBrbm93biwgYSBtaXNzaW5nIGVuZCBkYXRlIG1lYW5zIHRoZSBjb3ZlcmFnZSBpcyBjb250aW51aW5nIHRvIGJlIGluIGZvcmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF5b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSXNzdWVyIG9mIHRoZSBwb2xpY3kiIGRlZmluaXRpb249IlRoZSBwcm9ncmFtIG9yIHBsYW4gdW5kZXJ3cml0ZXIgb3IgcGF5b3IgaW5jbHVkaW5nIGJvdGggaW5zdXJhbmNlIGFuZCBub24taW5zdXJhbmNlIGFncmVlbWVudHMsIHN1Y2ggYXMgcGF0aWVudC1wYXkgYWdyZWVtZW50cy4iIGNvbW1lbnQ9Ik1heSBwcm92aWRlIG11bHRpcGxlIGlkZW50aWZpZXJzIHN1Y2ggYXMgaW5zdXJhbmNlIGNvbXBhbnkgaWRlbnRpZmllciBvciBidXNpbmVzcyBpZGVudGlmaWVyIChCSU4gbnVtYmVyKS4mI3hhO0ZvciBzZWxmcGF5IGl0IG1heSBwcm92aWRlIG11bHRpcGxlIHBheWluZyBwZXJzb25zIGFuZC9vciBvcmdhbml6YXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhc3MiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNvdmVyYWdlIGNsYXNzaWZpY2F0aW9ucyIgZGVmaW5pdGlvbj0iQSBzdWl0ZSBvZiB1bmRlcndyaXRlciBzcGVjaWZpYyBjbGFzc2lmaWVycy4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIG1heSBiZSB1c2VkIHRvIGlkZW50aWZ5IGEgY2xhc3Mgb2YgY292ZXJhZ2Ugb3IgZW1wbG95ZXIgZ3JvdXAsIFBvbGljeSwgUGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db3ZlcmFnZS5DbGFzcyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWxhdGl2ZSBvcmRlciBvZiB0aGUgY292ZXJhZ2UiIGRlZmluaXRpb249IlRoZSBvcmRlciBvZiBhcHBsaWNhYmlsaXR5IG9mIHRoaXMgY292ZXJhZ2UgcmVsYXRpdmUgdG8gb3RoZXIgY292ZXJhZ2VzIHdoaWNoIGFyZSBjdXJyZW50bHkgaW4gZm9yY2UuIE5vdGUsIHRoZXJlIG1heSBiZSBnYXBzIGluIHRoZSBudW1iZXJpbmcgYW5kIHRoaXMgZG9lcyBub3QgaW1wbHkgcHJpbWFyeSwgc2Vjb25kYXJ5IGV0Yy4gYXMgdGhlIHNwZWNpZmljIHBvc2l0aW9uaW5nIG9mIGNvdmVyYWdlcyBkZXBlbmRzIHVwb24gdGhlIGVwaXNvZGUgb2YgY2FyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldHdvcmsiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3VyZXIgbmV0d29yayIgZGVmaW5pdGlvbj0iVGhlIGluc3VyZXItc3BlY2lmaWMgaWRlbnRpZmllciBmb3IgdGhlIGluc3VyZXItZGVmaW5lZCBuZXR3b3JrIG9mIHByb3ZpZGVycyB0byB3aGljaCB0aGUgYmVuZWZpY2lhcnkgbWF5IHNlZWsgdHJlYXRtZW50IHdoaWNoIHdpbGwgYmUgY292ZXJlZCBhdCB0aGUgJ2luLW5ldHdvcmsnIHJhdGUsIG90aGVyd2lzZSAnb3V0IG9mIG5ldHdvcmsnIHRlcm1zIGFuZCBjb25kaXRpb25zIGFwcGx5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3N0VG9CZW5lZmljaWFyeSIgZGVzY3JpcHRpb249IlBhdGllbnQgcGF5bWVudHMgZm9yIHNlcnZpY2VzL3Byb2R1Y3RzIiBkZWZpbml0aW9uPSJBIHN1aXRlIG9mIGNvZGVzIGluZGljYXRpbmcgdGhlIGNvc3QgY2F0ZWdvcnkgYW5kIGFzc29jaWF0ZWQgYW1vdW50IHdoaWNoIGhhdmUgYmVlbiBkZXRhaWxlZCBpbiB0aGUgcG9saWN5IGFuZCBtYXkgaGF2ZSBiZWVuICBpbmNsdWRlZCBvbiB0aGUgaGVhbHRoIGNhcmQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBieSBrbm93aW5nIHRoZSBwYXRpZW50IHZpc2l0IGNvLXBheSwgdGhlIHByb3ZpZGVyIGNhbiBjb2xsZWN0IHRoZSBhbW91bnQgcHJpb3IgdG8gdW5kZXJ0YWtpbmcgdHJlYXRtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJyb2dhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlaW1idXJzZW1lbnQgdG8gaW5zdXJlciIgZGVmaW5pdGlvbj0iV2hlbiAnc3Vicm9nYXRpb249dHJ1ZScgdGhpcyBpbnN1cmFuY2UgaW5zdGFuY2UgaGFzIGJlZW4gaW5jbHVkZWQgbm90IGZvciBhZGp1ZGljYXRpb24gYnV0IHRvIHByb3ZpZGUgaW5zdXJlcnMgd2l0aCB0aGUgZGV0YWlscyB0byByZWNvdmVyIGNvc3RzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhdXRvbW90aXZlIGFuZCB3b3JrZXIncyBjb21wZW5zYXRpb24gcG9saWNpZXMgd291bGQgYmUgZmxhZ2dlZCB3aXRoICdzdWJyb2dhdGlvbj10cnVlJyB0byBlbmFibGUgaGVhbHRoY2FyZSBwYXlvcnMgdG8gY29sbGVjdCBhZ2FpbnN0IGFjY2lkZW50IGNsYWltcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udHJhY3QiIGRlc2NyaXB0aW9uPSJDb250cmFjdCBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgcG9saWN5KHMpIHdoaWNoIGNvbnN0aXR1dGUgdGhpcyBpbnN1cmFuY2UgY292ZXJhZ2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBvbGljeUhvbGRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3Vic2NyaWJlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYmVuZWZpY2lhcnkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBheW9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwb2xpY3lIb2xkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YnNjcmliZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBheW9yIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNsYXNzIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGNsYXNzIHN1Y2ggYXMgJ2dyb3VwJyBvciAncGxhbiciIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIGNsYXNzaWZpY2F0aW9uIGZvciB3aGljaCBhbiBpbnN1cmVyLXNwZWNpZmljIGNsYXNzIGxhYmVsIG9yIG51bWJlciBhbmQgb3B0aW9uYWwgbmFtZSBpcyBwcm92aWRlZCwgZm9yIGV4YW1wbGUgbWF5IGJlIHVzZWQgdG8gaWRlbnRpZnkgYSBjbGFzcyBvZiBjb3ZlcmFnZSBvciBlbXBsb3llciBncm91cCwgUG9saWN5LCBQbGFuLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvdmVyYWdlQ2xhc3MiIGRlc2NyaXB0aW9uPSJUaGUgcG9saWN5IGNsYXNzaWZpY2F0aW9ucywgZWcuIEdyb3VwLCBQbGFuLCBDbGFzcywgZXRjLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB0eXBlIiBkZWZpbml0aW9uPSJUaGUgYWxwaGFudW1lcmljIHN0cmluZyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3VyZXIgaXNzdWVkIGxhYmVsLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBHcm91cCBvciBQbGFuIG51bWJlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSHVtYW4gcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIHR5cGUgYW5kIHZhbHVlIiBkZWZpbml0aW9uPSJBIHNob3J0IGRlc2NyaXB0aW9uIGZvciB0aGUgY2xhc3MuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3N0IGNhdGVnb3J5IiBkZWZpbml0aW9uPSJUaGUgY2F0ZWdvcnkgb2YgcGF0aWVudCBjZW50cmljIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0cmVhdG1lbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSB2aXNpdCwgc3BlY2lhbGlzdCB2aXNpdHMsIGVtZXJnZW5jeSwgaW5wYXRpZW50IGNhcmUsIGV0Yy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb3BheVR5cGVzIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGVzIG9mIHNlcnZpY2VzIHRvIHdoaWNoIHBhdGllbnQgY29wYXltZW50cyBhcmUgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgYW1vdW50IG9yIHBlcmNlbnRhZ2UgZHVlIGZyb20gdGhlIGJlbmVmaWNpYXJ5IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IGR1ZSBmcm9tIHRoZSBwYXRpZW50IGZvciB0aGUgY29zdCBjYXRlZ29yeS4iIGNvbW1lbnQ9IkFtb3VudCBtYXkgYmUgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgc2VydmljZS9wcm9kdWN0IGNvc3Qgb3IgYSBmaXhlZCBhbW91bnQgb2YgY3VycmVuY3kuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImV4Y2VwdGlvbiIgZGVzY3JpcHRpb249IkV4Y2VwdGlvbnMgZm9yIHBhdGllbnQgcGF5bWVudHMiIGRlZmluaXRpb249IkEgc3VpdGUgb2YgY29kZXMgaW5kaWNhdGluZyBleGNlcHRpb25zIG9yIHJlZHVjdGlvbnMgdG8gcGF0aWVudCBjb3N0cyBhbmQgdGhlaXIgZWZmZWN0aXZlIHBlcmlvZHMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ29zdFRvQmVuZWZpY2lhcnkuRXhjZXB0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZS5Db3N0VG9CZW5lZmljaWFyeS5FeGNlcHRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4Y2VwdGlvbiBjYXRlZ29yeSIgZGVmaW5pdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSBzcGVjaWZpYyBleGNlcHRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ292ZXJhZ2VGaW5hbmNpYWxFeGNlcHRpb24iIGRlc2NyaXB0aW9uPSJUaGUgdHlwZXMgb2YgZXhjZXB0aW9ucyBmcm9tIHRoZSBwYXJ0IG9yIGZ1bGwgdmFsdWUgb2YgZmluYW5jaWFsIG9ibGlnYXRpb25zIHN1Y2ggYXMgY29wYXlzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGVmZmVjdGl2ZSBwZXJpb2Qgb2YgdGhlIGV4Y2VwdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWVmcmFtZSBkdXJpbmcgd2hlbiB0aGUgZXhjZXB0aW9uIGlzIGluIGZvcmNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRhdGFBYnNlbnRSZWFzb24iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhIEFic2VudCBSZWFzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9kYXRhLWFic2VudC1yZWFzb24iIGxhYmVsPSJXaHkgdmFsdWUgaXMgbWlzc2luZyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFBYnNlbnRSZWFzb24iIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF0YVJlcXVpcmVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRGF0YVJlcXVpcmVtZW50IiBsYWJlbD0iRGF0YVJlcXVpcmVtZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJBbGxUeXBlcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgcmVxdWlyZWQgZGF0YSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEsIHNwZWNpZmllZCBhcyB0aGUgdHlwZSBuYW1lIG9mIGEgcmVzb3VyY2UuIEZvciBwcm9maWxlcywgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gdGhlIHR5cGUgb2YgdGhlIGJhc2UgcmVzb3VyY2Ugb2YgdGhlIHByb2ZpbGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUkFsbFR5cGVzIiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGFsbCB0aGUgY29uY3JldGUgdHlwZXMgZGVmaW5lZCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiAtIEFic3RyYWN0IFR5cGVzLCBEYXRhIFR5cGVzIGFuZCBSZXNvdXJjZSBUeXBlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2ZpbGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHByb2ZpbGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEiIGRlZmluaXRpb249IlRoZSBwcm9maWxlIG9mIHRoZSByZXF1aXJlZCBkYXRhLCBzcGVjaWZpZWQgYXMgdGhlIHVyaSBvZiB0aGUgcHJvZmlsZSBkZWZpbml0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFBhdGllbnQsIFByYWN0aXRpb25lciwgUmVsYXRlZFBlcnNvbiwgT3JnYW5pemF0aW9uLCBMb2NhdGlvbiwgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgaW50ZW5kZWQgc3ViamVjdHMgb2YgdGhlIGRhdGEgcmVxdWlyZW1lbnQuIElmIHRoaXMgZWxlbWVudCBpcyBub3QgcHJvdmlkZWQsIGEgUGF0aWVudCBzdWJqZWN0IGlzIGFzc3VtZWQuIiBjb21tZW50PSJUaGUgc3ViamVjdCBvZiBhIGRhdGEgcmVxdWlyZW1lbnQgaXMgY3JpdGljYWwsIGFzIHRoZSBkYXRhIGJlaW5nIHNwZWNpZmllZCBpcyBkZXRlcm1pbmVkIHdpdGggcmVzcGVjdCB0byBhIHBhcnRpY3VsYXIgc3ViamVjdC4gVGhpcyBjb3JyZXNwb25kcyByb3VnaGx5IHRvIHRoZSBub3Rpb24gb2YgYSBDb21wYXJ0bWVudCBpbiB0aGF0IGl0IGxpbWl0cyB3aGF0IGRhdGEgaXMgYXZhaWxhYmxlIGJhc2VkIG9uIGl0cyByZWxhdGlvbnNoaXAgdG8gdGhlIHN1YmplY3QuIEluIENRTCwgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgY29udGV4dCBkZWNsYXJhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdWJqZWN0VHlwZSIgZGVzY3JpcHRpb249IlRoZSBwb3NzaWJsZSB0eXBlcyBvZiBzdWJqZWN0cyBmb3IgYSBkYXRhIHJlcXVpcmVtZW50IChFLmcuLCBQYXRpZW50LCBQcmFjdGl0aW9uZXIsIE9yZ2FuaXphdGlvbiwgTG9jYXRpb24sIGV0Yy4pLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtdXN0U3VwcG9ydCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgc3RydWN0dXJlIGVsZW1lbnRzIHRoYXQgYXJlIHJlZmVyZW5jZWQgYnkgdGhlIGtub3dsZWRnZSBtb2R1bGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGF0IHNwZWNpZmljIGVsZW1lbnRzIG9mIHRoZSB0eXBlIGFyZSByZWZlcmVuY2VkIGJ5IHRoZSBrbm93bGVkZ2UgbW9kdWxlIGFuZCBtdXN0IGJlIHN1cHBvcnRlZCBieSB0aGUgY29uc3VtZXIgaW4gb3JkZXIgdG8gb2J0YWluIGFuIGVmZmVjdGl2ZSBldmFsdWF0aW9uLiBUaGlzIGRvZXMgbm90IG1lYW4gdGhhdCBhIHZhbHVlIGlzIHJlcXVpcmVkIGZvciB0aGlzIGVsZW1lbnQsIG9ubHkgdGhhdCB0aGUgY29uc3VtaW5nIHN5c3RlbSBtdXN0IHVuZGVyc3RhbmQgdGhlIGVsZW1lbnQgYW5kIGJlIGFibGUgdG8gcHJvdmlkZSB2YWx1ZXMgZm9yIGl0IGlmIHRoZXkgYXJlIGF2YWlsYWJsZS4gJiN4YTsmI3hhO1RoZSB2YWx1ZSBvZiBtdXN0U3VwcG9ydCBTSEFMTCBiZSBhIEZISVJQYXRoIHJlc29sdmVhYmxlIG9uIHRoZSB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQuIFRoZSBwYXRoIFNIQUxMIGNvbnNpc3Qgb25seSBvZiBpZGVudGlmaWVycywgY29uc3RhbnQgaW5kZXhlcnMsIGFuZCAucmVzb2x2ZSgpIChzZWUgdGhlIFtTaW1wbGUgRkhJUlBhdGggUHJvZmlsZV0oZmhpcnBhdGguaHRtbCNzaW1wbGUpIGZvciBmdWxsIGRldGFpbHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZUZpbHRlciIgZGVzY3JpcHRpb249IldoYXQgY29kZXMgYXJlIGV4cGVjdGVkIiBkZWZpbml0aW9uPSJDb2RlIGZpbHRlcnMgc3BlY2lmeSBhZGRpdGlvbmFsIGNvbnN0cmFpbnRzIG9uIHRoZSBkYXRhLCBzcGVjaWZ5aW5nIHRoZSB2YWx1ZSBzZXQgb2YgaW50ZXJlc3QgZm9yIGEgcGFydGljdWxhciBlbGVtZW50IG9mIHRoZSBkYXRhLiBFYWNoIGNvZGUgZmlsdGVyIGRlZmluZXMgYW4gYWRkaXRpb25hbCBjb25zdHJhaW50IG9uIHRoZSBkYXRhLCBpLmUuIGNvZGUgZmlsdGVycyBhcmUgQU5EJ2VkLCBub3QgT1InZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF0YVJlcXVpcmVtZW50LkNvZGVGaWx0ZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJkcnEtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJFaXRoZXIgYSBwYXRoIG9yIGEgc2VhcmNoUGFyYW0gbXVzdCBiZSBwcm92aWRlZCwgYnV0IG5vdCBib3RoIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBhdGguZXhpc3RzKCkgeG9yIHNlYXJjaFBhcmFtLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlRmlsdGVyIiBkZXNjcmlwdGlvbj0iV2hhdCBkYXRlcy9kYXRlIHJhbmdlcyBhcmUgZXhwZWN0ZWQiIGRlZmluaXRpb249IkRhdGUgZmlsdGVycyBzcGVjaWZ5IGFkZGl0aW9uYWwgY29uc3RyYWludHMgb24gdGhlIGRhdGEgaW4gdGVybXMgb2YgdGhlIGFwcGxpY2FibGUgZGF0ZSByYW5nZSBmb3Igc3BlY2lmaWMgZWxlbWVudHMuIEVhY2ggZGF0ZSBmaWx0ZXIgc3BlY2lmaWVzIGFuIGFkZGl0aW9uYWwgY29uc3RyYWludCBvbiB0aGUgZGF0YSwgaS5lLiBkYXRlIGZpbHRlcnMgYXJlIEFORCdlZCwgbm90IE9SJ2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRhdGFSZXF1aXJlbWVudC5EYXRlRmlsdGVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iZHJxLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRWl0aGVyIGEgcGF0aCBvciBhIHNlYXJjaFBhcmFtIG11c3QgYmUgcHJvdmlkZWQsIGJ1dCBub3QgYm90aCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJwYXRoLmV4aXN0cygpIHhvciBzZWFyY2hQYXJhbS5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGltaXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGEgbWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0aGF0IGFyZSByZXF1aXJlZCAodXNlcyB0aGUgX2NvdW50IHNlYXJjaCBwYXJhbWV0ZXIpLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIHNvcnQgZWxlbWVudCB0byBzcGVjaWZ5IHF1b3RhIHJlcXVpcmVtZW50cyBzdWNoIGFzICZxdW90O3RoZSBtb3N0IHJlY2VudCA1JnF1b3Q7IG9yICZxdW90O3RoZSBoaWdoZXN0IDUmcXVvdDsuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNvcnQiIGRlc2NyaXB0aW9uPSJPcmRlciBvZiB0aGUgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIHRoZSBvcmRlciBvZiB0aGUgcmVzdWx0cyB0byBiZSByZXR1cm5lZC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBzb3J0IGVsZW1lbnQgdG8gc3BlY2lmeSBxdW90YSByZXF1aXJlbWVudHMgc3VjaCBhcyAmcXVvdDt0aGUgbW9zdCByZWNlbnQgNSZxdW90OyBvciAmcXVvdDt0aGUgaGlnaGVzdCA1JnF1b3Q7LiBXaGVuIG11bHRpcGxlIHNvcnRzIGFyZSBzcGVjaWZpZWQsIHRoZXkgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyIGluIHRoZSByZXNvdXJjZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQuU29ydCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudC5Db2RlRmlsdGVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGNvZGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBjb2RlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGNvZGUsIENvZGluZywgb3IgQ29kZWFibGVDb25jZXB0LiIgY29tbWVudD0iVGhlIHBhdGggYXR0cmlidXRlIGNvbnRhaW5zIGEgW1NpbXBsZSBGSElSUGF0aCBTdWJzZXRdKGZoaXJwYXRoLmh0bWwjc2ltcGxlKSB0aGF0IGFsbG93cyBwYXRoIHRyYXZlcnNhbCwgYnV0IG5vdCBjYWxjdWxhdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VhcmNoUGFyYW0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgY29kZWQgKHRva2VuKSBwYXJhbWV0ZXIgdG8gc2VhcmNoIG9uIiBkZWZpbml0aW9uPSJBIHRva2VuIHBhcmFtZXRlciB0aGF0IHJlZmVycyB0byBhIHNlYXJjaCBwYXJhbWV0ZXIgZGVmaW5lZCBvbiB0aGUgc3BlY2lmaWVkIHR5cGUgb2YgdGhlIERhdGFSZXF1aXJlbWVudCwgYW5kIHdoaWNoIHNlYXJjaGVzIG9uIGVsZW1lbnRzIG9mIHR5cGUgY29kZSwgQ29kaW5nLCBvciBDb2RlYWJsZUNvbmNlcHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlU2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCBmb3IgdGhlIGZpbHRlciIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlc2V0IGZvciB0aGUgY29kZSBmaWx0ZXIuIFRoZSB2YWx1ZVNldCBhbmQgY29kZSBlbGVtZW50cyBhcmUgYWRkaXRpdmUuIElmIHZhbHVlU2V0IGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgY29kZS12YWx1ZWQgZWxlbWVudCBzcGVjaWZpZWQgaW4gdGhlIHBhdGggaXMgYSBtZW1iZXIgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZXNldC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgY29kZSBpcyBleHBlY3RlZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVzIGZvciB0aGUgY29kZSBmaWx0ZXIuIElmIHZhbHVlcyBhcmUgZ2l2ZW4sIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIGZvciB3aGljaCB0aGUgY29kZS12YWx1ZWQgYXR0cmlidXRlIHNwZWNpZmllZCBieSB0aGUgcGF0aCBoYXMgYSB2YWx1ZSB0aGF0IGlzIG9uZSBvZiB0aGUgc3BlY2lmaWVkIGNvZGVzLiBJZiBjb2RlcyBhcmUgc3BlY2lmaWVkIGluIGFkZGl0aW9uIHRvIGEgdmFsdWUgc2V0LCB0aGUgZmlsdGVyIHJldHVybnMgaXRlbXMgbWF0Y2hpbmcgYSBjb2RlIGluIHRoZSB2YWx1ZSBzZXQgb3Igb25lIG9mIHRoZSBzcGVjaWZpZWQgY29kZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudC5EYXRlRmlsdGVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGRhdGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBkYXRlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGRhdGUsIGRhdGVUaW1lLCBQZXJpb2QsIFNjaGVkdWxlLCBvciBUaW1pbmcuIiBjb21tZW50PSJUaGUgcGF0aCBhdHRyaWJ1dGUgY29udGFpbnMgYSBbU2ltcGxlIEZISVIgU3Vic2V0XShmaGlycGF0aC5odG1sI3NpbXBsZSkgdGhhdCBhbGxvd3MgcGF0aCB0cmF2ZXJzYWwsIGJ1dCBub3QgY2FsY3VsYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlYXJjaFBhcmFtIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGRhdGUgdmFsdWVkIHBhcmFtZXRlciB0byBzZWFyY2ggb24iIGRlZmluaXRpb249IkEgZGF0ZSBwYXJhbWV0ZXIgdGhhdCByZWZlcnMgdG8gYSBzZWFyY2ggcGFyYW1ldGVyIGRlZmluZWQgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCB3aGljaCBzZWFyY2hlcyBvbiBlbGVtZW50cyBvZiB0eXBlIGRhdGUsIGRhdGVUaW1lLCBQZXJpb2QsIFNjaGVkdWxlLCBvciBUaW1pbmcuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB2YWx1ZSBvZiB0aGUgZmlsdGVyLCBhcyBhIFBlcmlvZCwgRGF0ZVRpbWUsIG9yIER1cmF0aW9uIHZhbHVlIiBkZWZpbml0aW9uPSJUaGUgdmFsdWUgb2YgdGhlIGZpbHRlci4gSWYgcGVyaW9kIGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgdGhhdCBmYWxsIHdpdGhpbiB0aGUgYm91bmRzIGRldGVybWluZWQgYnkgdGhlIFBlcmlvZCwgaW5jbHVzaXZlIG9mIHRoZSBwZXJpb2QgYm91bmRhcmllcy4gSWYgZGF0ZVRpbWUgaXMgc3BlY2lmaWVkLCB0aGUgZmlsdGVyIHdpbGwgcmV0dXJuIG9ubHkgdGhvc2UgZGF0YSBpdGVtcyB0aGF0IGFyZSBlcXVhbCB0byB0aGUgc3BlY2lmaWVkIGRhdGVUaW1lLiBJZiBhIER1cmF0aW9uIGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgdGhhdCBmYWxsIHdpdGhpbiBEdXJhdGlvbiBiZWZvcmUgbm93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQuU29ydCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byBwZXJmb3JtIHRoZSBzb3J0IiBkZWZpbml0aW9uPSJUaGUgYXR0cmlidXRlIG9mIHRoZSBzb3J0LiBUaGUgc3BlY2lmaWVkIHBhdGggbXVzdCBiZSByZXNvbHZhYmxlIGZyb20gdGhlIHR5cGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEuIFRoZSBwYXRoIGlzIGFsbG93ZWQgdG8gY29udGFpbiBxdWFsaWZpZXJzICguKSB0byB0cmF2ZXJzZSBzdWItZWxlbWVudHMsIGFzIHdlbGwgYXMgaW5kZXhlcnMgKFt4XSkgdG8gdHJhdmVyc2UgbXVsdGlwbGUtY2FyZGluYWxpdHkgc3ViLWVsZW1lbnRzLiBOb3RlIHRoYXQgdGhlIGluZGV4IG11c3QgYmUgYW4gaW50ZWdlciBjb25zdGFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlyZWN0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNvcnREaXJlY3Rpb24iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYXNjZW5kaW5nIHwgZGVzY2VuZGluZyIgZGVmaW5pdGlvbj0iVGhlIGRpcmVjdGlvbiBvZiB0aGUgc29ydCwgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU29ydERpcmVjdGlvbiIgZGVzY3JpcHRpb249IlRoZSBwb3NzaWJsZSBzb3J0IGRpcmVjdGlvbnMsIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF5T2ZXZWVrIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF5c09mV2VlayIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1kZXZpY2UiIGxhYmVsPSJRSUNvcmUgRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249Ikluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpbnN0YW5jZSBpZGVudGlmaWVycyBhc3NpZ25lZCB0byBhIGRldmljZSBieSBtYW51ZmFjdHVyZXJzIG90aGVyIG9yZ2FuaXphdGlvbnMgb3Igb3duZXJzLiIgY29tbWVudD0iVGhlIGJhcmNvZGUgc3RyaW5nIGZyb20gYSBiYXJjb2RlIHByZXNlbnQgb24gYSBkZXZpY2UgbGFiZWwgb3IgcGFja2FnZSBtYXkgaWRlbnRpZnkgdGhlIGluc3RhbmNlLCBpbmNsdWRlIG5hbWVzIGdpdmVuIHRvIHRoZSBkZXZpY2UgaW4gbG9jYWwgdXNhZ2UsIG9yIG1heSBpZGVudGlmeSB0aGUgdHlwZSBvZiBkZXZpY2UuIElmIHRoZSBpZGVudGlmaWVyIGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgZGV2aWNlLCBEZXZpY2UudHlwZSBlbGVtZW50IHNob3VsZCBiZSB1c2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idWRpQ2FycmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllciAoVURJKSBCYXJjb2RlIHN0cmluZyIgZGVmaW5pdGlvbj0iVW5pcXVlIGRldmljZSBpZGVudGlmaWVyIChVREkpIGFzc2lnbmVkIHRvIGRldmljZSBsYWJlbCBvciBwYWNrYWdlLiAgTm90ZSB0aGF0IHRoZSBEZXZpY2UgbWF5IGluY2x1ZGUgbXVsdGlwbGUgdWRpQ2FycmllcnMgYXMgaXQgZWl0aGVyIG1heSBpbmNsdWRlIGp1c3QgdGhlIHVkaUNhcnJpZXIgZm9yIHRoZSBqdXJpc2RpY3Rpb24gaXQgaXMgc29sZCwgb3IgZm9yIG11bHRpcGxlIGp1cmlzZGljdGlvbnMgaXQgY291bGQgaGF2ZSBiZWVuIHNvbGQuIiBjb21tZW50PSJVREkgbWF5IGlkZW50aWZ5IGFuIHVuaXF1ZSBpbnN0YW5jZSBvZiBhIGRldmljZSwgb3IgaXQgbWF5IG9ubHkgaWRlbnRpZnkgdGhlIHR5cGUgb2YgdGhlIGRldmljZS4gIFNlZSBbVURJIG1hcHBpbmdzXShkZXZpY2UtbWFwcGluZ3MuaHRtbCN1ZGkpIGZvciBhIGNvbXBsZXRlIG1hcHBpbmcgb2YgVURJIHBhcnRzIHRvIERldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuVWRpQ2FycmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Im9ubGluZSB8IHBhdXNlZCB8IHN0YW5kYnkgfCBvZmZsaW5lIHwgbm90LXJlYWR5IHwgdHJhbnNkdWMtZGlzY29uIHwgaHctZGlzY29uIHwgb2ZmIiBkZWZpbml0aW9uPSJSZWFzb24gZm9yIHRoZSBkdGF0dXMgb2YgdGhlIERldmljZSBhdmFpbGFiaWxpdHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJEZXZpY2VTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IHN0YXR1cyByZWFzb24gb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdGluY3RJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIiBkZWZpbml0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIGFzIHJlcXVpcmVkIGJ5IHJlZ3VsYXRpb24gZm9yIGEgaHVtYW4gY2VsbCwgdGlzc3VlLCBvciBjZWxsdWxhciBhbmQgdGlzc3VlLWJhc2VkIHByb2R1Y3QuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhpcyBhcHBsaWVzIHRvIGRldmljZXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgcmVndWxhdGVkIHVuZGVyICpDb2RlIG9mIEZlZGVyYWwgUmVndWxhdGlvbiAyMUNGUsKnMTI3MS4yOTAoYykqLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW51ZmFjdHVyZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgZGV2aWNlIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iQSBuYW1lIG9mIHRoZSBtYW51ZmFjdHVyZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIHdoZW4gdGhlIGRldmljZSB3YXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImV4cGlyYXRpb25EYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgb2YgZXhwaXJ5IG9mIHRoaXMgZGV2aWNlIChpZiBhcHBsaWNhYmxlKSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgYmV5b25kIHdoaWNoIHRoaXMgZGV2aWNlIGlzIG5vIGxvbmdlciB2YWxpZCBvciBzaG91bGQgbm90IGJlIHVzZWQgKGlmIGFwcGxpY2FibGUpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxvdCBudW1iZXIgb2YgbWFudWZhY3R1cmUiIGRlZmluaXRpb249IkxvdCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWFsTnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IlRoZSBzZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBvcmdhbml6YXRpb24gd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIiBjb21tZW50PSJBbHBoYW51bWVyaWMgTWF4aW11bSAyMC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlTmFtZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lIG9mIHRoZSBkZXZpY2UgYXMgZ2l2ZW4gYnkgdGhlIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iVGhpcyByZXByZXNlbnRzIHRoZSBtYW51ZmFjdHVyZXIncyBuYW1lIG9mIHRoZSBkZXZpY2UgYXMgcHJvdmlkZWQgYnkgdGhlIGRldmljZSwgZnJvbSBhIFVESSBsYWJlbCwgb3IgYnkgYSBwZXJzb24gZGVzY3JpYmluZyB0aGUgRGV2aWNlLiAgVGhpcyB0eXBpY2FsbHkgd291bGQgYmUgdXNlZCB3aGVuIGEgcGVyc29uIHByb3ZpZGVzIHRoZSBuYW1lKHMpIG9yIHdoZW4gdGhlIGRldmljZSByZXByZXNlbnRzIG9uZSBvZiB0aGUgbmFtZXMgYXZhaWxhYmxlIGZyb20gRGV2aWNlRGVmaW5pdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuRGV2aWNlTmFtZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZWxOdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgcGFydCBudW1iZXIgb2YgdGhlIGRldmljZS4iIGNvbW1lbnQ9IkFscGhhbnVtZXJpYyBNYXhpbXVtIDIwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvciB0eXBlIG9mIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb3IgdHlwZSBvZiBkZXZpY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IG1lZGljYWwgZGV2aWNlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2lhbGl6YXRpb24iIGRlc2NyaXB0aW9uPSJUaGUgY2FwYWJpbGl0aWVzIHN1cHBvcnRlZCBvbiBhICBkZXZpY2UsIHRoZSBzdGFuZGFyZHMgdG8gd2hpY2ggdGhlIGRldmljZSBjb25mb3JtcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UsIGFuZCB1c2VkIGZvciB0aGUgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGNhcGFiaWxpdGllcyBzdXBwb3J0ZWQgb24gYSAgZGV2aWNlLCB0aGUgc3RhbmRhcmRzIHRvIHdoaWNoIHRoZSBkZXZpY2UgY29uZm9ybXMgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLCBhbmQgdXNlZCBmb3IgdGhlIGNvbW11bmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlNwZWNpYWxpemF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2ZXJzaW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuVmVyc2lvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvcGVydHkiIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2YgYSBkZXZpY2UgYXMgaXQgYWN0dWFsbHkgb3BlcmF0ZXMsIGUuZy4sIHJlZ3VsYXRpb24gc3RhdHVzLCB0aW1lIHByb3BlcnRpZXMiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBvZiBhIGRldmljZSBhcyBpdCBhY3R1YWxseSBvcGVyYXRlcywgZS5nLiwgcmVndWxhdGlvbiBzdGF0dXMsIHRpbWUgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuUHJvcGVydHkiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCB0byB3aG9tIERldmljZSBpcyBhZmZpeGVkIiBkZWZpbml0aW9uPSJQYXRpZW50IGluZm9ybWF0aW9uLCBJZiB0aGUgZGV2aWNlIGlzIGFmZml4ZWQgdG8gYSBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvd25lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gcmVzcG9uc2libGUgZm9yIGRldmljZSIgZGVmaW5pdGlvbj0iQW4gb3JnYW5pemF0aW9uIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBwcm92aXNpb24gYW5kIG9uZ29pbmcgbWFpbnRlbmFuY2Ugb2YgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkRldGFpbHMgZm9yIGh1bWFuL29yZ2FuaXphdGlvbiBmb3Igc3VwcG9ydCIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIGZvciBhbiBvcmdhbml6YXRpb24gb3IgYSBwYXJ0aWN1bGFyIGh1bWFuIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZpY2UuIiBjb21tZW50PSJ1c2VkIGZvciB0cm91Ymxlc2hvb3RpbmcgZXRjLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGRldmljZSBpcyBmb3VuZCIgZGVmaW5pdGlvbj0iVGhlIHBsYWNlIHdoZXJlIHRoZSBkZXZpY2UgY2FuIGJlIGZvdW5kLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5ldHdvcmsgYWRkcmVzcyB0byBjb250YWN0IGRldmljZSIgZGVmaW5pdGlvbj0iQSBuZXR3b3JrIGFkZHJlc3Mgb24gd2hpY2ggdGhlIGRldmljZSBtYXkgYmUgY29udGFjdGVkIGRpcmVjdGx5LiIgY29tbWVudD0iSWYgdGhlIGRldmljZSBpcyBydW5uaW5nIGEgRkhJUiBzZXJ2ZXIsIHRoZSBuZXR3b3JrIGFkZHJlc3Mgc2hvdWxkICBiZSB0aGUgQmFzZSBVUkwgZnJvbSB3aGljaCBhIGNvbmZvcm1hbmNlIHN0YXRlbWVudCBtYXkgYmUgcmV0cmlldmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRGV2aWNlIG5vdGVzIGFuZCBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpdmUgaW5mb3JtYXRpb24sIHVzYWdlIGluZm9ybWF0aW9uIG9yIGltcGxhbnRhdGlvbiBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBjYXB0dXJlZCBpbiBhbiBleGlzdGluZyBlbGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNhZmV0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNhZmV0eSBDaGFyYWN0ZXJpc3RpY3Mgb2YgRGV2aWNlIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhZGRpdGlvbmFsIHNhZmV0eSBjaGFyYWN0ZXJpc3RpY3MgYWJvdXQgYSBtZWRpY2FsIGRldmljZS4gIEZvciBleGFtcGxlIGRldmljZXMgY29udGFpbmluZyBsYXRleC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcmVudCBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJlbnQgZGV2aWNlLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuRGV2aWNlTmFtZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VOYW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1ZGktbGFiZWwtbmFtZSB8IHVzZXItZnJpZW5kbHktbmFtZSB8IHBhdGllbnQtcmVwb3J0ZWQtbmFtZSB8IG1hbnVmYWN0dXJlci1uYW1lIHwgbW9kZWwtbmFtZSB8IG90aGVyIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBkZXZpY2VOYW1lLiYjeGE7VURJTGFiZWxOYW1lIHwgVXNlckZyaWVuZGx5TmFtZSB8IFBhdGllbnRSZXBvcnRlZE5hbWUgfCBNYW51ZmFjdHVyZURldmljZU5hbWUgfCBNb2RlbE5hbWUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlTmFtZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBuYW1lIHRoZSBkZXZpY2UgaXMgcmVmZXJyZWQgYnkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuUHJvcGVydHkiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGUgdGhhdCBzcGVjaWZpZXMgdGhlIHByb3BlcnR5IERldmljZURlZmluaXRpb25Qcm9wZXR5Q29kZSAoRXh0ZW5zaWJsZSkiIGRlZmluaXRpb249IkNvZGUgdGhhdCBzcGVjaWZpZXMgdGhlIHByb3BlcnR5IERldmljZURlZmluaXRpb25Qcm9wZXR5Q29kZSAoRXh0ZW5zaWJsZSkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eSIgZGVmaW5pdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBjb2RlLCBlLmcuLCBOVFA0IChzeW5jZWQgdG8gTlRQKSIgZGVmaW5pdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBjb2RlLCBlLmcuLCBOVFA0IChzeW5jZWQgdG8gTlRQKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuU3BlY2lhbGl6YXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUiIGRlZmluaXRpb249IlRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5VZGlDYXJyaWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNYW5kYXRvcnkgZml4ZWQgcG9ydGlvbiBvZiBVREkiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgaWRlbnRpZmllciAoREkpIGlzIGEgbWFuZGF0b3J5LCBmaXhlZCBwb3J0aW9uIG9mIGEgVURJIHRoYXQgaWRlbnRpZmllcyB0aGUgbGFiZWxlciBhbmQgdGhlIHNwZWNpZmljIHZlcnNpb24gb3IgbW9kZWwgb2YgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVESSBJc3N1aW5nIE9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXMgY2hhcmdlZCB3aXRoIGlzc3VpbmcgVURJcyBmb3IgZGV2aWNlcy4gIEZvciBleGFtcGxlLCB0aGUgVVMgRkRBIGlzc3VlcnMgaW5jbHVkZSA6JiN4YTsxKSBHUzE6ICYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vZ3MxLWRpLCAmI3hhOzIpIEhJQkNDOiYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vaGliY2MtZEksICYjeGE7MykgSUNDQkJBIGZvciBibG9vZCBjb250YWluZXJzOiYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vaWNjYmJhLWJsb29kLWRpLCAmI3hhOzQpIElDQ0JBIGZvciBvdGhlciBkZXZpY2VzOiYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vaWNjYmJhLW90aGVyLWRpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJqdXJpc2RpY3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlZ2lvbmFsIFVESSBhdXRob3JpdHkiIGRlZmluaXRpb249IlRoZSBpZGVudGl0eSBvZiB0aGUgYXV0aG9yaXRhdGl2ZSBzb3VyY2UgZm9yIFVESSBnZW5lcmF0aW9uIHdpdGhpbiBhICBqdXJpc2RpY3Rpb24uICBBbGwgVURJcyBhcmUgZ2xvYmFsbHkgdW5pcXVlIHdpdGhpbiBhIHNpbmdsZSBuYW1lc3BhY2Ugd2l0aCB0aGUgYXBwcm9wcmlhdGUgcmVwb3NpdG9yeSB1cmkgYXMgdGhlIHN5c3RlbS4gIEZvciBleGFtcGxlLCAgVURJcyBvZiBkZXZpY2VzIG1hbmFnZWQgaW4gdGhlIFUuUy4gYnkgdGhlIEZEQSwgdGhlIHZhbHVlIGlzICBodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9mZGEtdWRpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXJyaWVyQUlEQyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIE1hY2hpbmUgUmVhZGFibGUgQmFyY29kZSBTdHJpbmciIGRlZmluaXRpb249IlRoZSBmdWxsIFVESSBjYXJyaWVyIG9mIHRoZSBBdXRvbWF0aWMgSWRlbnRpZmljYXRpb24gYW5kIERhdGEgQ2FwdHVyZSAoQUlEQykgdGVjaG5vbG9neSByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmFyY29kZSBzdHJpbmcgYXMgcHJpbnRlZCBvbiB0aGUgcGFja2FnaW5nIG9mIHRoZSBkZXZpY2UgLSBlLmcuLCBhIGJhcmNvZGUgb3IgUkZJRC4gICBCZWNhdXNlIG9mIGxpbWl0YXRpb25zIG9uIGNoYXJhY3RlciBzZXRzIGluIFhNTCBhbmQgdGhlIG5lZWQgdG8gcm91bmQtdHJpcCBKU09OIGRhdGEgdGhyb3VnaCBYTUwsIEFJREMgRm9ybWF0cyAqU0hBTEwqIGJlIGJhc2U2NCBlbmNvZGVkLiIgY29tbWVudD0iVGhlIEFJREMgZm9ybSBvZiBVRElzIHNob3VsZCBiZSBzY2FubmVkIG9yIG90aGVyd2lzZSB1c2VkIGZvciB0aGUgaWRlbnRpZmljYXRpb24gb2YgdGhlIGRldmljZSB3aGVuZXZlciBwb3NzaWJsZSB0byBtaW5pbWl6ZSBlcnJvcnMgaW4gcmVjb3JkcyByZXN1bHRpbmcgZnJvbSBtYW51YWwgdHJhbnNjcmlwdGlvbnMuIElmIHNlcGFyYXRlIGJhcmNvZGVzIGZvciBESSBhbmQgUEkgYXJlIHByZXNlbnQsIGNvbmNhdGVuYXRlIHRoZSBzdHJpbmcgd2l0aCBESSBmaXJzdCBhbmQgaW4gb3JkZXIgb2YgaHVtYW4gcmVhZGFibGUgZXhwcmVzc2lvbiBvbiBsYWJlbC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FycmllckhSRiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIEh1bWFuIFJlYWRhYmxlIEJhcmNvZGUgU3RyaW5nIiBkZWZpbml0aW9uPSJUaGUgZnVsbCBVREkgY2FycmllciBhcyB0aGUgaHVtYW4gcmVhZGFibGUgZm9ybSAoSFJGKSByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmFyY29kZSBzdHJpbmcgYXMgcHJpbnRlZCBvbiB0aGUgcGFja2FnaW5nIG9mIHRoZSBkZXZpY2UuIiBjb21tZW50PSJJZiBzZXBhcmF0ZSBiYXJjb2RlcyBmb3IgREkgYW5kIFBJIGFyZSBwcmVzZW50LCBjb25jYXRlbmF0ZSB0aGUgc3RyaW5nIHdpdGggREkgZmlyc3QgYW5kIGluIG9yZGVyIG9mIGh1bWFuIHJlYWRhYmxlIGV4cHJlc3Npb24gb24gbGFiZWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbnRyeVR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVURJRW50cnlUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImJhcmNvZGUgfCByZmlkIHwgbWFudWFsICsiIGRlZmluaXRpb249IkEgY29kZWQgZW50cnkgdG8gaW5kaWNhdGUgaG93IHRoZSBkYXRhIHdhcyBlbnRlcmVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVESUVudHJ5VHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IGhvdyBVREkgZGF0YSB3YXMgZW50ZXJlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5WZXJzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgZGV2aWNlIHZlcnNpb24iIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRoZSBkZXZpY2UgdmVyc2lvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBIHNpbmdsZSBjb21wb25lbnQgb2YgdGhlIGRldmljZSB2ZXJzaW9uIiBkZWZpbml0aW9uPSJBIHNpbmdsZSBjb21wb25lbnQgb2YgdGhlIGRldmljZSB2ZXJzaW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHZlcnNpb24gdGV4dCIgZGVmaW5pdGlvbj0iVGhlIHZlcnNpb24gdGV4dC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlTmFtZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZU5vdFJlcXVlc3RlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGV2aWNlbm90cmVxdWVzdGVkIiBsYWJlbD0iUUlDb3JlIERldmljZSBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9IkRldmljZVJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm1SZWFzb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9Ob3RQZXJmb3JtUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRvTm90UGVyZm9ybVJlYXNvbiddLnZhbHVlKSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gdGhlIGV2ZW50IHdhcyBub3QgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXBhcmVudC5tb2RpZmllckV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvNS4wL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLURldmljZVJlcXVlc3QuZG9Ob3RQZXJmb3JtJ10udmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkFuIEV4dGVuc2lvbiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIFJlcXVlc3QgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBieSB0aGUgb3JkZXJlciBvciBieSB0aGUgcmVjZWl2ZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIERldmljZVJlcXVlc3QuIiBjb21tZW50PSJOb3RlOiBUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IGZ1bGZpbGxzIiBkZWZpbml0aW9uPSJQbGFuL3Byb3Bvc2FsL29yZGVyIGZ1bGZpbGxlZCBieSB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvclJlcXVlc3QiIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgcmVwbGFjZXMiIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IHRha2VzIHRoZSBwbGFjZSBvZiB0aGUgcmVmZXJlbmNlZCBjb21wbGV0ZWQgb3IgdGVybWluYXRlZCByZXF1ZXN0KHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIG9mIGNvbXBvc2l0ZSByZXF1ZXN0IiBkZWZpbml0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VSZXF1ZXN0U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBjYW5jZWxsZWQgYW5kIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrIHRoZSByZXF1ZXN0IGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyByZXByZXNlbnRpbmcgdGhlIHN0YXR1cyBvZiB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByb3Bvc2FsIHwgcGxhbiB8IGRpcmVjdGl2ZSB8IG9yZGVyIHwgb3JpZ2luYWwtb3JkZXIgfCByZWZsZXgtb3JkZXIgfCBmaWxsZXItb3JkZXIgfCBpbnN0YW5jZS1vcmRlciB8IG9wdGlvbiIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgcmVxdWVzdCBpcyBhIHByb3Bvc2FsLCBwbGFuLCBhbiBvcmlnaW5hbCBvcmRlciBvciBhIHJlZmxleCBvcmRlci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVxdWVzdEludGVudCIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIGRpYWdub3N0aWMgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUge3t0aXRsZX19IHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50LmNvZGVbeF0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iRGV2aWNlIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIGRldmljZSB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJhbWV0ZXIiIGRlc2NyaXB0aW9uPSJEZXZpY2UgZGV0YWlscyIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgcGFyYW1ldGVycyBmb3IgdGhlIG9yZGVyZWQgaXRlbS4gIEZvciBleGFtcGxlLCB0aGUgcHJpc20gdmFsdWUgZm9yIGxlbnNlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VSZXF1ZXN0LlBhcmFtZXRlciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJGb2N1cyBvZiByZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gd2lsbCB1c2UgdGhlIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgbW90aXZhdGluZyByZXF1ZXN0IiBkZWZpbml0aW9uPSJBbiBlbmNvdW50ZXIgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGNvbnRleHQgaW4gd2hpY2ggdGhpcyByZXF1ZXN0IGlzIG1hZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQgdGltZSBvciBzY2hlZHVsZSBmb3IgdXNlIiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIHNjaGVkdWxlIGZvciB0aGUgdXNlIG9mIHRoZSBkZXZpY2UuIFRoZSBTY2hlZHVsZSBkYXRhIHR5cGUgYWxsb3dzIG1hbnkgZGlmZmVyZW50IGV4cHJlc3Npb25zLCBmb3IgZXhhbXBsZS4gJnF1b3Q7RXZlcnkgOCBob3VycyZxdW90OzsgJnF1b3Q7VGhyZWUgdGltZXMgYSBkYXkmcXVvdDs7ICZxdW90OzEvMiBhbiBob3VyIGJlZm9yZSBicmVha2Zhc3QgZm9yIDEwIGRheXMgZnJvbSAyMy1EZWMgMjAxMTomcXVvdDs7ICZxdW90OzE1IE9jdCAyMDEzLCAxNyBPY3QgMjAxMyBhbmQgMSBOb3YgMjAxMyZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlY29yZGVkIiBkZWZpbml0aW9uPSJXaGVuIHRoZSByZXF1ZXN0IHRyYW5zaXRpb25lZCB0byBiZWluZyBhY3Rpb25hYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3RpbmcgZGlhZ25vc3RpY3MiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZpbGxlciByb2xlIiBkZWZpbml0aW9uPSJEZXNpcmVkIHR5cGUgb2YgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgZGlhZ25vc3RpYyB0ZXN0aW5nLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RQYXJ0aWNpcGFudFJvbGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IHBoeXNpY2lhbiZxdW90OywgJnF1b3Q7VGVhbSBjb29yZGluYXRvciZxdW90OywgJnF1b3Q7Q2FyZWdpdmVyJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgRmlsbGVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCBSZWFzb24gZm9yIHJlcXVlc3QiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZGV2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0UmVhc29uIiBkZXNjcmlwdGlvbj0iRGlhZ25vc2lzIG9yIHByb2JsZW0gY29kZXMganVzdGlmeWluZyB0aGUgcmVhc29uIGZvciByZXF1ZXN0aW5nIHRoZSBkZXZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkxpbmtlZCBSZWFzb24gZm9yIHJlcXVlc3QiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZGV2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm8iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwYXRpZW50IHRoYXQgbWF5IGluZmx1ZW5jZSB0aGUgcmVxdWVzdCBmdWxmaWxtZW50LiAgRm9yIGV4YW1wbGUsIHRoaXMgbWF5IGluY2x1ZGUgd2hlcmUgb24gdGhlIHN1YmplY3QncyBib2R5IHRoZSBkZXZpY2Ugd2lsbCBiZSB1c2VkIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iTm90ZXMgb3IgY29tbWVudHMiIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhpcyByZXF1ZXN0IHRoYXQgd2VyZSBub3QgcmVwcmVzZW50ZWQgYXQgYWxsIG9yIHN1ZmZpY2llbnRseSBpbiBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgcHJvdmlkZWQgaW4gYSBjbGFzcy4gVGhlc2UgbWF5IGluY2x1ZGUgZm9yIGV4YW1wbGUgYSBjb21tZW50LCBhbiBpbnN0cnVjdGlvbiwgb3IgYSBub3RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RhdGVtZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IHByb3ZlbmFuY2UiIGRlZmluaXRpb249IktleSBldmVudHMgaW4gdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3QgLSBvbmx5IHRob3NlIGRlZW1lZCAmcXVvdDtyZWxldmFudCZxdW90OyBvciBpbXBvcnRhbnQuJiN4ZDtUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhICZxdW90O3JlbGV2YW50JnF1b3Q7IGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmI3hkO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGV2aWNlcmVxdWVzdCIgbGFiZWw9IlFJQ29yZSBEZXZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXBhcmVudC5tb2RpZmllckV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvNS4wL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLURldmljZVJlcXVlc3QuZG9Ob3RQZXJmb3JtJ10udmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkFuIEV4dGVuc2lvbiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIFJlcXVlc3QgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBieSB0aGUgb3JkZXJlciBvciBieSB0aGUgcmVjZWl2ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRGV2aWNlUmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imdyb3VwSWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllciBvZiBjb21wb3NpdGUgcmVxdWVzdCIgZGVmaW5pdGlvbj0iQ29tcG9zaXRlIHJlcXVlc3QgdGhpcyBpcyBwYXJ0IG9mLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGTigIsgfCByZXZva2Vk4oCLIHwgZW50ZXJlZC1pbi1lcnJvcuKAiyB8IHVua25vd27igIsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZXMgY2FuY2VsbGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgcmVxdWVzdCBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcmVwcmVzZW50aW5nIHRoZSBzdGF0dXMgb2YgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVxdWVzdEludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgYW4gb3JpZ2luYWwgb3JkZXIgb3IgYSByZWZsZXggb3JkZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlcXVlc3RJbnRlbnQiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBkaWFnbm9zdGljIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0UHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIHt7dGl0bGV9fSBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXF1ZXN0UHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIHRvIGJlIGFzc2lnbmVkIHRvIGFjdGlvbmluZyB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGV2aWNlIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIGRldmljZSB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFyYW1ldGVyIiBkZXNjcmlwdGlvbj0iRGV2aWNlIGRldGFpbHMiIGRlZmluaXRpb249IlNwZWNpZmljIHBhcmFtZXRlcnMgZm9yIHRoZSBvcmRlcmVkIGl0ZW0uICBGb3IgZXhhbXBsZSwgdGhlIHByaXNtIHZhbHVlIGZvciBsZW5zZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdC5QYXJhbWV0ZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRm9jdXMgb2YgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQgd2hvIHdpbGwgdXNlIHRoZSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIG1vdGl2YXRpbmcgcmVxdWVzdCIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXNpcmVkIHRpbWUgb3Igc2NoZWR1bGUgZm9yIHVzZSIgZGVmaW5pdGlvbj0iVGhlIHRpbWluZyBzY2hlZHVsZSBmb3IgdGhlIHVzZSBvZiB0aGUgZGV2aWNlLiBUaGUgU2NoZWR1bGUgZGF0YSB0eXBlIGFsbG93cyBtYW55IGRpZmZlcmVudCBleHByZXNzaW9ucywgZm9yIGV4YW1wbGUuICZxdW90O0V2ZXJ5IDggaG91cnMmcXVvdDs7ICZxdW90O1RocmVlIHRpbWVzIGEgZGF5JnF1b3Q7OyAmcXVvdDsxLzIgYW4gaG91ciBiZWZvcmUgYnJlYWtmYXN0IGZvciAxMCBkYXlzIGZyb20gMjMtRGVjIDIwMTE6JnF1b3Q7OyAmcXVvdDsxNSBPY3QgMjAxMywgMTcgT2N0IDIwMTMgYW5kIDEgTm92IDIwMTMmcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVjb3JkZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL3doYXQgaXMgcmVxdWVzdGluZyBkaWFnbm9zdGljcyIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZpbGxlciByb2xlIiBkZWZpbml0aW9uPSJEZXNpcmVkIHR5cGUgb2YgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgZGlhZ25vc3RpYyB0ZXN0aW5nLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RQYXJ0aWNpcGFudFJvbGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IHBoeXNpY2lhbiZxdW90OywgJnF1b3Q7VGVhbSBjb29yZGluYXRvciZxdW90OywgJnF1b3Q7Q2FyZWdpdmVyJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgRmlsbGVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgUmVhc29uIGZvciByZXF1ZXN0IiBkZWZpbml0aW9uPSJSZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIHVzZSBvZiB0aGlzIGRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFJlYXNvbiIgZGVzY3JpcHRpb249IkRpYWdub3NpcyBvciBwcm9ibGVtIGNvZGVzIGp1c3RpZnlpbmcgdGhlIHJlYXNvbiBmb3IgcmVxdWVzdGluZyB0aGUgZGV2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMaW5rZWQgUmVhc29uIGZvciByZXF1ZXN0IiBkZWZpbml0aW9uPSJSZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIHVzZSBvZiB0aGlzIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZXF1aXJlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhdGllbnQgdGhhdCBtYXkgaW5mbHVlbmNlIHRoZSByZXF1ZXN0IGZ1bGZpbG1lbnQuICBGb3IgZXhhbXBsZSwgdGhpcyBtYXkgaW5jbHVkZSB3aGVyZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgdGhlIGRldmljZSB3aWxsIGJlIHVzZWQgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJOb3RlcyBvciBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGlzIHJlcXVlc3QgdGhhdCB3ZXJlIG5vdCByZXByZXNlbnRlZCBhdCBhbGwgb3Igc3VmZmljaWVudGx5IGluIG9uZSBvZiB0aGUgYXR0cmlidXRlcyBwcm92aWRlZCBpbiBhIGNsYXNzLiBUaGVzZSBtYXkgaW5jbHVkZSBmb3IgZXhhbXBsZSBhIGNvbW1lbnQsIGFuIGluc3RydWN0aW9uLCBvciBhIG5vdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGF0ZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsZXZhbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBwcm92ZW5hbmNlIiBkZWZpbml0aW9uPSJLZXkgZXZlbnRzIGluIHRoZSBoaXN0b3J5IG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IC0gb25seSB0aG9zZSBkZWVtZWQgJnF1b3Q7cmVsZXZhbnQmcXVvdDsgb3IgaW1wb3J0YW50LiYjeGQ7VGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAgKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSAmcXVvdDtyZWxldmFudCZxdW90OyBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiAgVW50aWwgdGhlbiwgaXQgY2FuIGJlIHF1ZXJpZWQgZGlyZWN0bHkgYXMgdGhlIFByb3ZlbmFuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyB2ZXJzaW9uIHVzaW5nIF9yZXZpbmNsdWRlJiN4ZDtBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImNvZGUgYXMgUmVmZXJlbmNlKSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlUmVxdWVzdC5QYXJhbWV0ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRldmljZSBkZXRhaWwiIGRlZmluaXRpb249IkEgY29kZSBvciBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIHRoZSBkZXZpY2UgZGV0YWlsIGJlaW5nIGFzc2VydGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhcmFtZXRlckNvZGUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBkZXZpY2UgZGV0YWlsLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWx1ZSBvZiBkZXRhaWwiIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgZGV2aWNlIGRldGFpbC4iIGNvbW1lbnQ9IlJhbmdlIG1lYW5zIGRldmljZSBzaG91bGQgaGF2ZSBhIHZhbHVlIHRoYXQgZmFsbHMgc29tZXdoZXJlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VVc2VTdGF0ZW1lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRldmljZXVzZXN0YXRlbWVudCIgbGFiZWw9IlFJQ29yZSBEZXZpY2VVc2VTdGF0ZW1lbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImRldmljZS5jb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkZW50aWZpZXIgZm9yIHRoaXMgcmVjb3JkIiBkZWZpbml0aW9uPSJBbiBleHRlcm5hbCBpZGVudGlmaWVyIGZvciB0aGlzIHN0YXRlbWVudCBzdWNoIGFzIGFuIElSSS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIERldmljZVVzZVN0YXRlbWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciArIiBkZWZpbml0aW9uPSJBIGNvZGUgcmVwcmVzZW50aW5nIHRoZSBwYXRpZW50IG9yIG90aGVyIHNvdXJjZSdzIGp1ZGdtZW50IGFib3V0IHRoZSBzdGF0ZSBvZiB0aGUgZGV2aWNlIHVzZWQgdGhhdCB0aGlzIHN0YXRlbWVudCBpcyBhYm91dC4gIEdlbmVyYWxseSB0aGlzIHdpbGwgYmUgYWN0aXZlIG9yIGNvbXBsZXRlZC4iIGNvbW1lbnQ9IkRldmljZVVzZVN0YXRtZW50IGlzIGEgc3RhdGVtZW50IGF0IGEgcG9pbnQgaW4gdGltZS4gIFRoZSBzdGF0dXMgaXMgb25seSByZXByZXNlbnRhdGl2ZSBhdCB0aGUgcG9pbnQgd2hlbiBpdCB3YXMgYXNzZXJ0ZWQuICBUaGUgdmFsdWUgc2V0IGZvciBjb250YWlucyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSB1c2UgIGJ5IHRoZSBwYXRpZW50IChmb3IgZXhhbXBsZSwgc3RvcHBlZCBvciBvbiBob2xkKSBhcyB3ZWxsIGFzIGNvZGVzIHRoYXQgYXNzZXJ0IHRoZSBzdGF0dXMgb2YgdGhlIHJlc291cmNlIGl0c2VsZiAoZm9yIGV4YW1wbGUsIGVudGVyZWQgaW4gZXJyb3IpLiYjeGQ7JiN4ZDtUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZXMgdGhhdCBtYXJrIHRoZSBzdGF0ZW1lbnQgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBEZXZpY2UgVXNhZ2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBhdGllbnQgdXNpbmcgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gdXNlZCB0aGUgZGV2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBbGxvd3MgbGlua2luZyB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IHRvIHRoZSB1bmRlcmx5aW5nIFJlcXVlc3QsIG9yIHRvIG90aGVyIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgb3IgaXMgdXNlZCB0byBkZXJpdmUgdGhlIERldmljZVVzZVN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgZm9yIGRlcml2aW5nIGEgRGV2aWNlVXNlU3RhdGVtZW50IGNvbWVzIGZyb20gY3JlYXRpbmcgaXQgZnJvbSBhIHJlcXVlc3Qgb3IgZnJvbSBhbiBvYnNlcnZhdGlvbiBvciBhIGNsYWltLiBpdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgYW1vdW50IG9mIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIHZhcmllcyBmcm9tIHRoZSB0eXBlIHJlc291cmNlIHRoYXQgeW91IGRlcml2ZSB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IGZyb20uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1pbmciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IG9mdGVuICB0aGUgZGV2aWNlIHdhcyB1c2VkIiBkZWZpbml0aW9uPSJIb3cgb2Z0ZW4gdGhlIGRldmljZSB3YXMgdXNlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBzdGF0ZW1lbnQgd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSBhdCB3aGljaCB0aGUgc3RhdGVtZW50IHdhcyBtYWRlL3JlY29yZGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBtYWRlIHRoZSBzdGF0ZW1lbnQiIGRlZmluaXRpb249IldobyByZXBvcnRlZCB0aGUgZGV2aWNlIHdhcyBiZWluZyB1c2VkIGJ5IHRoZSBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIGRldmljZSB1c2VkIiBkZWZpbml0aW9uPSJUaGUgZGV0YWlscyBvZiB0aGUgZGV2aWNlIHVzZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGRldmljZSB3YXMgdXNlZCIgZGVmaW5pdGlvbj0iUmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSB1c2Ugb2YgdGhlIGRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIERldmljZVVzZVN0YXRlbWVudCBwZXJmb3JtZWQ/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgRGV2aWNlVXNlU3RhdGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRhcmdldCBib2R5IHNpdGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgYW5vdG9taWMgbG9jYXRpb24gb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBkZXZpY2Ugd2FzIHVzZWQgKCBpLmUuIHRoZSB0YXJnZXQpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb24gZGV0YWlscyAoY29tbWVudHMsIGluc3RydWN0aW9ucykiIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhlIGRldmljZSBzdGF0ZW1lbnQgdGhhdCB3ZXJlIG5vdCByZXByZXNlbnRlZCBhdCBhbGwgb3Igc3VmZmljaWVudGx5IGluIG9uZSBvZiB0aGUgYXR0cmlidXRlcyBwcm92aWRlZCBpbiBhIGNsYXNzLiBUaGVzZSBtYXkgaW5jbHVkZSBmb3IgZXhhbXBsZSBhIGNvbW1lbnQsIGFuIGluc3RydWN0aW9uLCBvciBhIG5vdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGF0ZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iZGV2aWNlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVVzZVN0YXRlbWVudFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWVuY291bnRlci1kaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24iIGxhYmVsPSJRSUNvcmUgRGlhZ25vc2lzIFByZXNlbnQgb24gQWRtaXNzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlhZ25vc3RpY1JlcG9ydC5NZWRpYSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tbWVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ29tbWVudCBhYm91dCB0aGUgaW1hZ2UgKGUuZy4gZXhwbGFuYXRpb24pIiBkZWZpbml0aW9uPSJBIGNvbW1lbnQgYWJvdXQgdGhlIGltYWdlLiBUeXBpY2FsbHksIHRoaXMgaXMgdXNlZCB0byBwcm92aWRlIGFuIGV4cGxhbmF0aW9uIGZvciB3aHkgdGhlIGltYWdlIGlzIGluY2x1ZGVkLCBvciB0byBkcmF3IHRoZSB2aWV3ZXIncyBhdHRlbnRpb24gdG8gaW1wb3J0YW50IGZlYXR1cmVzLiIgY29tbWVudD0iVGhlIGNvbW1lbnQgc2hvdWxkIGJlIGRpc3BsYXllZCB3aXRoIHRoZSBpbWFnZS4gSXQgd291bGQgYmUgY29tbW9uIGZvciB0aGUgcmVwb3J0IHRvIGluY2x1ZGUgYWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoZSBpbWFnZSBjb250ZW50cyBpbiBvdGhlciBzZWN0aW9ucyBzdWNoIGFzIHRoZSBjb25jbHVzaW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlZmVyZW5jZSB0byB0aGUgaW1hZ2Ugc291cmNlIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGltYWdlIHNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlhZ25vc3RpY1JlcG9ydExhYiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGlhZ25vc3RpY3JlcG9ydC1sYWIiIGxhYmVsPSJRSUNvcmUgRGlhZ25vc3RpY1JlcG9ydCBQcm9maWxlIGZvciBMYWJvcmF0b3J5IFJlc3VsdHMgUmVwb3J0aW5nIiB0YXJnZXQ9IkRpYWdub3N0aWNSZXBvcnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZVJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdudWxsJ10iIGRlc2NyaXB0aW9uPSJWYWx1ZSBvZiBleHRlbnNpb24iIGRlZmluaXRpb249IlZhbHVlIG9mIGV4dGVuc2lvbiAtIG11c3QgYmUgb25lIG9mIGEgY29uc3RyYWluZWQgc2V0IG9mIHRoZSBkYXRhIHR5cGVzIChzZWUgW0V4dGVuc2liaWxpdHldKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaWJpbGl0eS5odG1sKSBmb3IgYSBsaXN0KS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblBlcmZvcm1lZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5sb2NhdGlvblBlcmZvcm1lZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249IkxvY2F0aW9uIFBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iRmFjaWxpdHkgbG9jYXRpb24gd2hlcmUgdGhpcyByZXBvcnQgd2FzIHByZXBhcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciByZXBvcnQiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVwb3J0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcy4iIGNvbW1lbnQ9IlVzdWFsbHkgYXNzaWduZWQgYnkgdGhlIEluZm9ybWF0aW9uIFN5c3RlbSBvZiB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHByb3ZpZGVyIChmaWxsZXIgaWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRldGFpbHMgY29uY2VybmluZyBhIHNlcnZpY2UgcmVxdWVzdGVkLiIgY29tbWVudD0iTm90ZTogVXN1YWxseSB0aGVyZSBpcyBvbmUgdGVzdCByZXF1ZXN0IGZvciBlYWNoIHJlc3VsdCwgaG93ZXZlciBpbiBzb21lIGNpcmN1bXN0YW5jZXMgbXVsdGlwbGUgdGVzdCByZXF1ZXN0cyBtYXkgYmUgcmVwcmVzZW50ZWQgdXNpbmcgYSBzaW5nbGUgdGVzdCByZXN1bHQgcmVzb3VyY2UuIE5vdGUgdGhhdCB0aGVyZSBhcmUgYWxzbyBjYXNlcyB3aGVyZSBvbmUgcmVxdWVzdCBsZWFkcyB0byBtdWx0aXBsZSByZXBvcnRzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwYXJ0aWFsIHwgcHJlbGltaW5hcnkgfCBmaW5hbCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3N0aWNTZXJ2aWNlU2VjdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkaWFnbm9zdGljIHNlcnZpY2Ugc2VjdGlvbnMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iTGFib3JhdG9yeVNsaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc3RpY1NlcnZpY2VTZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRpYWdub3N0aWMgc2VydmljZSBzZWN0aW9ucy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJVUyBDb3JlIExhYm9yYXRvcnkgUmVwb3J0IE9yZGVyIENvZGUiIGRlZmluaXRpb249IlRoZSB0ZXN0LCBwYW5lbCBvciBiYXR0ZXJ5IHRoYXQgd2FzIG9yZGVyZWQuIiBjb21tZW50PSJVc2FnZU5vdGU9IFRoZSB0eXBpY2FsIHBhdHRlcm5zIGZvciBjb2RlcyBhcmU6ICAxKSAgYSBMT0lOQyBjb2RlIGVpdGhlciBhcyBhICB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJMT0lOQyBjb2RlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQgLSB1c3VhbGx5LCBidXQgbm90IGFsd2F5cywgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQuIFVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGlzIGlzIGEgcGF0aWVudC4gSG93ZXZlciwgZGlhZ25vc3RpYyBzZXJ2aWNlcyBhbHNvIHBlcmZvcm0gYW5hbHlzZXMgb24gc3BlY2ltZW5zIGNvbGxlY3RlZCBmcm9tIGEgdmFyaWV0eSBvZiBvdGhlciBzb3VyY2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aCBjYXJlIGV2ZW50IHdoZW4gdGVzdCBvcmRlcmVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSB3aGljaCB0aGlzIERpYWdub3N0aWNSZXBvcnQgaXMgYWJvdXQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyICBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyICAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lICh0eXBpY2FsbHkgdGhlIHRpbWUgb2Ygc3BlY2ltZW4gY29sbGVjdGlvbikiIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZXMgYXJlIHJlbGF0ZWQgdG8uIFdoZW4gdGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCBpcyBhIHBhdGllbnQsIHRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uKHMpLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iSWYgdGhlIGRpYWdub3N0aWMgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQsIHRoaXMgaXMgdGhlIHRpbWUgaXQgd2FzIHBlcmZvcm1lZC4gSWYgdGhlcmUgYXJlIHNwZWNpbWVucywgdGhlIGRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbiB0aW1lcywgYnV0IHRoZSBzcGVjaW1lbiBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgYW5kIHRoZSBleGFjdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlY2ltZW5zIGFuZCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBpcyBub3QgYWx3YXlzIGF1dG9tYXRpYy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHJlcG9ydCB3YXMgcmVsZWFzZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoYXQgdGhpcyB2ZXJzaW9uIG9mIHRoZSByZXBvcnQgd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXBvcnQgd2FzIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9Ik1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgdXBkYXRlIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiwgYmVjYXVzZSB0aGF0IGlzIHRoZSBzdGF0dXMgb2YgdGhlIHJlY29yZCAocG90ZW50aWFsbHkgYSBzZWNvbmRhcnkgY29weSksIG5vdCB0aGUgYWN0dWFsIHJlbGVhc2UgdGltZSBvZiB0aGUgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iUmVzcG9uc2libGUgRGlhZ25vc3RpYyBTZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGlzc3VpbmcgdGhlIHJlcG9ydC4iIGNvbW1lbnQ9IlRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzb3VyY2Ugb2YgdGhlIGF0b21pYyBkYXRhIGl0ZW1zIG9yIHRoZSBlbnRpdHkgdGhhdCBpbnRlcnByZXRlZCB0aGUgcmVzdWx0cy4gSXQgaXMgdGhlIGVudGl0eSB0aGF0IHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY2xpbmljYWwgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdHNJbnRlcnByZXRlciIgZGVzY3JpcHRpb249IlByaW1hcnkgcmVzdWx0IGludGVycHJldGVyIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcmVwb3J0J3MgY29uY2x1c2lvbnMgYW5kIGludGVycHJldGF0aW9ucy4iIGNvbW1lbnQ9Ik1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBlbnRpdHkgdGhhdCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNsaW5pY2FsIHJlcG9ydC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW5zIHRoaXMgcmVwb3J0IGlzIGJhc2VkIG9uIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBzcGVjaW1lbnMgb24gd2hpY2ggdGhpcyBkaWFnbm9zdGljIHJlcG9ydCBpcyBiYXNlZC4iIGNvbW1lbnQ9IklmIHRoZSBzcGVjaW1lbiBpcyBzdWZmaWNpZW50bHkgc3BlY2lmaWVkIHdpdGggYSBjb2RlIGluIHRoZSB0ZXN0IHJlc3VsdCBuYW1lLCB0aGVuIHRoaXMgYWRkaXRpb25hbCBkYXRhIG1heSBiZSByZWR1bmRhbnQuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBzcGVjaW1lbnMsIHRoZXNlIG1heSBiZSByZXByZXNlbnRlZCBwZXIgb2JzZXJ2YXRpb24gb3IgZ3JvdXAuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdCIgZGVzY3JpcHRpb249Ik9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iW09ic2VydmF0aW9uc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sKSAgdGhhdCBhcmUgcGFydCBvZiB0aGlzIGRpYWdub3N0aWMgcmVwb3J0LiIgY29tbWVudD0iT2JzZXJ2YXRpb25zIGNhbiBjb250YWluIG9ic2VydmF0aW9ucy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbWFnaW5nU3R1ZHkiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgdG8gZnVsbCBkZXRhaWxzIG9mIGltYWdpbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaWFnbm9zdGljIHJlcG9ydCIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgbGlua3MgdG8gZnVsbCBkZXRhaWxzIG9mIGFueSBpbWFnaW5nIHBlcmZvcm1lZCBkdXJpbmcgdGhlIGRpYWdub3N0aWMgaW52ZXN0aWdhdGlvbi4gVHlwaWNhbGx5LCB0aGlzIGlzIGltYWdpbmcgcGVyZm9ybWVkIGJ5IERJQ09NIGVuYWJsZWQgbW9kYWxpdGllcywgYnV0IHRoaXMgaXMgbm90IHJlcXVpcmVkLiBBIGZ1bGx5IGVuYWJsZWQgUEFDUyB2aWV3ZXIgY2FuIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIHByb3ZpZGUgdmlld3Mgb2YgdGhlIHNvdXJjZSBpbWFnZXMuIiBjb21tZW50PSJJbWFnaW5nU3R1ZHkgYW5kIHRoZSBpbWFnZSBlbGVtZW50IGFyZSBzb21ld2hhdCBvdmVybGFwcGluZyAtIHR5cGljYWxseSwgdGhlIGxpc3Qgb2YgaW1hZ2UgcmVmZXJlbmNlcyBpbiB0aGUgaW1hZ2UgZWxlbWVudCB3aWxsIGFsc28gYmUgZm91bmQgaW4gb25lIG9mIHRoZSBpbWFnaW5nIHN0dWR5IHJlc291cmNlcy4gSG93ZXZlciwgZWFjaCBjYXRlcnMgdG8gZGlmZmVyZW50IHR5cGVzIG9mIGRpc3BsYXlzIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YgcHVycG9zZXMuIE5laXRoZXIsIGVpdGhlciwgb3IgYm90aCBtYXkgYmUgcHJvdmlkZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iS2V5IGltYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQiIGRlZmluaXRpb249IkEgbGlzdCBvZiBrZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydC4gVGhlIGltYWdlcyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIHByb2Nlc3MsIGFuZCBtYXkgYmUgZGlyZWN0bHkgb2YgdGhlIHBhdGllbnQsIG9yIG9mIHRyZWF0ZWQgc3BlY2ltZW5zIChpLmUuIHNsaWRlcyBvZiBpbnRlcmVzdCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGlhZ25vc3RpY1JlcG9ydC5NZWRpYSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29uY2x1c2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgY29uY2x1c2lvbiAoaW50ZXJwcmV0YXRpb24pIG9mIHRlc3QgcmVzdWx0cyIgZGVmaW5pdGlvbj0iQ29uY2lzZSBhbmQgY2xpbmljYWxseSBjb250ZXh0dWFsaXplZCBzdW1tYXJ5IGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uL2ltcHJlc3Npb24pIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSBjbGluaWNhbCBjb25jbHVzaW9uIG9mIHRlc3QgcmVzdWx0cyIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgY29kZXMgdGhhdCByZXByZXNlbnQgdGhlIHN1bW1hcnkgY29uY2x1c2lvbiAoaW50ZXJwcmV0YXRpb24vaW1wcmVzc2lvbikgb2YgdGhlIGRpYWdub3N0aWMgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoaXMgdmFsdWUgc2V0IGluY2x1ZGVzIGFsbCB0aGUgJnF1b3Q7Q2xpbmljYWwgZmluZGluZyZxdW90OyBTTk9NRUQgQ1QgY29kZXMgLSBjb25jZXB0cyB3aGVyZSBjb25jZXB0IGlzLWEgNDA0Njg0MDAzIChDbGluaWNhbCBmaW5kaW5nIChmaW5kaW5nKSkuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2VudGVkRm9ybSIgZGVzY3JpcHRpb249IkVudGlyZSByZXBvcnQgYXMgaXNzdWVkIiBkZWZpbml0aW9uPSJSaWNoIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGVudGlyZSByZXN1bHQgYXMgaXNzdWVkIGJ5IHRoZSBkaWFnbm9zdGljIHNlcnZpY2UuIE11bHRpcGxlIGZvcm1hdHMgYXJlIGFsbG93ZWQgYnV0IHRoZXkgU0hBTEwgYmUgc2VtYW50aWNhbGx5IGVxdWl2YWxlbnQuIiBjb21tZW50PSImcXVvdDthcHBsaWNhdGlvbi9wZGYmcXVvdDsgaXMgcmVjb21tZW5kZWQgYXMgdGhlIG1vc3QgcmVsaWFibGUgYW5kIGludGVyb3BlcmFibGUgaW4gdGhpcyBjb250ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlhZ25vc3RpY1JlcG9ydE5vdGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRpYWdub3N0aWNyZXBvcnQtbm90ZSIgbGFiZWw9IlFJQ29yZSBEaWFnbm9zdGljUmVwb3J0IFByb2ZpbGUgZm9yIFJlcG9ydCBhbmQgTm90ZSBFeGNoYW5nZSIgdGFyZ2V0PSJEaWFnbm9zdGljUmVwb3J0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWVSZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nbnVsbCddIiBkZXNjcmlwdGlvbj0iVmFsdWUgb2YgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJWYWx1ZSBvZiBleHRlbnNpb24gLSBtdXN0IGJlIG9uZSBvZiBhIGNvbnN0cmFpbmVkIHNldCBvZiB0aGUgZGF0YSB0eXBlcyAoc2VlIFtFeHRlbnNpYmlsaXR5XShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2liaWxpdHkuaHRtbCkgZm9yIGEgbGlzdCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblBlcmZvcm1lZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5sb2NhdGlvblBlcmZvcm1lZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249IkxvY2F0aW9uIFBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iRmFjaWxpdHkgbG9jYXRpb24gd2hlcmUgdGhpcyByZXBvcnQgd2FzIHByZXBhcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciByZXBvcnQiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVwb3J0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcy4iIGNvbW1lbnQ9IlVzdWFsbHkgYXNzaWduZWQgYnkgdGhlIEluZm9ybWF0aW9uIFN5c3RlbSBvZiB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHByb3ZpZGVyIChmaWxsZXIgaWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRldGFpbHMgY29uY2VybmluZyBhIHNlcnZpY2UgcmVxdWVzdGVkLiIgY29tbWVudD0iTm90ZTogVXN1YWxseSB0aGVyZSBpcyBvbmUgdGVzdCByZXF1ZXN0IGZvciBlYWNoIHJlc3VsdCwgaG93ZXZlciBpbiBzb21lIGNpcmN1bXN0YW5jZXMgbXVsdGlwbGUgdGVzdCByZXF1ZXN0cyBtYXkgYmUgcmVwcmVzZW50ZWQgdXNpbmcgYSBzaW5nbGUgdGVzdCByZXN1bHQgcmVzb3VyY2UuIE5vdGUgdGhhdCB0aGVyZSBhcmUgYWxzbyBjYXNlcyB3aGVyZSBvbmUgcmVxdWVzdCBsZWFkcyB0byBtdWx0aXBsZSByZXBvcnRzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwYXJ0aWFsIHwgcHJlbGltaW5hcnkgfCBmaW5hbCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3N0aWNTZXJ2aWNlU2VjdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkaWFnbm9zdGljIHNlcnZpY2Ugc2VjdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlFJIENvcmUgUmVwb3J0IENvZGUiIGRlZmluaXRpb249IlRoZSB0ZXN0LCBwYW5lbCwgcmVwb3J0LCBvciBub3RlIHRoYXQgd2FzIG9yZGVyZWQuIiBjb21tZW50PSJUaGUgdHlwaWNhbCBwYXR0ZXJucyBmb3IgY29kZXMgYXJlOiAgMSkgIGEgTE9JTkMgY29kZSBlaXRoZXIgYXMgYSB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJMT0lOQyBjb2RlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQgLSB1c3VhbGx5LCBidXQgbm90IGFsd2F5cywgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQuIFVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGlzIGlzIGEgcGF0aWVudC4gSG93ZXZlciwgZGlhZ25vc3RpYyBzZXJ2aWNlcyBhbHNvIHBlcmZvcm0gYW5hbHlzZXMgb24gc3BlY2ltZW5zIGNvbGxlY3RlZCBmcm9tIGEgdmFyaWV0eSBvZiBvdGhlciBzb3VyY2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aCBjYXJlIGV2ZW50IHdoZW4gdGVzdCBvcmRlcmVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSB3aGljaCB0aGlzIERpYWdub3N0aWNSZXBvcnQgaXMgYWJvdXQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyICBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyICAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgKHR5cGljYWxseSB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlKSIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlcyBhcmUgcmVsYXRlZCB0by4gV2hlbiB0aGUgc3ViamVjdCBvZiB0aGUgcmVwb3J0IGlzIGEgcGF0aWVudCwgdGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24ocyksIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJJZiB0aGUgZGlhZ25vc3RpYyBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZCBvbiB0aGUgcGF0aWVudCwgdGhpcyBpcyB0aGUgdGltZSBpdCB3YXMgcGVyZm9ybWVkLiBJZiB0aGVyZSBhcmUgc3BlY2ltZW5zLCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZSBzcGVjaW1lbiBjb2xsZWN0aW9uIHRpbWVzLCBidXQgdGhlIHNwZWNpbWVuIGluZm9ybWF0aW9uIGlzIG5vdCBhbHdheXMgYXZhaWxhYmxlLCBhbmQgdGhlIGV4YWN0IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBzcGVjaW1lbnMgYW5kIHRoZSBkaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lIGlzIG5vdCBhbHdheXMgYXV0b21hdGljLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZVRpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgcmVwb3J0IHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVwb3J0IHdhcyByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJNYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHVwZGF0ZSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYsIGJlY2F1c2UgdGhhdCBpcyB0aGUgc3RhdHVzIG9mIHRoZSByZWNvcmQgKHBvdGVudGlhbGx5IGEgc2Vjb25kYXJ5IGNvcHkpLCBub3QgdGhlIGFjdHVhbCByZWxlYXNlIHRpbWUgb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IlJlc3BvbnNpYmxlIERpYWdub3N0aWMgU2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBpc3N1aW5nIHRoZSByZXBvcnQuIiBjb21tZW50PSJUaGlzIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc291cmNlIG9mIHRoZSBhdG9taWMgZGF0YSBpdGVtcyBvciB0aGUgZW50aXR5IHRoYXQgaW50ZXJwcmV0ZWQgdGhlIHJlc3VsdHMuIEl0IGlzIHRoZSBlbnRpdHkgdGhhdCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNsaW5pY2FsIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHRzSW50ZXJwcmV0ZXIiIGRlc2NyaXB0aW9uPSJQcmltYXJ5IHJlc3VsdCBpbnRlcnByZXRlciIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBvciBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlcG9ydCdzIGNvbmNsdXNpb25zIGFuZCBpbnRlcnByZXRhdGlvbnMuIiBjb21tZW50PSJNaWdodCBub3QgYmUgdGhlIHNhbWUgZW50aXR5IHRoYXQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBjbGluaWNhbCByZXBvcnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlNwZWNpbWVucyB0aGlzIHJlcG9ydCBpcyBiYXNlZCBvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGUgc3BlY2ltZW5zIG9uIHdoaWNoIHRoaXMgZGlhZ25vc3RpYyByZXBvcnQgaXMgYmFzZWQuIiBjb21tZW50PSJJZiB0aGUgc3BlY2ltZW4gaXMgc3VmZmljaWVudGx5IHNwZWNpZmllZCB3aXRoIGEgY29kZSBpbiB0aGUgdGVzdCByZXN1bHQgbmFtZSwgdGhlbiB0aGlzIGFkZGl0aW9uYWwgZGF0YSBtYXkgYmUgcmVkdW5kYW50LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgc3BlY2ltZW5zLCB0aGVzZSBtYXkgYmUgcmVwcmVzZW50ZWQgcGVyIG9ic2VydmF0aW9uIG9yIGdyb3VwLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHQiIGRlc2NyaXB0aW9uPSJPYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IltPYnNlcnZhdGlvbnNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCkgIHRoYXQgYXJlIHBhcnQgb2YgdGhpcyBkaWFnbm9zdGljIHJlcG9ydC4iIGNvbW1lbnQ9Ik9ic2VydmF0aW9ucyBjYW4gY29udGFpbiBvYnNlcnZhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW1hZ2luZ1N0dWR5IiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIGZ1bGwgZGV0YWlscyBvZiBpbWFnaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhZ25vc3RpYyByZXBvcnQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGxpbmtzIHRvIGZ1bGwgZGV0YWlscyBvZiBhbnkgaW1hZ2luZyBwZXJmb3JtZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIGludmVzdGlnYXRpb24uIFR5cGljYWxseSwgdGhpcyBpcyBpbWFnaW5nIHBlcmZvcm1lZCBieSBESUNPTSBlbmFibGVkIG1vZGFsaXRpZXMsIGJ1dCB0aGlzIGlzIG5vdCByZXF1aXJlZC4gQSBmdWxseSBlbmFibGVkIFBBQ1Mgdmlld2VyIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm92aWRlIHZpZXdzIG9mIHRoZSBzb3VyY2UgaW1hZ2VzLiIgY29tbWVudD0iSW1hZ2luZ1N0dWR5IGFuZCB0aGUgaW1hZ2UgZWxlbWVudCBhcmUgc29tZXdoYXQgb3ZlcmxhcHBpbmcgLSB0eXBpY2FsbHksIHRoZSBsaXN0IG9mIGltYWdlIHJlZmVyZW5jZXMgaW4gdGhlIGltYWdlIGVsZW1lbnQgd2lsbCBhbHNvIGJlIGZvdW5kIGluIG9uZSBvZiB0aGUgaW1hZ2luZyBzdHVkeSByZXNvdXJjZXMuIEhvd2V2ZXIsIGVhY2ggY2F0ZXJzIHRvIGRpZmZlcmVudCB0eXBlcyBvZiBkaXNwbGF5cyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIHB1cnBvc2VzLiBOZWl0aGVyLCBlaXRoZXIsIG9yIGJvdGggbWF5IGJlIHByb3ZpZGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iS2V5IGltYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQiIGRlZmluaXRpb249IkEgbGlzdCBvZiBrZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydC4gVGhlIGltYWdlcyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIHByb2Nlc3MsIGFuZCBtYXkgYmUgZGlyZWN0bHkgb2YgdGhlIHBhdGllbnQsIG9yIG9mIHRyZWF0ZWQgc3BlY2ltZW5zIChpLmUuIHNsaWRlcyBvZiBpbnRlcmVzdCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRpYWdub3N0aWNSZXBvcnQuTWVkaWEiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uKSBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249IkNvbmNpc2UgYW5kIGNsaW5pY2FsbHkgY29udGV4dHVhbGl6ZWQgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb25jbHVzaW9uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgY2xpbmljYWwgY29uY2x1c2lvbiBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGNvZGVzIHRoYXQgcmVwcmVzZW50IHRoZSBzdW1tYXJ5IGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uL2ltcHJlc3Npb24pIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBpbmNsdWRlcyBhbGwgdGhlICZxdW90O0NsaW5pY2FsIGZpbmRpbmcmcXVvdDsgU05PTUVEIENUIGNvZGVzIC0gY29uY2VwdHMgd2hlcmUgY29uY2VwdCBpcy1hIDQwNDY4NDAwMyAoQ2xpbmljYWwgZmluZGluZyAoZmluZGluZykpLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZXNlbnRlZEZvcm0iIGRlc2NyaXB0aW9uPSJFbnRpcmUgcmVwb3J0IGFzIGlzc3VlZCIgZGVmaW5pdGlvbj0iUmljaCB0ZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBlbnRpcmUgcmVzdWx0IGFzIGlzc3VlZCBieSB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlLiBNdWx0aXBsZSBmb3JtYXRzIGFyZSBhbGxvd2VkIGJ1dCB0aGV5IFNIQUxMIGJlIHNlbWFudGljYWxseSBlcXVpdmFsZW50LiIgY29tbWVudD0iJnF1b3Q7YXBwbGljYXRpb24vcGRmJnF1b3Q7IGlzIHJlY29tbWVuZGVkIGFzIHRoZSBtb3N0IHJlbGlhYmxlIGFuZCBpbnRlcm9wZXJhYmxlIGluIHRoaXMgY29udGV4dC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlzcGxheSBOYW1lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlzcGxheSIgbGFiZWw9IkRpc3BsYXkgTmFtZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb05vdFBlcmZvcm1SZWFzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRvTm90UGVyZm9ybVJlYXNvbiIgbGFiZWw9IlFJQ29yZSBEbyBOb3QgUGVyZm9ybSBSZWFzb24iIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvbWFpblJlc291cmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRG9tYWluUmVzb3VyY2UiIGxhYmVsPSJEb21haW5SZXNvdXJjZSIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLk5hcnJhdGl2ZSIgZGVzY3JpcHRpb249IlRleHQgc3VtbWFyeSBvZiB0aGUgcmVzb3VyY2UsIGZvciBodW1hbiBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iQSBodW1hbi1yZWFkYWJsZSBuYXJyYXRpdmUgdGhhdCBjb250YWlucyBhIHN1bW1hcnkgb2YgdGhlIHJlc291cmNlIGFuZCBjYW4gYmUgdXNlZCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIHRvIGEgaHVtYW4uIFRoZSBuYXJyYXRpdmUgbmVlZCBub3QgZW5jb2RlIGFsbCB0aGUgc3RydWN0dXJlZCBkYXRhLCBidXQgaXMgcmVxdWlyZWQgdG8gY29udGFpbiBzdWZmaWNpZW50IGRldGFpbCB0byBtYWtlIGl0ICZxdW90O2NsaW5pY2FsbHkgc2FmZSZxdW90OyBmb3IgYSBodW1hbiB0byBqdXN0IHJlYWQgdGhlIG5hcnJhdGl2ZS4gUmVzb3VyY2UgZGVmaW5pdGlvbnMgbWF5IGRlZmluZSB3aGF0IGNvbnRlbnQgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGluIHRoZSBuYXJyYXRpdmUgdG8gZW5zdXJlIGNsaW5pY2FsIHNhZmV0eS4iIGNvbW1lbnQ9IkNvbnRhaW5lZCByZXNvdXJjZXMgZG8gbm90IGhhdmUgbmFycmF0aXZlLiBSZXNvdXJjZXMgdGhhdCBhcmUgbm90IGNvbnRhaW5lZCBTSE9VTEQgaGF2ZSBhIG5hcnJhdGl2ZS4gSW4gc29tZSBjYXNlcywgYSByZXNvdXJjZSBtYXkgb25seSBoYXZlIHRleHQgd2l0aCBsaXR0bGUgb3Igbm8gYWRkaXRpb25hbCBkaXNjcmV0ZSBkYXRhIChhcyBsb25nIGFzIGFsbCBtaW5PY2N1cnM9MSBlbGVtZW50cyBhcmUgc2F0aXNmaWVkKS4gIFRoaXMgbWF5IGJlIG5lY2Vzc2FyeSBmb3IgZGF0YSBmcm9tIGxlZ2FjeSBzeXN0ZW1zIHdoZXJlIGluZm9ybWF0aW9uIGlzIGNhcHR1cmVkIGFzIGEgJnF1b3Q7dGV4dCBibG9iJnF1b3Q7IG9yIHdoZXJlIHRleHQgaXMgYWRkaXRpb25hbGx5IGVudGVyZWQgcmF3IG9yIG5hcnJhdGVkIGFuZCBlbmNvZGVkIGluZm9ybWF0aW9uIGlzIGFkZGVkIGxhdGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWluZWQiIGRlc2NyaXB0aW9uPSJDb250YWluZWQsIGlubGluZSBSZXNvdXJjZXMiIGRlZmluaXRpb249IlRoZXNlIHJlc291cmNlcyBkbyBub3QgaGF2ZSBhbiBpbmRlcGVuZGVudCBleGlzdGVuY2UgYXBhcnQgZnJvbSB0aGUgcmVzb3VyY2UgdGhhdCBjb250YWlucyB0aGVtIC0gdGhleSBjYW5ub3QgYmUgaWRlbnRpZmllZCBpbmRlcGVuZGVudGx5LCBhbmQgbm9yIGNhbiB0aGV5IGhhdmUgdGhlaXIgb3duIGluZGVwZW5kZW50IHRyYW5zYWN0aW9uIHNjb3BlLiIgY29tbWVudD0iVGhpcyBzaG91bGQgbmV2ZXIgYmUgZG9uZSB3aGVuIHRoZSBjb250ZW50IGNhbiBiZSBpZGVudGlmaWVkIHByb3Blcmx5LCBhcyBvbmNlIGlkZW50aWZpY2F0aW9uIGlzIGxvc3QsIGl0IGlzIGV4dHJlbWVseSBkaWZmaWN1bHQgKGFuZCBjb250ZXh0IGRlcGVuZGVudCkgdG8gcmVzdG9yZSBpdCBhZ2Fpbi4gQ29udGFpbmVkIHJlc291cmNlcyBtYXkgaGF2ZSBwcm9maWxlcyBhbmQgdGFncyBJbiB0aGVpciBtZXRhIGVsZW1lbnRzLCBidXQgU0hBTEwgTk9UIGhhdmUgc2VjdXJpdHkgbGFiZWxzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlc291cmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJleHRlbnNpb24iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNvbnRlbnQgZGVmaW5lZCBieSBpbXBsZW1lbnRhdGlvbnMiIGRlZmluaXRpb249Ik1heSBiZSB1c2VkIHRvIHJlcHJlc2VudCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJhc2ljIGRlZmluaXRpb24gb2YgdGhlIHJlc291cmNlLiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSAgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgY2FuIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIiBjb21tZW50PSJUaGVyZSBjYW4gYmUgbm8gc3RpZ21hIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgYnkgYW55IGFwcGxpY2F0aW9uLCBwcm9qZWN0LCBvciBzdGFuZGFyZCAtIHJlZ2FyZGxlc3Mgb2YgdGhlIGluc3RpdHV0aW9uIG9yIGp1cmlzZGljdGlvbiB0aGF0IHVzZXMgb3IgZGVmaW5lcyB0aGUgZXh0ZW5zaW9ucy4gIFRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBpcyB3aGF0IGFsbG93cyB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIHRvIHJldGFpbiBhIGNvcmUgbGV2ZWwgb2Ygc2ltcGxpY2l0eSBmb3IgZXZlcnlvbmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllckV4dGVuc2lvbiIgZGVzY3JpcHRpb249IkV4dGVuc2lvbnMgdGhhdCBjYW5ub3QgYmUgaWdub3JlZCIgZGVmaW5pdGlvbj0iTWF5IGJlIHVzZWQgdG8gcmVwcmVzZW50IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdGhhdCBpcyBub3QgcGFydCBvZiB0aGUgYmFzaWMgZGVmaW5pdGlvbiBvZiB0aGUgcmVzb3VyY2UgYW5kIHRoYXQgbW9kaWZpZXMgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGVsZW1lbnQgdGhhdCBjb250YWlucyBpdCBhbmQvb3IgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRhaW5pbmcgZWxlbWVudCdzIGRlc2NlbmRhbnRzLiBVc3VhbGx5IG1vZGlmaWVyIGVsZW1lbnRzIHByb3ZpZGUgbmVnYXRpb24gb3IgcXVhbGlmaWNhdGlvbi4gVG8gbWFrZSB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgc2FmZSBhbmQgbWFuYWdlYWJsZSwgdGhlcmUgaXMgYSBzdHJpY3Qgc2V0IG9mIGdvdmVybmFuY2UgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgaXMgYWxsb3dlZCB0byBkZWZpbmUgYW4gZXh0ZW5zaW9uLCB0aGVyZSBpcyBhIHNldCBvZiByZXF1aXJlbWVudHMgdGhhdCBTSEFMTCBiZSBtZXQgYXMgcGFydCBvZiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaW9uLiBBcHBsaWNhdGlvbnMgcHJvY2Vzc2luZyBhIHJlc291cmNlIGFyZSByZXF1aXJlZCB0byBjaGVjayBmb3IgbW9kaWZpZXIgZXh0ZW5zaW9ucy4mI3hhOyYjeGE7TW9kaWZpZXIgZXh0ZW5zaW9ucyBTSEFMTCBOT1QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIGFueSBlbGVtZW50cyBvbiBSZXNvdXJjZSBvciBEb21haW5SZXNvdXJjZSAoaW5jbHVkaW5nIGNhbm5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgbW9kaWZpZXJFeHRlbnNpb24gaXRzZWxmKS4iIGNvbW1lbnQ9IlRoZXJlIGNhbiBiZSBubyBzdGlnbWEgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBieSBhbnkgYXBwbGljYXRpb24sIHByb2plY3QsIG9yIHN0YW5kYXJkIC0gcmVnYXJkbGVzcyBvZiB0aGUgaW5zdGl0dXRpb24gb3IganVyaXNkaWN0aW9uIHRoYXQgdXNlcyBvciBkZWZpbmVzIHRoZSBleHRlbnNpb25zLiAgVGhlIHVzZSBvZiBleHRlbnNpb25zIGlzIHdoYXQgYWxsb3dzIHRoZSBGSElSIHNwZWNpZmljYXRpb24gdG8gcmV0YWluIGEgY29yZSBsZXZlbCBvZiBzaW1wbGljaXR5IGZvciBldmVyeW9uZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5FeHRlbnNpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvc2FnZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0Rvc2FnZSIgbGFiZWw9IkRvc2FnZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgb3JkZXIgb2YgdGhlIGRvc2FnZSBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGRvc2FnZSBpbnN0cnVjdGlvbnMgc2hvdWxkIGJlIGFwcGxpZWQgb3IgaW50ZXJwcmV0ZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZyZWUgdGV4dCBkb3NhZ2UgaW5zdHJ1Y3Rpb25zIGUuZy4gU0lHIiBkZWZpbml0aW9uPSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBlLmcuIFNJRy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpb25hbEluc3RydWN0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9uIG9yIHdhcm5pbmdzIHRvIHRoZSBwYXRpZW50IC0gZS5nLiAmcXVvdDt3aXRoIG1lYWxzJnF1b3Q7LCAmcXVvdDttYXkgY2F1c2UgZHJvd3NpbmVzcyZxdW90OyIgZGVmaW5pdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9ucyB0byB0aGUgcGF0aWVudCBvbiBob3cgdG8gdGFrZSB0aGUgbWVkaWNhdGlvbiAgKGUuZy4gJnF1b3Q7d2l0aCBtZWFscyZxdW90OyBvciZxdW90O3Rha2UgaGFsZiB0byBvbmUgaG91ciBiZWZvcmUgZm9vZCZxdW90Oykgb3Igd2FybmluZ3MgZm9yIHRoZSBwYXRpZW50IGFib3V0IHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O21heSBjYXVzZSBkcm93c2luZXNzJnF1b3Q7IG9yICZxdW90O2F2b2lkIGV4cG9zdXJlIG9mIHNraW4gdG8gZGlyZWN0IHN1bmxpZ2h0IG9yIHN1bmxhbXBzJnF1b3Q7KS4iIGNvbW1lbnQ9IkluZm9ybWF0aW9uIGFib3V0IGFkbWluaXN0cmF0aW9uIG9yIHByZXBhcmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O2luZnVzZSBhcyByYXBpZGx5IGFzIHBvc3NpYmx5IHZpYSBpbnRyYXBlcml0b25lYWwgcG9ydCZxdW90OyBvciAmcXVvdDtpbW1lZGlhdGVseSBmb2xsb3dpbmcgZHJ1ZyB4JnF1b3Q7KSBzaG91bGQgYmUgcG9wdWxhdGVkIGluIGRvc2FnZS50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRpdGlvbmFsSW5zdHJ1Y3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3VjaCBhcyAmcXVvdDt0YWtlIHdpdGggd2F0ZXImcXVvdDsgb3IgJnF1b3Q7YXZvaWQgb3BlcmF0aW5nIGhlYXZ5IG1hY2hpbmVyeSZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudEluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXRpZW50IG9yIGNvbnN1bWVyIG9yaWVudGVkIGluc3RydWN0aW9ucyIgZGVmaW5pdGlvbj0iSW5zdHJ1Y3Rpb25zIGluIHRlcm1zIHRoYXQgYXJlIHVuZGVyc3Rvb2QgYnkgdGhlIHBhdGllbnQgb3IgY29uc3VtZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciIGRlc2NyaXB0aW9uPSJXaGVuIG1lZGljYXRpb24gc2hvdWxkIGJlIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iV2hlbiBtZWRpY2F0aW9uIHNob3VsZCBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGF0dHJpYnV0ZSBtaWdodCBub3QgYWx3YXlzIGJlIHBvcHVsYXRlZCB3aGlsZSB0aGUgRG9zYWdlLnRleHQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkLiAgSWYgYm90aCBhcmUgcG9wdWxhdGVkLCB0aGVuIHRoZSBEb3NhZ2UudGV4dCBzaG91bGQgcmVmbGVjdCB0aGUgY29udGVudCBvZiB0aGUgRG9zYWdlLnRpbWluZy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXNOZWVkZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFrZSAmcXVvdDthcyBuZWVkZWQmcXVvdDsgKGZvciB4KSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIE1lZGljYXRpb24gaXMgb25seSB0YWtlbiB3aGVuIG5lZWRlZCB3aXRoaW4gYSBzcGVjaWZpYyBkb3Npbmcgc2NoZWR1bGUgKEJvb2xlYW4gb3B0aW9uKSwgb3IgaXQgaW5kaWNhdGVzIHRoZSBwcmVjb25kaXRpb24gZm9yIHRha2luZyB0aGUgTWVkaWNhdGlvbiAoQ29kZWFibGVDb25jZXB0KS4iIGNvbW1lbnQ9IkNhbiBleHByZXNzICZxdW90O2FzIG5lZWRlZCZxdW90OyB3aXRob3V0IGEgcmVhc29uIGJ5IHNldHRpbmcgdGhlIEJvb2xlYW4gPSBUcnVlLiAgSW4gdGhpcyBjYXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgaXMgbm90IHBvcHVsYXRlZC4gIE9yIHlvdSBjYW4gZXhwcmVzcyAmcXVvdDthcyBuZWVkZWQmcXVvdDsgd2l0aCBhIHJlYXNvbiBieSBpbmNsdWRpbmcgdGhlIENvZGVhYmxlQ29uY2VwdC4gIEluIHRoaXMgY2FzZSB0aGUgQm9vbGVhbiBpcyBhc3N1bWVkIHRvIGJlIFRydWUuICBJZiB5b3Ugc2V0IHRoZSBCb29sZWFuIHRvIEZhbHNlLCB0aGVuIHRoZSBkb3NlIGlzIGdpdmVuIGFjY29yZGluZyB0byB0aGUgc2NoZWR1bGUgYW5kIGlzIG5vdCAmcXVvdDtwcm4mcXVvdDsgb3IgJnF1b3Q7YXMgbmVlZGVkJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQXNOZWVkZWRSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgdGhlIHByZWNvbmRpdGlvbiB0aGF0IHNob3VsZCBiZSBtZXQgb3IgZXZhbHVhdGVkIHByaW9yIHRvIGNvbnN1bWluZyBvciBhZG1pbmlzdGVyaW5nIGEgbWVkaWNhdGlvbiBkb3NlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7MzAgbWludXRlcyBwcmlvciB0byBzZXh1YWwgaW50ZXJjb3Vyc2UmcXVvdDssICZxdW90O29uIGZsYXJlLXVwJnF1b3Q7IGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIHRvIGFkbWluaXN0ZXIgdG8iIGRlZmluaXRpb249IkJvZHkgc2l0ZSB0byBhZG1pbmlzdGVyIHRvLiIgY29tbWVudD0iSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2JvZHlTaXRlXShleHRlbnNpb24tYm9keXNpdGUuaHRtbCkuICBNYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIGEgcmVmZXJlbmNlIHRvIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIGxvY2F0aW9uLCBvciBib3RoLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvblNpdGUiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgc2l0ZSBsb2NhdGlvbiB0aGUgbWVkaWNpbmUgZW50ZXJzIGludG8gb3Igb250byB0aGUgYm9keS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icm91dGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBkcnVnIHNob3VsZCBlbnRlciBib2R5IiBkZWZpbml0aW9uPSJIb3cgZHJ1ZyBzaG91bGQgZW50ZXIgYm9keS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSb3V0ZU9mQWRtaW5pc3RyYXRpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBib2R5IG9mIGEgc3ViamVjdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUZWNobmlxdWUgZm9yIGFkbWluaXN0ZXJpbmcgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGVjaG5pcXVlIGZvciBhZG1pbmlzdGVyaW5nIG1lZGljYXRpb24uIiBjb21tZW50PSJUZXJtaW5vbG9naWVzIHVzZWQgb2Z0ZW4gcHJlLWNvb3JkaW5hdGUgdGhpcyB0ZXJtIHdpdGggdGhlIHJvdXRlIGFuZCBvciBmb3JtIG9mIGFkbWluaXN0cmF0aW9uLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSB0ZWNobmlxdWUgYnkgd2hpY2ggdGhlIG1lZGljaW5lIGlzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZUFuZFJhdGUiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgbWVkaWNhdGlvbiBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlLkRvc2VBbmRSYXRlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYXhEb3NlUGVyUGVyaW9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIHVuaXQgb2YgdGltZSIgZGVmaW5pdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgdW5pdCBvZiB0aW1lLiIgY29tbWVudD0iVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGFuIGFkanVuY3QgdG8gdGhlIGRvc2FnZSB3aGVuIHRoZXJlIGlzIGFuIHVwcGVyIGNhcC4gIEZvciBleGFtcGxlICZxdW90OzIgdGFibGV0cyBldmVyeSA0IGhvdXJzIHRvIGEgbWF4aW11bSBvZiA4L2RheSZxdW90Oy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWF4RG9zZVBlckFkbWluaXN0cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJVcHBlciBsaW1pdCBvbiBtZWRpY2F0aW9uIHBlciBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBhcyBhbiBhZGp1bmN0IHRvIHRoZSBkb3NhZ2Ugd2hlbiB0aGVyZSBpcyBhbiB1cHBlciBjYXAuICBGb3IgZXhhbXBsZSwgYSBib2R5IHN1cmZhY2UgYXJlYSByZWxhdGVkIGRvc2Ugd2l0aCBhIG1heGltdW0gYW1vdW50LCBzdWNoIGFzIDEuNSBtZy9tMiAobWF4aW11bSAyIG1nKSBJViBvdmVyIDUg4oCTIDEwIG1pbnV0ZXMgd291bGQgaGF2ZSBkb3NlUXVhbnRpdHkgb2YgMS41IG1nL20yIGFuZCBtYXhEb3NlUGVyQWRtaW5pc3RyYXRpb24gb2YgMiBtZy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWF4RG9zZVBlckxpZmV0aW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIGxpZmV0aW1lIG9mIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJVcHBlciBsaW1pdCBvbiBtZWRpY2F0aW9uIHBlciBsaWZldGltZSBvZiB0aGUgcGF0aWVudC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvc2FnZS5Eb3NlQW5kUmF0ZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb2YgZG9zZSBvciByYXRlIHNwZWNpZmllZCIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgZG9zZSBvciByYXRlIHNwZWNpZmllZCwgZm9yIGV4YW1wbGUsIG9yZGVyZWQgb3IgY2FsY3VsYXRlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEb3NlQW5kUmF0ZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBkb3NlIG9yIHJhdGUgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciBkb3NlIiBkZWZpbml0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBwZXIgZG9zZS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIHNwZWNpZmllcyB0aGUgcXVhbnRpdHkgb2YgdGhlIHNwZWNpZmllZCBtZWRpY2F0aW9uLCBub3QgdGhlIHF1YW50aXR5IGZvciBlYWNoIGFjdGl2ZSBpbmdyZWRpZW50KHMpLiBFYWNoIGluZ3JlZGllbnQgYW1vdW50IGNhbiBiZSBjb21tdW5pY2F0ZWQgaW4gdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIEZvciBleGFtcGxlLCBpZiBvbmUgd2FudHMgdG8gY29tbXVuaWNhdGUgdGhhdCBhIHRhYmxldCB3YXMgMzc1IG1nLCB3aGVyZSB0aGUgZG9zZSB3YXMgb25lIHRhYmxldCwgeW91IGNhbiB1c2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UgdG8gZG9jdW1lbnQgdGhhdCB0aGUgdGFibGV0IHdhcyBjb21wcmlzZWQgb2YgMzc1IG1nIG9mIGRydWcgWFlaLiBBbHRlcm5hdGl2ZWx5IGlmIHRoZSBkb3NlIHdhcyAzNzUgbWcsIHRoZW4geW91IG1heSBvbmx5IG5lZWQgdG8gdXNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIHRvIGluZGljYXRlIHRoaXMgd2FzIGEgdGFibGV0LiBJZiB0aGUgZXhhbXBsZSB3ZXJlIGFuIElWIHN1Y2ggYXMgZG9wYW1pbmUgYW5kIHlvdSB3YW50ZWQgdG8gY29tbXVuaWNhdGUgdGhhdCA0MDBtZyBvZiBkb3BhbWluZSB3YXMgbWl4ZWQgaW4gNTAwIG1sIG9mIHNvbWUgSVYgc29sdXRpb24sIHRoZW4gdGhpcyB3b3VsZCBhbGwgYmUgY29tbXVuaWNhdGVkIGluIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiBJZiB0aGUgYWRtaW5pc3RyYXRpb24gaXMgbm90IGludGVuZGVkIHRvIGJlIGluc3RhbnRhbmVvdXMgKHJhdGUgaXMgcHJlc2VudCBvciB0aW1pbmcgaGFzIGEgZHVyYXRpb24pLCB0aGlzIGNhbiBiZSBzcGVjaWZpZWQgdG8gY29udmV5IHRoZSB0b3RhbCBhbW91bnQgdG8gYmUgYWRtaW5pc3RlcmVkIG92ZXIgdGhlIHBlcmlvZCBvZiB0aW1lIGFzIGluZGljYXRlZCBieSB0aGUgc2NoZWR1bGUgZS5nLiA1MDAgbWwgaW4gZG9zZSwgd2l0aCB0aW1pbmcgdXNlZCB0byBjb252ZXkgdGhhdCB0aGlzIHNob3VsZCBiZSBkb25lIG92ZXIgNCBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyYXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUiIGRlZmluaXRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUuIiBjb21tZW50PSJJdCBpcyBwb3NzaWJsZSB0byBzdXBwbHkgYm90aCBhIHJhdGUgYW5kIGEgZG9zZVF1YW50aXR5IHRvIHByb3ZpZGUgZnVsbCBkZXRhaWxzIGFib3V0IGhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSBhZG1pbmlzdGVyZWQgYW5kIHN1cHBsaWVkLiBJZiB0aGUgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aW1lLCBkZXBlbmRpbmcgb24gbG9jYWwgcnVsZXMvcmVndWxhdGlvbnMsIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIG5ldyB2ZXJzaW9uIG9mIHRoZSBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIGFuIHVwZGF0ZWQgcmF0ZSwgb3IgY2FwdHVyZWQgd2l0aCBhIG5ldyBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIHRoZSBuZXcgcmF0ZS4mI3hkOyYjeGQ7SXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBhIHJhdGUgb3ZlciB0aW1lIChmb3IgZXhhbXBsZSwgMTAwIG1sL2hvdXIpIHVzaW5nIGVpdGhlciB0aGUgcmF0ZVJhdGlvIGFuZCByYXRlUXVhbnRpdHkuICBUaGUgcmF0ZVF1YW50aXR5IGFwcHJvYWNoIHJlcXVpcmVzIHN5c3RlbXMgdG8gaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBVQ1VNIGdyYW1tZXIgd2hlcmUgbWwvaG91ciBpcyBpbmNsdWRlZCByYXRoZXIgdGhhbiBhIHNwZWNpZmljIHJhdGlvIHdoZXJlIHRoZSB0aW1lIGlzIHNwZWNpZmllZCBhcyB0aGUgZGVub21pbmF0b3IuICBXaGVyZSBhIHJhdGUgc3VjaCBhcyA1MDBtbCBvdmVyIDIgaG91cnMgaXMgc3BlY2lmaWVkLCB0aGUgdXNlIG9mIHJhdGVSYXRpbyBtYXkgYmUgbW9yZSBzZW1hbnRpY2FsbHkgY29ycmVjdCB0aGFuIHNwZWNpZnlpbmcgdXNpbmcgYSByYXRlUXVhbnRpdHkgb2YgMjUwIG1nL2hvdXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQW55IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0VsZW1lbnQiIGxhYmVsPSJFbGVtZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpbnRlci1lbGVtZW50IHJlZmVyZW5jaW5nIiBkZWZpbml0aW9uPSJVbmlxdWUgaWQgZm9yIHRoZSBlbGVtZW50IHdpdGhpbiBhIHJlc291cmNlIChmb3IgaW50ZXJuYWwgcmVmZXJlbmNlcykuIFRoaXMgbWF5IGJlIGFueSBzdHJpbmcgdmFsdWUgdGhhdCBkb2VzIG5vdCBjb250YWluIHNwYWNlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjb250ZW50IGRlZmluZWQgYnkgaW1wbGVtZW50YXRpb25zIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSBlbGVtZW50LiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSAgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgY2FuIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIiBjb21tZW50PSJUaGVyZSBjYW4gYmUgbm8gc3RpZ21hIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgYnkgYW55IGFwcGxpY2F0aW9uLCBwcm9qZWN0LCBvciBzdGFuZGFyZCAtIHJlZ2FyZGxlc3Mgb2YgdGhlIGluc3RpdHV0aW9uIG9yIGp1cmlzZGljdGlvbiB0aGF0IHVzZXMgb3IgZGVmaW5lcyB0aGUgZXh0ZW5zaW9ucy4gIFRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBpcyB3aGF0IGFsbG93cyB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIHRvIHJldGFpbiBhIGNvcmUgbGV2ZWwgb2Ygc2ltcGxpY2l0eSBmb3IgZXZlcnlvbmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmFibGVXaGVuQmVoYXZpb3IiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlciIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZW5jb3VudGVyIiBsYWJlbD0iUUlDb3JlIEVuY291bnRlciIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyKHMpIGJ5IHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGtub3duIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyKHMpIGJ5IHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGtub3duLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsiIGRlZmluaXRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsuIiBjb21tZW50PSJOb3RlIHRoYXQgaW50ZXJuYWwgYnVzaW5lc3MgcnVsZXMgd2lsbCBkZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIHRyYW5zaXRpb25zIHRoYXQgbWF5IG9jY3VyIGJldHdlZW4gc3RhdHVzZXMgKGFuZCBhbHNvIGNsYXNzZXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJTdGF0dXMiIGRlc2NyaXB0aW9uPSJDdXJyZW50IHN0YXRlIG9mIHRoZSBlbmNvdW50ZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNIaXN0b3J5IiBkZXNjcmlwdGlvbj0iTGlzdCBvZiBwYXN0IGVuY291bnRlciBzdGF0dXNlcyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBoaXN0b3J5IHBlcm1pdHMgdGhlIGVuY291bnRlciByZXNvdXJjZSB0byBjb250YWluIHRoZSBzdGF0dXMgaGlzdG9yeSB3aXRob3V0IG5lZWRpbmcgdG8gcmVhZCB0aHJvdWdoIHRoZSBoaXN0b3JpY2FsIHZlcnNpb25zIG9mIHRoZSByZXNvdXJjZSwgb3IgZXZlbiBoYXZlIHRoZSBzZXJ2ZXIgc3RvcmUgdGhlbS4iIGNvbW1lbnQ9IlRoZSBjdXJyZW50IHN0YXR1cyBpcyBhbHdheXMgZm91bmQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UsIG5vdCB0aGUgc3RhdHVzIGhpc3RvcnkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLlN0YXR1c0hpc3RvcnkiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiBwYXRpZW50IGVuY291bnRlciIgZGVmaW5pdGlvbj0iQ29uY2VwdHMgcmVwcmVzZW50aW5nIGNsYXNzaWZpY2F0aW9uIG9mIHBhdGllbnQgZW5jb3VudGVyIHN1Y2ggYXMgYW1idWxhdG9yeSAob3V0cGF0aWVudCksIGlucGF0aWVudCwgZW1lcmdlbmN5LCBob21lIGhlYWx0aCBvciBvdGhlcnMgZHVlIHRvIGxvY2FsIHZhcmlhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhc3NIaXN0b3J5IiBkZXNjcmlwdGlvbj0iTGlzdCBvZiBwYXN0IGVuY291bnRlciBjbGFzc2VzIiBkZWZpbml0aW9uPSJUaGUgY2xhc3MgaGlzdG9yeSBwZXJtaXRzIHRoZSB0cmFja2luZyBvZiB0aGUgZW5jb3VudGVycyB0cmFuc2l0aW9ucyB3aXRob3V0IG5lZWRpbmcgdG8gZ28gIHRocm91Z2ggdGhlIHJlc291cmNlIGhpc3RvcnkuICBUaGlzIHdvdWxkIGJlIHVzZWQgZm9yIGEgY2FzZSB3aGVyZSBhbiBhZG1pc3Npb24gc3RhcnRzIG9mIGFzIGFuIGVtZXJnZW5jeSBlbmNvdW50ZXIsIHRoZW4gdHJhbnNpdGlvbnMgaW50byBhbiBpbnBhdGllbnQgc2NlbmFyaW8uIERvaW5nIHRoaXMgYW5kIG5vdCByZXN0YXJ0aW5nIGEgbmV3IGVuY291bnRlciBlbnN1cmVzIHRoYXQgYW55IGxhYi9kaWFnbm9zdGljIHJlc3VsdHMgY2FuIG1vcmUgZWFzaWx5IGZvbGxvdyB0aGUgcGF0aWVudCBhbmQgbm90IHJlcXVpcmUgcmUtcHJvY2Vzc2luZyBhbmQgbm90IGdldCBsb3N0IG9yIGNhbmNlbGxlZCBkdXJpbmcgYSBraW5kIG9mIGRpc2NoYXJnZSBmcm9tIGVtZXJnZW5jeSB0byBpbnBhdGllbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkNsYXNzSGlzdG9yeSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNwZWNpZmljIHR5cGUgb2YgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJTcGVjaWZpYyB0eXBlIG9mIGVuY291bnRlciAoZS5nLiBlLW1haWwgY29uc3VsdGF0aW9uLCBzdXJnaWNhbCBkYXktY2FyZSwgc2tpbGxlZCBudXJzaW5nLCByZWhhYmlsaXRhdGlvbikuIiBjb21tZW50PSJTaW5jZSB0aGVyZSBhcmUgbWFueSB3YXlzIHRvIGZ1cnRoZXIgY2xhc3NpZnkgZW5jb3VudGVycywgdGhpcyBlbGVtZW50IGlzIDAuLiouIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVmFsdWVzZXQgdG8gZGVzY3JpYmUgdGhlIEVuY291bnRlciBUeXBlIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcnZpY2VUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTcGVjaWZpYyB0eXBlIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkJyb2FkIGNhdGVnb3JpemF0aW9uIG9mIHRoZSBzZXJ2aWNlIHRoYXQgaXMgdG8gYmUgcHJvdmlkZWQgKGUuZy4gY2FyZGlvbG9neSkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyU2VydmljZVR5cGUiIGRlc2NyaXB0aW9uPSJCcm9hZCBjYXRlZ29yaXphdGlvbiBvZiB0aGUgc2VydmljZSB0aGF0IGlzIHRvIGJlIHByb3ZpZGVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSB1cmdlbmN5IG9mIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdXJnZW5jeSBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIG9yIHNldCBvZiBjb2RlcyAoZS5nLiwgZm9yIHJvdXRpbmUsIGVtZXJnZW5jeSwpIHNwZWNpZnlpbmcgdGhlIHVyZ2VuY3kgdW5kZXIgd2hpY2ggdGhlIEFjdCBoYXBwZW5lZCwgY2FuIGhhcHBlbiwgaXMgaGFwcGVuaW5nLCBpcyBpbnRlbmRlZCB0byBoYXBwZW4sIG9yIGlzIHJlcXVlc3RlZC9kZW1hbmRlZCB0byBoYXBwZW4uJiN4ZDsmI3hhOyYjeGQ7JiN4YTsqRGlzY3Vzc2lvbjoqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgaW4gb3JkZXJzIHRvIGluZGljYXRlIHRoZSBvcmRlcmVkIHByaW9yaXR5LCBhbmQgaW4gZXZlbnQgZG9jdW1lbnRhdGlvbiBpdCBpbmRpY2F0ZXMgdGhlIGFjdHVhbCBwcmlvcml0eSB1c2VkIHRvIHBlcmZvcm0gdGhlIGFjdC4gSW4gZGVmaW5pdGlvbiBtb29kIGl0IGluZGljYXRlcyB0aGUgYXZhaWxhYmxlIHByaW9yaXRpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCBwcmVzZW50IGF0IHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHByZXNlbnQgYXQgdGhlIGVuY291bnRlci4iIGNvbW1lbnQ9IldoaWxlIHRoZSBlbmNvdW50ZXIgaXMgYWx3YXlzIGFib3V0IHRoZSBwYXRpZW50LCB0aGUgcGF0aWVudCBtaWdodCBub3QgYWN0dWFsbHkgYmUga25vd24gaW4gYWxsIGNvbnRleHRzIG9mIHVzZSwgYW5kIHRoZXJlIG1heSBiZSBhIGdyb3VwIG9mIHBhdGllbnRzIHRoYXQgY291bGQgYmUgYW5vbnltb3VzIChzdWNoIGFzIGluIGEgZ3JvdXAgdGhlcmFweSBmb3IgQWxjb2hvbGljcyBBbm9ueW1vdXMgLSB3aGVyZSB0aGUgcmVjb3JkaW5nIG9mIHRoZSBlbmNvdW50ZXIgY291bGQgYmUgdXNlZCBmb3IgYmlsbGluZyBvbiB0aGUgbnVtYmVyIG9mIHBlb3BsZS9zdGFmZiBhbmQgbm90IGltcG9ydGFudCB0byB0aGUgY29udGV4dCBvZiB0aGUgc3BlY2lmaWMgcGF0aWVudHMpIG9yIGFsdGVybmF0ZWx5IGluIHZldGVyaW5hcnkgY2FyZSBhIGhlcmQgb2Ygc2hlZXAgcmVjZWl2aW5nIHRyZWF0bWVudCAod2hlcmUgdGhlIGFuaW1hbHMgYXJlIG5vdCBpbmRpdmlkdWFsbHkgdHJhY2tlZCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlcGlzb2RlT2ZDYXJlIiBkZXNjcmlwdGlvbj0iRXBpc29kZShzKSBvZiBjYXJlIHRoYXQgdGhpcyBlbmNvdW50ZXIgc2hvdWxkIGJlIHJlY29yZGVkIGFnYWluc3QiIGRlZmluaXRpb249IldoZXJlIGEgc3BlY2lmaWMgZW5jb3VudGVyIHNob3VsZCBiZSBjbGFzc2lmaWVkIGFzIGEgcGFydCBvZiBhIHNwZWNpZmljIGVwaXNvZGUocykgb2YgY2FyZSB0aGlzIGZpZWxkIHNob3VsZCBiZSB1c2VkLiBUaGlzIGFzc29jaWF0aW9uIGNhbiBmYWNpbGl0YXRlIGdyb3VwaW5nIG9mIHJlbGF0ZWQgZW5jb3VudGVycyB0b2dldGhlciBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLCBzdWNoIGFzIGdvdmVybm1lbnQgcmVwb3J0aW5nLCBpc3N1ZSB0cmFja2luZywgYXNzb2NpYXRpb24gdmlhIGEgY29tbW9uIHByb2JsZW0uICBUaGUgYXNzb2NpYXRpb24gaXMgcmVjb3JkZWQgb24gdGhlIGVuY291bnRlciBhcyB0aGVzZSBhcmUgdHlwaWNhbGx5IGNyZWF0ZWQgYWZ0ZXIgdGhlIGVwaXNvZGUgb2YgY2FyZSBhbmQgZ3JvdXBlZCBvbiBlbnRyeSByYXRoZXIgdGhhbiBlZGl0aW5nIHRoZSBlcGlzb2RlIG9mIGNhcmUgdG8gYXBwZW5kIGFub3RoZXIgZW5jb3VudGVyIHRvIGl0ICh0aGUgZXBpc29kZSBvZiBjYXJlIGNvdWxkIHNwYW4geWVhcnMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlRoZSBTZXJ2aWNlUmVxdWVzdCB0aGF0IGluaXRpYXRlZCB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3QgdGhpcyBlbmNvdW50ZXIgc2F0aXNmaWVzIChlLmcuIGluY29taW5nIHJlZmVycmFsIG9yIHByb2NlZHVyZSByZXF1ZXN0KS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSJMaXN0IG9mIHBhcnRpY2lwYW50cyBpbnZvbHZlZCBpbiB0aGUgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGUgbGlzdCBvZiBwZW9wbGUgcmVzcG9uc2libGUgZm9yIHByb3ZpZGluZyB0aGUgc2VydmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLlBhcnRpY2lwYW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHBvaW50bWVudCIgZGVzY3JpcHRpb249IlRoZSBhcHBvaW50bWVudCB0aGF0IHNjaGVkdWxlZCB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIGFwcG9pbnRtZW50IHRoYXQgc2NoZWR1bGVkIHRoaXMgZW5jb3VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBzdGFydCBhbmQgZW5kIHRpbWUgb2YgdGhlIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIHN0YXJ0IGFuZCBlbmQgdGltZSBvZiB0aGUgZW5jb3VudGVyLiIgY29tbWVudD0iSWYgbm90ICh5ZXQpIGtub3duLCB0aGUgZW5kIG9mIHRoZSBQZXJpb2QgbWF5IGJlIG9taXR0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsZW5ndGgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUXVhbnRpdHkgb2YgdGltZSB0aGUgZW5jb3VudGVyIGxhc3RlZCAobGVzcyB0aW1lIGFic2VudCkiIGRlZmluaXRpb249IlF1YW50aXR5IG9mIHRpbWUgdGhlIGVuY291bnRlciBsYXN0ZWQuIFRoaXMgZXhjbHVkZXMgdGhlIHRpbWUgZHVyaW5nIGxlYXZlcyBvZiBhYnNlbmNlLiIgY29tbWVudD0iTWF5IGRpZmZlciBmcm9tIHRoZSB0aW1lIHRoZSBFbmNvdW50ZXIucGVyaW9kIGxhc3RlZCBiZWNhdXNlIG9mIGxlYXZlIG9mIGFic2VuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgcmVhc29uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UiIGRlZmluaXRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLCBleHByZXNzZWQgYXMgYSBjb2RlLiBGb3IgYWRtaXNzaW9ucywgdGhpcyBjYW4gYmUgdXNlZCBmb3IgYSBjb2RlZCBhZG1pc3Npb24gZGlhZ25vc2lzLiIgY29tbWVudD0iRm9yIHN5c3RlbXMgdGhhdCBuZWVkIHRvIGtub3cgd2hpY2ggd2FzIHRoZSBwcmltYXJ5IGRpYWdub3NpcywgdGhlc2Ugd2lsbCBiZSBtYXJrZWQgd2l0aCB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIHByaW1hcnlEaWFnbm9zaXMgKHdoaWNoIGlzIGEgc2VxdWVuY2UgdmFsdWUgcmF0aGVyIHRoYW4gYSBmbGFnLCAxID0gcHJpbWFyeSBkaWFnbm9zaXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyUmVhc29uIiBkZXNjcmlwdGlvbj0iUmVhc29uIHdoeSB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlIChyZWZlcmVuY2UpIiBkZWZpbml0aW9uPSJSZWFzb24gdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZSwgZXhwcmVzc2VkIGFzIGEgY29kZS4gRm9yIGFkbWlzc2lvbnMsIHRoaXMgY2FuIGJlIHVzZWQgZm9yIGEgY29kZWQgYWRtaXNzaW9uIGRpYWdub3Npcy4iIGNvbW1lbnQ9IkZvciBzeXN0ZW1zIHRoYXQgbmVlZCB0byBrbm93IHdoaWNoIHdhcyB0aGUgcHJpbWFyeSBkaWFnbm9zaXMsIHRoZXNlIHdpbGwgYmUgbWFya2VkIHdpdGggdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBwcmltYXJ5RGlhZ25vc2lzICh3aGljaCBpcyBhIHNlcXVlbmNlIHZhbHVlIHJhdGhlciB0aGFuIGEgZmxhZywgMSA9IHByaW1hcnkgZGlhZ25vc2lzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJUaGUgbGlzdCBvZiBkaWFnbm9zaXMgcmVsZXZhbnQgdG8gdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGRpYWdub3NpcyByZWxldmFudCB0byB0aGlzIGVuY291bnRlci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkRpYWdub3NpcyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWNjb3VudCIgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIuIiBjb21tZW50PSJUaGUgYmlsbGluZyBzeXN0ZW0gbWF5IGNob29zZSB0byBhbGxvY2F0ZSBiaWxsYWJsZSBpdGVtcyBhc3NvY2lhdGVkIHdpdGggdGhlIEVuY291bnRlciB0byBkaWZmZXJlbnQgcmVmZXJlbmNlZCBBY2NvdW50cyBiYXNlZCBvbiBpbnRlcm5hbCBidXNpbmVzcyBydWxlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhvc3BpdGFsaXphdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmNvdW50ZXIuSG9zcGl0YWxpemF0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBhYm91dCB0aGUgYWRtaXNzaW9uIHRvIGEgaGVhbHRoY2FyZSBzZXJ2aWNlIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBhZG1pc3Npb24gdG8gYSBoZWFsdGhjYXJlIHNlcnZpY2UuIiBjb21tZW50PSJBbiBFbmNvdW50ZXIgbWF5IGNvdmVyIG1vcmUgdGhhbiBqdXN0IHRoZSBpbnBhdGllbnQgc3RheS4gQ29udGV4dHMgc3VjaCBhcyBvdXRwYXRpZW50cywgY29tbXVuaXR5IGNsaW5pY3MsIGFuZCBhZ2VkIGNhcmUgZmFjaWxpdGllcyBhcmUgYWxzbyBpbmNsdWRlZC4mI3hkOyYjeGQ7VGhlIGR1cmF0aW9uIHJlY29yZGVkIGluIHRoZSBwZXJpb2Qgb2YgdGhpcyBlbmNvdW50ZXIgY292ZXJzIHRoZSBlbnRpcmUgc2NvcGUgb2YgdGhpcyBob3NwaXRhbGl6YXRpb24gcmVjb3JkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGRlc2NyaXB0aW9uPSJMaXN0IG9mIGxvY2F0aW9ucyB3aGVyZSB0aGUgcGF0aWVudCBoYXMgYmVlbiIgZGVmaW5pdGlvbj0iTGlzdCBvZiBsb2NhdGlvbnMgd2hlcmUgIHRoZSBwYXRpZW50IGhhcyBiZWVuIGR1cmluZyB0aGlzIGVuY291bnRlci4iIGNvbW1lbnQ9IlZpcnR1YWwgZW5jb3VudGVycyBjYW4gYmUgcmVjb3JkZWQgaW4gdGhlIEVuY291bnRlciBieSBzcGVjaWZ5aW5nIGEgbG9jYXRpb24gcmVmZXJlbmNlIHRvIGEgbG9jYXRpb24gb2YgdHlwZSAmcXVvdDtraW5kJnF1b3Q7IHN1Y2ggYXMgJnF1b3Q7Y2xpZW50J3MgaG9tZSZxdW90OyBhbmQgYW4gZW5jb3VudGVyLmNsYXNzID0gJnF1b3Q7dmlydHVhbCZxdW90Oy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkxvY2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJ2aWNlUHJvdmlkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiAoZmFjaWxpdHkpIHJlc3BvbnNpYmxlIGZvciB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHByaW1hcmlseSByZXNwb25zaWJsZSBmb3IgdGhpcyBFbmNvdW50ZXIncyBzZXJ2aWNlcy4gVGhpcyBNQVkgYmUgdGhlIHNhbWUgYXMgdGhlIG9yZ2FuaXphdGlvbiBvbiB0aGUgUGF0aWVudCByZWNvcmQsIGhvd2V2ZXIgaXQgY291bGQgYmUgZGlmZmVyZW50LCBzdWNoIGFzIGlmIHRoZSBhY3RvciBwZXJmb3JtaW5nIHRoZSBzZXJ2aWNlcyB3YXMgZnJvbSBhbiBleHRlcm5hbCBvcmdhbml6YXRpb24gKHdoaWNoIG1heSBiZSBiaWxsZWQgc2VwZXJhdGVseSkgZm9yIGFuIGV4dGVybmFsIGNvbnN1bHRhdGlvbi4gIFJlZmVyIHRvIHRoZSBleGFtcGxlIGJ1bmRsZSBzaG93aW5nIGFuIGFiYnJldmlhdGVkIHNldCBvZiBFbmNvdW50ZXJzIGZvciBhIGNvbG9ub3Njb3B5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFub3RoZXIgRW5jb3VudGVyIHRoaXMgZW5jb3VudGVyIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkFub3RoZXIgRW5jb3VudGVyIG9mIHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGEgcGFydCBvZiAoYWRtaW5pc3RyYXRpdmVseSBvciBpbiB0aW1lKS4iIGNvbW1lbnQ9IlRoaXMgaXMgYWxzbyB1c2VkIGZvciBhc3NvY2lhdGluZyBhIGNoaWxkJ3MgZW5jb3VudGVyIGJhY2sgdG8gdGhlIG1vdGhlcidzIGVuY291bnRlci4mI3hkOyYjeGQ7UmVmZXIgdG8gdGhlIE5vdGVzIHNlY3Rpb24gaW4gdGhlIFBhdGllbnQgcmVzb3VyY2UgZm9yIGZ1cnRoZXIgZGV0YWlscy4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJ3aGVyZShyZXNvbHZlKCkgaXMgUHJhY3RpdGlvbmVyKSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmRpdmlkdWFsIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmRpdmlkdWFsIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5DbGFzc0hpc3RvcnkiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArIiBkZWZpbml0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0aW1lIHRoYXQgdGhlIGVwaXNvZGUgd2FzIGluIHRoZSBzcGVjaWZpZWQgY2xhc3MiIGRlZmluaXRpb249IlRoZSB0aW1lIHRoYXQgdGhlIGVwaXNvZGUgd2FzIGluIHRoZSBzcGVjaWZpZWQgY2xhc3MuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5EaWFnbm9zaXMiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgZGlhZ25vc2lzIG9yIHByb2NlZHVyZSByZWxldmFudCB0byB0aGUgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJSZWFzb24gdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZSwgYXMgc3BlY2lmaWVkIHVzaW5nIGluZm9ybWF0aW9uIGZyb20gYW5vdGhlciByZXNvdXJjZS4gRm9yIGFkbWlzc2lvbnMsIHRoaXMgaXMgdGhlIGFkbWlzc2lvbiBkaWFnbm9zaXMuIFRoZSBpbmRpY2F0aW9uIHdpbGwgdHlwaWNhbGx5IGJlIGEgQ29uZGl0aW9uICh3aXRoIG90aGVyIHJlc291cmNlcyByZWZlcmVuY2VkIGluIHRoZSBldmlkZW5jZS5kZXRhaWwpLCBvciBhIFByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBzeXN0ZW1zIHRoYXQgbmVlZCB0byBrbm93IHdoaWNoIHdhcyB0aGUgcHJpbWFyeSBkaWFnbm9zaXMsIHRoZXNlIHdpbGwgYmUgbWFya2VkIHdpdGggdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBwcmltYXJ5RGlhZ25vc2lzICh3aGljaCBpcyBhIHNlcXVlbmNlIHZhbHVlIHJhdGhlciB0aGFuIGEgZmxhZywgMSA9IHByaW1hcnkgZGlhZ25vc2lzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZSB0aGF0IHRoaXMgZGlhZ25vc2lzIGhhcyB3aXRoaW4gdGhlIGVuY291bnRlciAoZS5nLiBhZG1pc3Npb24sIGJpbGxpbmcsIGRpc2NoYXJnZSDigKYpIiBkZWZpbml0aW9uPSJSb2xlIHRoYXQgdGhpcyBkaWFnbm9zaXMgaGFzIHdpdGhpbiB0aGUgZW5jb3VudGVyIChlLmcuIGFkbWlzc2lvbiwgYmlsbGluZywgZGlzY2hhcmdlIOKApikuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc1JvbGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBkaWFnbm9zaXMgdGhpcyBjb25kaXRpb24gcmVwcmVzZW50cy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyYW5rIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmFua2luZyBvZiB0aGUgZGlhZ25vc2lzIChmb3IgZWFjaCByb2xlIHR5cGUpIiBkZWZpbml0aW9uPSJSYW5raW5nIG9mIHRoZSBkaWFnbm9zaXMgKGZvciBlYWNoIHJvbGUgdHlwZSkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGlhZ25vc2lzUHJlc2VudE9uQWRtaXNzaW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmRpYWdub3Npcy5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1lbmNvdW50ZXItZGlhZ25vc2lzUHJlc2VudE9uQWRtaXNzaW9uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0ib25BZG1pc3Npb24iIGRlZmluaXRpb249IkluZGljYXRvciBvZiB3aGV0aGVyIHRoZSBFbmNvdW50ZXIgZGlhZ25vc2lzIHdhcyBwcmVzZW50IGF0IHRoZSB0aW1lIG9mIGFkbWlzc2lvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5Ib3NwaXRhbGl6YXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZUFkbWlzc2lvbklkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlByZS1hZG1pc3Npb24gaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iUHJlLWFkbWlzc2lvbiBpZGVudGlmaWVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvcmlnaW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZG1pdFNvdXJjZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRnJvbSB3aGVyZSBwYXRpZW50IHdhcyBhZG1pdHRlZCAocGh5c2ljaWFuIHJlZmVycmFsLCB0cmFuc2ZlcikiIGRlZmluaXRpb249IkZyb20gd2hlcmUgcGF0aWVudCB3YXMgYWRtaXR0ZWQgKHBoeXNpY2lhbiByZWZlcnJhbCwgdHJhbnNmZXIpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZG1pdFNvdXJjZSIgZGVzY3JpcHRpb249IkZyb20gd2hlcmUgdGhlIHBhdGllbnQgd2FzIGFkbWl0dGVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlQWRtaXNzaW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBob3NwaXRhbCByZS1hZG1pc3Npb24gdGhhdCBoYXMgb2NjdXJyZWQgKGlmIGFueSkuIElmIHRoZSB2YWx1ZSBpcyBhYnNlbnQsIHRoZW4gdGhpcyBpcyBub3QgaWRlbnRpZmllZCBhcyBhIHJlYWRtaXNzaW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgaG9zcGl0YWxpemF0aW9uIGlzIGEgcmVhZG1pc3Npb24gYW5kIHdoeSBpZiBrbm93bi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVBZG1pc3Npb25UeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiBmb3IgcmUtYWRtaXNzaW9uIG9mIHRoaXMgaG9zcGl0YWxpemF0aW9uIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlldFByZWZlcmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEaWV0IHByZWZlcmVuY2VzIHJlcG9ydGVkIGJ5IHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJEaWV0IHByZWZlcmVuY2VzIHJlcG9ydGVkIGJ5IHRoZSBwYXRpZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIGEgcGF0aWVudCBtYXkgcmVxdWVzdCBib3RoIGEgZGFpcnktZnJlZSBhbmQgbnV0LWZyZWUgZGlldCBwcmVmZXJlbmNlIChub3QgbXV0dWFsbHkgZXhjbHVzaXZlKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF0aWVudERpZXQiIGRlc2NyaXB0aW9uPSJNZWRpY2FsLCBjdWx0dXJhbCBvciBldGhpY2FsIGZvb2QgcHJlZmVyZW5jZXMgdG8gaGVscCB3aXRoIGNhdGVyaW5nIHJlcXVpcmVtZW50cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2lhbENvdXJ0ZXN5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzIChWSVAsIGJvYXJkIG1lbWJlcikiIGRlZmluaXRpb249IlNwZWNpYWwgY291cnRlc2llcyAoVklQLCBib2FyZCBtZW1iZXIpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb3VydGVzaWVzIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpYWxBcnJhbmdlbWVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZWVsY2hhaXIsIHRyYW5zbGF0b3IsIHN0cmV0Y2hlciwgZXRjLiIgZGVmaW5pdGlvbj0iQW55IHNwZWNpYWwgcmVxdWVzdHMgdGhhdCBoYXZlIGJlZW4gbWFkZSBmb3IgdGhpcyBob3NwaXRhbGl6YXRpb24gZW5jb3VudGVyLCBzdWNoIGFzIHRoZSBwcm92aXNpb24gb2Ygc3BlY2lmaWMgZXF1aXBtZW50IG9yIG90aGVyIHRoaW5ncy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQXJyYW5nZW1lbnRzIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBhcnJhbmdlbWVudHMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzdGluYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTG9jYXRpb24vb3JnYW5pemF0aW9uIHRvIHdoaWNoIHRoZSBwYXRpZW50IGlzIGRpc2NoYXJnZWQiIGRlZmluaXRpb249IkxvY2F0aW9uL29yZ2FuaXphdGlvbiB0byB3aGljaCB0aGUgcGF0aWVudCBpcyBkaXNjaGFyZ2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDYXRlZ29yeSBvciBraW5kIG9mIGxvY2F0aW9uIGFmdGVyIGRpc2NoYXJnZSIgZGVmaW5pdGlvbj0iQ2F0ZWdvcnkgb3Iga2luZCBvZiBsb2NhdGlvbiBhZnRlciBkaXNjaGFyZ2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLkxvY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlIiBkZWZpbml0aW9uPSJUaGUgbG9jYXRpb24gd2hlcmUgdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwbGFubmVkIHwgYWN0aXZlIHwgcmVzZXJ2ZWQgfCBjb21wbGV0ZWQiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHBhcnRpY2lwYW50cycgcHJlc2VuY2UgYXQgdGhlIHNwZWNpZmllZCBsb2NhdGlvbiBkdXJpbmcgdGhlIHBlcmlvZCBzcGVjaWZpZWQuIElmIHRoZSBwYXJ0aWNpcGFudCBpcyBubyBsb25nZXIgYXQgdGhlIGxvY2F0aW9uLCB0aGVuIHRoZSBwZXJpb2Qgd2lsbCBoYXZlIGFuIGVuZCBkYXRlL3RpbWUuIiBjb21tZW50PSJXaGVuIHRoZSBwYXRpZW50IGlzIG5vIGxvbmdlciBhY3RpdmUgYXQgYSBsb2NhdGlvbiwgdGhlbiB0aGUgcGVyaW9kIGVuZCBkYXRlIGlzIGVudGVyZWQsIGFuZCB0aGUgc3RhdHVzIG1heSBiZSBjaGFuZ2VkIHRvIGNvbXBsZXRlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGxvY2F0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGh5c2ljYWxUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGh5c2ljYWwgdHlwZSBvZiB0aGUgbG9jYXRpb24gKHVzdWFsbHkgdGhlIGxldmVsIGluIHRoZSBsb2NhdGlvbiBoaWVyYWNoeSAtIGJlZCByb29tIHdhcmQgZXRjLikiIGRlZmluaXRpb249IlRoaXMgd2lsbCBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIHJlcXVpcmVkIGxldmVscyAoYmVkL3dhcmQvcm9vbS9ldGMuKSBkZXNpcmVkIHRvIGJlIHJlY29yZGVkIHRvIHNpbXBsaWZ5IGVpdGhlciBtZXNzYWdpbmcgb3IgcXVlcnkuIiBjb21tZW50PSJUaGlzIGluZm9ybWF0aW9uIGlzIGRlLW5vcm1hbGl6ZWQgZnJvbSB0aGUgTG9jYXRpb24gcmVzb3VyY2UgdG8gc3VwcG9ydCB0aGUgZWFzaWVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGVuY291bnRlciByZXNvdXJjZSBhbmQgcHJvY2Vzc2luZyBpbiBtZXNzYWdpbmcgb3IgcXVlcnkuJiN4YTsmI3hhO1RoZXJlIG1heSBiZSBtYW55IGxldmVscyBpbiB0aGUgaGllcmFjaHksIGFuZCB0aGlzIG1heSBvbmx5IHBpYyBzcGVjaWZpYyBsZXZlbHMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIGEgc3BlY2lmaWMgdXNhZ2Ugc2NlbmFyaW8uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGh5c2ljYWxUeXBlIiBkZXNjcmlwdGlvbj0iUGh5c2ljYWwgZm9ybSBvZiB0aGUgbG9jYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIHBhdGllbnQgd2FzIHByZXNlbnQgYXQgdGhlIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIHBhdGllbnQgd2FzIHByZXNlbnQgYXQgdGhlIGxvY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLlBhcnRpY2lwYW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZSBvZiBwYXJ0aWNpcGFudCBpbiBlbmNvdW50ZXIiIGRlZmluaXRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgY29tbWVudD0iVGhlIHBhcnRpY2lwYW50IHR5cGUgaW5kaWNhdGVzIGhvdyBhbiBpbmRpdmlkdWFsIHBhcnRpY2lwYXRlcyBpbiBhbiBlbmNvdW50ZXIuIEl0IGluY2x1ZGVzIG5vbi1wcmFjdGl0aW9uZXIgcGFydGljaXBhbnRzLCBhbmQgZm9yIHByYWN0aXRpb25lcnMgdGhpcyBpcyB0byBkZXNjcmliZSB0aGUgYWN0aW9uIHR5cGUgaW4gdGhlIGNvbnRleHQgb2YgdGhpcyBlbmNvdW50ZXIgKGUuZy4gQWRtaXR0aW5nIERyLCBBdHRlbmRpbmcgRHIsIFRyYW5zbGF0b3IsIENvbnN1bHRpbmcgRHIpLiBUaGlzIGlzIGRpZmZlcmVudCB0byB0aGUgcHJhY3RpdGlvbmVyIHJvbGVzIHdoaWNoIGFyZSBmdW5jdGlvbmFsIHJvbGVzLCBkZXJpdmVkIGZyb20gdGVybXMgb2YgZW1wbG95bWVudCwgZWR1Y2F0aW9uLCBsaWNlbnNpbmcsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhcnRpY2lwYW50VHlwZSIgZGVzY3JpcHRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyaW9kIG9mIHRpbWUgZHVyaW5nIHRoZSBlbmNvdW50ZXIgdGhhdCB0aGUgcGFydGljaXBhbnQgcGFydGljaXBhdGVkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgdGhhdCB0aGUgc3BlY2lmaWVkIHBhcnRpY2lwYW50IHBhcnRpY2lwYXRlZCBpbiB0aGUgZW5jb3VudGVyLiBUaGVzZSBjYW4gb3ZlcmxhcCBvciBiZSBzdWItc2V0cyBvZiB0aGUgb3ZlcmFsbCBlbmNvdW50ZXIncyBwZXJpb2QuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbmRpdmlkdWFsIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbnMgaW52b2x2ZWQgaW4gdGhlIGVuY291bnRlciBvdGhlciB0aGFuIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJQZXJzb25zIGludm9sdmVkIGluIHRoZSBlbmNvdW50ZXIgb3RoZXIgdGhhbiB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlNob3VsZCBpbmNsdWRlIFFJQ29yZS1SZWxhdGVkUGVyc29uIGFzIGEgcG9zc2libGUgcGFydGljaXBhbnQsIGJ1dCBVU0NvcmUtRW5jb3VudGVyIG9ubHkgYWxsb3dzIFVTQ29yZS1QcmFjdGl0aW9uZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXIuU3RhdHVzSGlzdG9yeSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkVuY291bnRlclN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwbGFubmVkIHwgYXJyaXZlZCB8IHRyaWFnZWQgfCBpbi1wcm9ncmVzcyB8IG9ubGVhdmUgfCBmaW5pc2hlZCB8IGNhbmNlbGxlZCArIiBkZWZpbml0aW9uPSJwbGFubmVkIHwgYXJyaXZlZCB8IHRyaWFnZWQgfCBpbi1wcm9ncmVzcyB8IG9ubGVhdmUgfCBmaW5pc2hlZCB8IGNhbmNlbGxlZCArLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlclN0YXR1cyIgZGVzY3JpcHRpb249IkN1cnJlbnQgc3RhdGUgb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIHN0YXR1cyIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhhdCB0aGUgZXBpc29kZSB3YXMgaW4gdGhlIHNwZWNpZmllZCBzdGF0dXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlckxvY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXZlbnRUaW1pbmciIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXhwcmVzc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0V4cHJlc3Npb24iIGxhYmVsPSJFeHByZXNzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmF0dXJhbCBsYW5ndWFnZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIGJyaWVmLCBuYXR1cmFsIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mIHRoZSBjb25kaXRpb24gdGhhdCBlZmZlY3RpdmVseSBjb21tdW5pY2F0ZXMgdGhlIGludGVuZGVkIHNlbWFudGljcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU2hvcnQgbmFtZSBhc3NpZ25lZCB0byBleHByZXNzaW9uIGZvciByZXVzZSIgZGVmaW5pdGlvbj0iQSBzaG9ydCBuYW1lIGFzc2lnbmVkIHRvIHRoZSBleHByZXNzaW9uIHRvIGFsbG93IGZvciBtdWx0aXBsZSByZXVzZSBvZiB0aGUgZXhwcmVzc2lvbiBpbiB0aGUgY29udGV4dCB3aGVyZSBpdCBpcyBkZWZpbmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0idGV4dC9jcWwgfCB0ZXh0L2ZoaXJwYXRoIHwgYXBwbGljYXRpb24veC1maGlyLXF1ZXJ5IHwgZXRjLiIgZGVmaW5pdGlvbj0iVGhlIG1lZGlhIHR5cGUgb2YgdGhlIGxhbmd1YWdlIGZvciB0aGUgZXhwcmVzc2lvbi4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJFeHByZXNzaW9uTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJUaGUgbWVkaWEgdHlwZSBvZiB0aGUgZXhwcmVzc2lvbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXhwcmVzc2lvbiBpbiBzcGVjaWZpZWQgbGFuZ3VhZ2UiIGRlZmluaXRpb249IkFuIGV4cHJlc3Npb24gaW4gdGhlIHNwZWNpZmllZCBsYW5ndWFnZSB0aGF0IHJldHVybnMgYSB2YWx1ZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZXhwcmVzc2lvbiBpcyBmb3VuZCIgZGVmaW5pdGlvbj0iQSBVUkkgdGhhdCBkZWZpbmVzIHdoZXJlIHRoZSBleHByZXNzaW9uIGlzIGZvdW5kLiIgY29tbWVudD0iSWYgYm90aCBhIHJlZmVyZW5jZSBhbmQgYW4gZXhwcmVzc2lvbiBpcyBmb3VuZCwgdGhlIHJlZmVyZW5jZSBTSEFMTCBwb2ludCB0byB0aGUgc2FtZSBleHByZXNzaW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXh0ZW5zaW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRXh0ZW5zaW9uIiBsYWJlbD0iRXh0ZW5zaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImlkZW50aWZpZXMgdGhlIG1lYW5pbmcgb2YgdGhlIGV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iU291cmNlIG9mIHRoZSBkZWZpbml0aW9uIGZvciB0aGUgZXh0ZW5zaW9uIGNvZGUgLSBhIGxvZ2ljYWwgbmFtZSBvciBhIFVSTC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG1heSBwb2ludCBkaXJlY3RseSB0byBhIGNvbXB1dGFibGUgb3IgaHVtYW4tcmVhZGFibGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaWJpbGl0eSBjb2Rlcywgb3IgaXQgbWF5IGJlIGEgbG9naWNhbCBVUkkgYXMgZGVjbGFyZWQgaW4gc29tZSBvdGhlciBzcGVjaWZpY2F0aW9uLiBUaGUgZGVmaW5pdGlvbiBTSEFMTCBiZSBhIFVSSSBmb3IgdGhlIFN0cnVjdHVyZSBEZWZpbml0aW9uIGRlZmluaW5nIHRoZSBleHRlbnNpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhbHVlIG9mIGV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iVmFsdWUgb2YgZXh0ZW5zaW9uIC0gbXVzdCBiZSBvbmUgb2YgYSBjb25zdHJhaW5lZCBzZXQgb2YgdGhlIGRhdGEgdHlwZXMgKHNlZSBbRXh0ZW5zaWJpbGl0eV0oZXh0ZW5zaWJpbGl0eS5odG1sKSBmb3IgYSBsaXN0KS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHByZXNzaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkZISVJBbGxUeXBlcyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkZISVJEZXZpY2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGSElSU3Vic3RhbmNlU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmFtaWx5SGlzdG9yeVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmFtaWx5TWVtYmVySGlzdG9yeSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZmFtaWx5bWVtYmVyaGlzdG9yeSIgbGFiZWw9IlFJQ29yZSBGYW1pbHlNZW1iZXJIaXN0b3J5IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJyZWxhdGlvbnNoaXAiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWQocykgZm9yIHRoaXMgcmVjb3JkIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRmFtaWx5TWVtYmVySGlzdG9yeS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIEZhbWlseU1lbWJlckhpc3RvcnkuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5GYW1pbHlIaXN0b3J5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBhcnRpYWwgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgaGVhbHRoLXVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0dXMgb2YgdGhlIHJlY29yZCBvZiB0aGUgZmFtaWx5IGhpc3Rvcnkgb2YgYSBzcGVjaWZpYyBmYW1pbHkgbWVtYmVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZhbWlseUhpc3RvcnlTdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBzdGF0dXMgb2YgdGhlIGZhbWlseSBoaXN0b3J5IHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249InN1YmplY3QtdW5rbm93biB8IHdpdGhoZWxkIHwgdW5hYmxlLXRvLW9idGFpbiB8IGRlZmVycmVkIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2h5IHRoZSBmYW1pbHkgbWVtYmVyJ3MgaGlzdG9yeSBpcyBub3QgYXZhaWxhYmxlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZhbWlseUhpc3RvcnlBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSByZWFzb24gd2h5IGEgZmFtaWx5IG1lbWJlcidzIGhpc3RvcnkgaXMgbm90IGF2YWlsYWJsZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGhpc3RvcnkgaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwZXJzb24gd2hvIHRoaXMgaGlzdG9yeSBjb25jZXJucy4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBoaXN0b3J5IHdhcyByZWNvcmRlZCBvciBsYXN0IHVwZGF0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIChhbmQgcG9zc2libHkgdGltZSkgd2hlbiB0aGUgZmFtaWx5IG1lbWJlciBoaXN0b3J5IHdhcyByZWNvcmRlZCBvciBsYXN0IHVwZGF0ZWQuIiBjb21tZW50PSJUaGlzIHNob3VsZCBiZSBjYXB0dXJlZCBldmVuIGlmIHRoZSBzYW1lIGFzIHRoZSBkYXRlIG9uIHRoZSBMaXN0IGFnZ3JlZ2F0aW5nIHRoZSBmdWxsIGZhbWlseSBoaXN0b3J5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIGZhbWlseSBtZW1iZXIgZGVzY3JpYmVkIiBkZWZpbml0aW9uPSJUaGlzIHdpbGwgZWl0aGVyIGJlIGEgbmFtZSBvciBhIGRlc2NyaXB0aW9uOyBlLmcuICZxdW90O0F1bnQgU3VzYW4mcXVvdDssICZxdW90O215IGNvdXNpbiB3aXRoIHRoZSByZWQgaGFpciZxdW90Oy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRpb25zaGlwIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWxhdGlvbnNoaXAgdG8gdGhlIHN1YmplY3QiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJlbGF0aW9uc2hpcCB0aGlzIHBlcnNvbiBoYXMgdG8gdGhlIHBhdGllbnQgKGZhdGhlciwgbW90aGVyLCBicm90aGVyIGV0Yy4pLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2V4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJtYWxlIHwgZmVtYWxlIHwgb3RoZXIgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgYmlydGggc2V4IG9mIHRoZSBmYW1pbHkgbWVtYmVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHNob3VsZCBpZGVhbGx5IHJlZmxlY3Qgd2hldGhlciB0aGUgaW5kaXZpZHVhbCBpcyBnZW5ldGljYWxseSBtYWxlIG9yIGZlbWFsZS4gIEhvd2V2ZXIsIGFzIHJlcG9ydGVkIGluZm9ybWF0aW9uIGJhc2VkIG9uIHRoZSBrbm93bGVkZ2Ugb2YgdGhlIHBhdGllbnQgb3IgcmVwb3J0aW5nIGZyaWVuZC9yZWxhdGl2ZSwgdGhlcmUgbWF5IGJlIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHJlcG9ydGVkIHNleCBtaWdodCBub3QgYmUgdG90YWxseSBhY2N1cmF0ZS4gIEUuZy4gJ0F1bnQgU3VlJyBtaWdodCBiZSBYWSByYXRoZXIgdGhhbiBYWC4gIFF1ZXN0aW9ucyBzb2xpY2l0aW5nIHRoaXMgaW5mb3JtYXRpb24gc2hvdWxkIGJlIHBocmFzZWQgdG8gZW5jb3VyYWdlIGNhcHR1cmUgb2YgZ2VuZXRpYyBzZXggd2hlcmUga25vd24uICBIb3dldmVyLCBzeXN0ZW1zIHBlcmZvcm1pbmcgYW5hbHlzaXMgc2hvdWxkIGFsc28gYWxsb3cgZm9yIHRoZSBwb3NzaWJpbGl0eSBvZiBpbXByZWNpc2lvbiB3aXRoIHRoaXMgZWxlbWVudC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXgiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSBzZXggYXNzaWduZWQgYXQgYmlydGggYXMgZG9jdW1lbnRlZCBvbiB0aGUgYmlydGggcmVnaXN0cmF0aW9uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib3JuIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihhcHByb3hpbWF0ZSkgZGF0ZSBvZiBiaXJ0aCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBvciBhcHByb3hpbWF0ZSBkYXRlIG9mIGJpcnRoIG9mIHRoZSByZWxhdGl2ZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZ2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKGFwcHJveGltYXRlKSBhZ2UiIGRlZmluaXRpb249IlRoZSBhZ2Ugb2YgdGhlIHJlbGF0aXZlIGF0IHRoZSB0aW1lIHRoZSBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgaXMgcmVjb3JkZWQuIiBjb21tZW50PSJ1c2UgZXN0aW1hdGVkQWdlIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIGFnZSBpcyBhY3R1YWwgb3Igbm90LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXN0aW1hdGVkQWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWdlIGlzIGVzdGltYXRlZD8iIGRlZmluaXRpb249IklmIHRydWUsIGluZGljYXRlcyB0aGF0IHRoZSBhZ2UgdmFsdWUgc3BlY2lmaWVkIGlzIGFuIGVzdGltYXRlZCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgZmFjdCB0aGF0IGFnZSBpcyBlc3RpbWF0ZWQgY2FuL3Nob3VsZCBjaGFuZ2UgdGhlIHJlc3VsdHMgb2YgYW55IGFsZ29yaXRobSB0aGF0IGNhbGN1bGF0ZXMgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBhZ2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlY2Vhc2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlYWQ/IEhvdyBvbGQvd2hlbj8iIGRlZmluaXRpb249IkRlY2Vhc2VkIGZsYWcgb3IgdGhlIGFjdHVhbCBvciBhcHByb3hpbWF0ZSBhZ2Ugb2YgdGhlIHJlbGF0aXZlIGF0IHRoZSB0aW1lIG9mIGRlYXRoIGZvciB0aGUgZmFtaWx5IG1lbWJlciBoaXN0b3J5IHJlY29yZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHdhcyBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgcGVyZm9ybWVkPyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoeSB0aGUgZmFtaWx5IG1lbWJlciBoaXN0b3J5IG9jY3VycmVkIGluIGNvZGVkIG9yIHRleHR1YWwgZm9ybS4iIGNvbW1lbnQ9IlRleHR1YWwgcmVhc29ucyBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgcmVhc29uQ29kZS50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGYW1pbHlIaXN0b3J5UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB3aHkgdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSB3YXMgZG9uZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHdhcyBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgcGVyZm9ybWVkPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGEgQ29uZGl0aW9uLCBPYnNlcnZhdGlvbiwgQWxsZXJneUludG9sZXJhbmNlLCBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2UgdGhhdCBqdXN0aWZpZXMgdGhpcyBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgZXZlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iR2VuZXJhbCBub3RlIGFib3V0IHJlbGF0ZWQgcGVyc29uIiBkZWZpbml0aW9uPSJUaGlzIHByb3BlcnR5IGFsbG93cyBhIG5vbiBjb25kaXRpb24tc3BlY2lmaWMgbm90ZSB0byB0aGUgbWFkZSBhYm91dCB0aGUgcmVsYXRlZCBwZXJzb24uIElkZWFsbHksIHRoZSBub3RlIHdvdWxkIGJlIGluIHRoZSBjb25kaXRpb24gcHJvcGVydHksIGJ1dCB0aGlzIGlzIG5vdCBhbHdheXMgcG9zc2libGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uIiBkZXNjcmlwdGlvbj0iQ29uZGl0aW9uIHRoYXQgdGhlIHJlbGF0ZWQgcGVyc29uIGhhZCIgZGVmaW5pdGlvbj0iVGhlIHNpZ25pZmljYW50IENvbmRpdGlvbnMgKG9yIGNvbmRpdGlvbikgdGhhdCB0aGUgZmFtaWx5IG1lbWJlciBoYWQuIFRoaXMgaXMgYSByZXBlYXRpbmcgc2VjdGlvbiB0byBhbGxvdyBhIHN5c3RlbSB0byByZXByZXNlbnQgbW9yZSB0aGFuIG9uZSBjb25kaXRpb24gcGVyIHJlc291cmNlLCB0aG91Z2ggdGhlcmUgaXMgbm90aGluZyBzdG9wcGluZyBtdWx0aXBsZSByZXNvdXJjZXMgLSBvbmUgcGVyIGNvbmRpdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkZhbWlseU1lbWJlckhpc3RvcnkuQ29uZGl0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGYW1pbHlNZW1iZXJIaXN0b3J5LkNvbmRpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29uZGl0aW9uIHN1ZmZlcmVkIGJ5IHJlbGF0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbmRpdGlvbiBzcGVjaWZpZWQuIENvdWxkIGJlIGEgY29kZWQgY29uZGl0aW9uIChsaWtlIE1JIG9yIERpYWJldGVzKSBvciBhIGxlc3Mgc3BlY2lmaWMgc3RyaW5nIGxpa2UgJ2NhbmNlcicgZGVwZW5kaW5nIG9uIGhvdyBtdWNoIGlzIGtub3duIGFib3V0IHRoZSBjb25kaXRpb24gYW5kIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIGNyZWF0aW5nIHN5c3RlbS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBDb25kaXRpb24gb3IgZGlhZ25vc2lzLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJkZWNlYXNlZCB8IHBlcm1hbmVudCBkaXNhYmlsaXR5IHwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoYXQgaGFwcGVuZWQgZm9sbG93aW5nIHRoZSBjb25kaXRpb24uICBJZiB0aGUgY29uZGl0aW9uIHJlc3VsdGVkIGluIGRlYXRoLCBkZWNlYXNlZCBkYXRlIGlzIGNhcHR1cmVkIG9uIHRoZSByZWxhdGlvbi4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25PdXRjb21lIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgY29uZGl0aW9uIGZvciB0aGUgcGF0aWVudDsgZS5nLiBkZWF0aCwgcGVybWFuZW50IGRpc2FiaWxpdHksIHRlbXBvcmFyeSBkaXNhYmlsaXR5LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dGVkVG9EZWF0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgdGhlIGNvbmRpdGlvbiBjb250cmlidXRlZCB0byB0aGUgY2F1c2Ugb2YgZGVhdGgiIGRlZmluaXRpb249IlRoaXMgY29uZGl0aW9uIGNvbnRyaWJ1dGVkIHRvIHRoZSBjYXVzZSBvZiBkZWF0aCBvZiB0aGUgcmVsYXRlZCBwZXJzb24uIElmIGNvbnRyaWJ1dGVkVG9EZWF0aCBpcyBub3QgcG9wdWxhdGVkLCB0aGVuIGl0IGlzIHVua25vd24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9uc2V0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gY29uZGl0aW9uIGZpcnN0IG1hbmlmZXN0ZWQiIGRlZmluaXRpb249IkVpdGhlciB0aGUgYWdlIG9mIG9uc2V0LCByYW5nZSBvZiBhcHByb3hpbWF0ZSBhZ2Ugb3IgZGVzY3JpcHRpdmUgc3RyaW5nIGNhbiBiZSByZWNvcmRlZC4gIEZvciBjb25kaXRpb25zIHdpdGggbXVsdGlwbGUgb2NjdXJyZW5jZXMsIHRoaXMgZGVzY3JpYmVzIHRoZSBmaXJzdCBrbm93biBvY2N1cnJlbmNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBbiBhcmVhIHdoZXJlIGdlbmVyYWwgbm90ZXMgY2FuIGJlIHBsYWNlZCBhYm91dCB0aGlzIHNwZWNpZmljIGNvbmRpdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb25kaXRpb24tYWJhdGVtZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLmFiYXRlbWVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCVwYXJlbnQuY29uZGl0aW9uLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9mYW1pbHltZW1iZXJoaXN0b3J5LWFiYXRlbWVudCddLnZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gKG9yIGlmKSB0aGUgZmFtaWx5IG1lbWJlcidzIGNvbmRpdGlvbiByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGFwcHJveGltYXRlIGRhdGUsIGFnZSwgb3IgZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIGNvbmRpdGlvbiBvZiB0aGUgZmFtaWx5IG1lbWJlciByZXNvbHZlZC4gVGhlIGFiYXRlbWVudCBzaG91bGQgb25seSBiZSBzcGVjaWZpZWQgaWYgdGhlIGNvbmRpdGlvbiBpcyBzdGF0ZWQgaW4gdGhlIHBvc2l0aXZlIHNlbnNlLCBpLmUuLCB0aGUgZGlkTm90SGF2ZSBmbGFnIGlzIGZhbHNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbi1zZXZlcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5zZXZlcml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jb25kaXRpb24uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgc2VyaW91c25lc3Mgb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHF1YWxpZmljYXRpb24gb2YgdGhlIHNlcmlvdXNuZXNzIG9yIGltcGFjdCBvbiBoZWFsdGggb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmxhZyIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZmxhZyIgbGFiZWw9IlFJQ29yZSBGbGFnIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgZmxhZyBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRmxhZ1N0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBpbmFjdGl2ZSB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlN1cHBvcnRzIGJhc2ljIHdvcmtmbG93LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGbGFnU3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBmbGFnIGlzIGFjdGl2ZSBhbmQgbmVlZHMgdG8gYmUgZGlzcGxheWVkIHRvIGEgdXNlciwgb3Igd2hldGhlciBpdCBpcyBubyBsb25nZXIgbmVlZGVkIG9yIHdhcyBlbnRlcmVkIGluIGVycm9yLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCwgYWRtaW5pc3RyYXRpdmUsIGV0Yy4iIGRlZmluaXRpb249IkFsbG93cyBhIGZsYWcgdG8gYmUgZGl2aWRlZCBpbnRvIGRpZmZlcmVudCBjYXRlZ29yaWVzIGxpa2UgY2xpbmljYWwsIGFkbWluaXN0cmF0aXZlIGV0Yy4gSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhIG1lYW5zIG9mIGZpbHRlcmluZyB3aGljaCBmbGFncyBhcmUgZGlzcGxheWVkIHRvIHBhcnRpY3VsYXIgdXNlciBvciBpbiBhIGdpdmVuIGNvbnRleHQuIiBjb21tZW50PSJUaGUgdmFsdWUgc2V0IHdpbGwgb2Z0ZW4gbmVlZCB0byBiZSBhZGp1c3RlZCBiYXNlZCBvbiBsb2NhbCBidXNpbmVzcyBydWxlcyBhbmQgdXNhZ2UgY29udGV4dC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCBvciB0ZXh0dWFsIG1lc3NhZ2UgdG8gZGlzcGxheSB0byB1c2VyIiBkZWZpbml0aW9uPSJUaGUgY29kZWQgdmFsdWUgb3IgdGV4dHVhbCBjb21wb25lbnQgb2YgdGhlIGZsYWcgdG8gZGlzcGxheSB0byB0aGUgdXNlci4iIGNvbW1lbnQ9IklmIG5vbi1jb2RlZCwgdXNlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiAgVGhpcyBlbGVtZW50IHNob3VsZCBhbHdheXMgYmUgaW5jbHVkZWQgaW4gdGhlIG5hcnJhdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL1doYXQgaXMgZmxhZyBhYm91dD8iIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBsb2NhdGlvbiwgZ3JvdXAsIG9yZ2FuaXphdGlvbiwgb3IgcHJhY3RpdGlvbmVyIGV0Yy4gdGhpcyBpcyBhYm91dCByZWNvcmQgdGhpcyBmbGFnIGlzIGFzc29jaWF0ZWQgd2l0aC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIGZsYWcgaXMgYWN0aXZlIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgZnJvbSB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgZmxhZyB0byBpbmFjdGl2YXRpb24gb2YgdGhlIGZsYWcuIElmIHRoZSBmbGFnIGlzIGFjdGl2ZSwgdGhlIGVuZCBvZiB0aGUgcGVyaW9kIHNob3VsZCBiZSB1bnNwZWNpZmllZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBbGVydCByZWxldmFudCBkdXJpbmcgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGlzIGFsZXJ0IGlzIG9ubHkgcmVsZXZhbnQgZHVyaW5nIHRoZSBlbmNvdW50ZXIuIiBjb21tZW50PSJJZiBib3RoIEZsYWcuZW5jb3VudGVyIGFuZCBGbGFnLnBlcmlvZCBhcmUgdmFsdWVkLCB0aGVuIEZsYWcucGVyaW9kLnN0YXJ0IHNoYWxsIG5vdCBiZSBiZWZvcmUgRW5jb3VudGVyLnBlcmlvZC5zdGFydCBhbmQgRmxhZy5wZXJpb2QuZW5kIHNoYWxsIG5vdCBiZSBhZnRlciBFbmNvdW50ZXIucGVyaW9kLmVuZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkZsYWcgY3JlYXRvciIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiwgb3JnYW5pemF0aW9uIG9yIGRldmljZSB0aGF0IGNyZWF0ZWQgdGhlIGZsYWcuIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJhdXRob3IiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmxhZ1N0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iR29hbCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZ29hbCIgbGFiZWw9IlFJQ29yZSBHb2FsIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjYXRlZ29yeSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlamVjdGVkIiBlbGVtZW50VHlwZT0iUUlDb3JlLnJlYXNvblJlamVjdGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9nb2FsLXJlYXNvblJlamVjdGVkJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgZ29hbCB3YXMgbm90IGFjY2VwdGVkIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIHRoZSBnb2FsIHdhcyBub3QgYWNjZXB0ZWQuIEFwcGxpZXMgb25seSBpZiB0aGUgc3RhdHVzIG9mIHRoZSBnb2FsIGlzIHJlamVjdGVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgZ29hbCIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBnb2FsIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxpZmVjeWNsZVN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zZWQgfCBwbGFubmVkIHwgYWNjZXB0ZWQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgY2FuY2VsbGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHJlamVjdGVkIiBkZWZpbml0aW9uPSJUaGUgc3RhdGUgb2YgdGhlIGdvYWwgdGhyb3VnaG91dCBpdHMgbGlmZWN5Y2xlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBsaWZlY3ljbGVTdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY2hpZXZlbWVudFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iaW4tcHJvZ3Jlc3MgfCBpbXByb3ZpbmcgfCB3b3JzZW5pbmcgfCBuby1jaGFuZ2UgfCBhY2hpZXZlZCB8IHN1c3RhaW5pbmcgfCBub3QtYWNoaWV2ZWQgfCBuby1wcm9ncmVzcyB8IG5vdC1hdHRhaW5hYmxlIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHByb2dyZXNzaW9uLCBvciBsYWNrIHRoZXJlb2YsIHRvd2FyZHMgdGhlIGdvYWwgYWdhaW5zdCB0aGUgdGFyZ2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsQWNoaWV2ZW1lbnRTdGF0dXMiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHByb2dyZXNzaW9uLCBvciBsYWNrIHRoZXJlb2YsIHRvd2FyZHMgdGhlIGdvYWwgYWdhaW5zdCB0aGUgdGFyZ2V0LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRS5nLiBUcmVhdG1lbnQsIGRpZXRhcnksIGJlaGF2aW9yYWwsIGV0Yy4iIGRlZmluaXRpb249IkluZGljYXRlcyBhIGNhdGVnb3J5IHRoZSBnb2FsIGZhbGxzIHdpdGhpbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZ3JvdXBpbmcgYW5kIHNvcnRpbmcgZ29hbHMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249ImhpZ2gtcHJpb3JpdHkgfCBtZWRpdW0tcHJpb3JpdHkgfCBsb3ctcHJpb3JpdHkiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG11dHVhbGx5IGFncmVlZCBsZXZlbCBvZiBpbXBvcnRhbmNlIGFzc29jaWF0ZWQgd2l0aCByZWFjaGluZy9zdXN0YWluaW5nIHRoZSBnb2FsLiIgY29tbWVudD0iRXh0ZW5zaW9ucyBhcmUgYXZhaWxhYmxlIHRvIHRyYWNrIHByaW9yaXRpZXMgYXMgZXN0YWJsaXNoZWQgYnkgZWFjaCBwYXJ0aWNpcGFudCAoaS5lLiBQcmlvcml0eSBmcm9tIHRoZSBwYXRpZW50J3MgcGVyc3BlY3RpdmUsIGRpZmZlcmVudCBwcmFjdGl0aW9uZXJzJyBwZXJzcGVjdGl2ZXMsIGZhbWlseSBtZW1iZXIncyBwZXJzcGVjdGl2ZXMpJiN4ZDsmI3hkO1RoZSBvcmRpbmFsIGV4dGVuc2lvbiBvbiBDb2RpbmcgY2FuIGJlIHVzZWQgdG8gY29udmV5IGEgbnVtZXJpY2FsbHkgY29tcGFyYWJsZSByYW5raW5nIHRvIHByaW9yaXR5LiAgKEtlZXAgaW4gbWluZCB0aGF0IGRpZmZlcmVudCBjb2Rpbmcgc3lzdGVtcyBtYXkgdXNlIGEgJnF1b3Q7bG93IHZhbHVlPWltcG9ydGFudCZxdW90Oy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgbGV2ZWwgb2YgaW1wb3J0YW5jZSBhc3NvY2lhdGVkIHdpdGggYSBnb2FsLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIG9yIHRleHQgZGVzY3JpYmluZyBnb2FsIiBkZWZpbml0aW9uPSJIdW1hbi1yZWFkYWJsZSBhbmQvb3IgY29kZWQgZGVzY3JpcHRpb24gb2YgYSBzcGVjaWZpYyBkZXNpcmVkIG9iamVjdGl2ZSBvZiBjYXJlLCBzdWNoIGFzICZxdW90O2NvbnRyb2wgYmxvb2QgcHJlc3N1cmUmcXVvdDsgb3IgJnF1b3Q7bmVnb3RpYXRlIGFuIG9ic3RhY2xlIGNvdXJzZSZxdW90OyBvciAmcXVvdDtkYW5jZSB3aXRoIGNoaWxkIGF0IHdlZGRpbmcmcXVvdDsuIiBjb21tZW50PSJJZiBubyBjb2RlIGlzIGF2YWlsYWJsZSwgdXNlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVmFsdWUgc2V0IHRvIGRlc2NyaWJlIHRoZSBHb2FsIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoaXMgZ29hbCBpcyBpbnRlbmRlZCBmb3IiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBhdGllbnQsIGdyb3VwIG9yIG9yZ2FuaXphdGlvbiBmb3Igd2hvbSB0aGUgZ29hbCBpcyBiZWluZyBlc3RhYmxpc2hlZC4iIGNvbW1lbnQ9IlNob3VsZCBpbmNsdWRlIFFJQ29yZS1Pcmdhbml6YXRpb24sIGJ1dCB0aGUgYmFzZSBwcm9maWxlIG9ubHkgYWxsb3dzIFVTQ29yZS1QYXRpZW50IGRlcml2YXRpdmVzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhcnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIGdvYWwgcHVyc3VpdCBiZWdpbnMiIGRlZmluaXRpb249IlRoZSBkYXRlIG9yIGV2ZW50IGFmdGVyIHdoaWNoIHRoZSBnb2FsIHNob3VsZCBiZWdpbiBiZWluZyBwdXJzdWVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldCIgZGVzY3JpcHRpb249IlRhcmdldCBvdXRjb21lIGZvciB0aGUgZ29hbCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoYXQgc2hvdWxkIGJlIGRvbmUgYnkgd2hlbi4iIGNvbW1lbnQ9IldoZW4gbXVsdGlwbGUgdGFyZ2V0cyBhcmUgcHJlc2VudCBmb3IgYSBzaW5nbGUgZ29hbCBpbnN0YW5jZSwgYWxsIHRhcmdldHMgbXVzdCBiZSBtZXQgZm9yIHRoZSBvdmVyYWxsIGdvYWwgdG8gYmUgbWV0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Hb2FsLlRhcmdldCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImdvbC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkdvYWwudGFyZ2V0Lm1lYXN1cmUgaXMgcmVxdWlyZWQgaWYgR29hbC50YXJnZXQuZGV0YWlsIGlzIHBvcHVsYXRlZCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoZGV0YWlsLmV4aXN0cygpIGFuZCBtZWFzdXJlLmV4aXN0cygpKSBvciBkZXRhaWwuZXhpc3RzKCkubm90KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c0RhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIGdvYWwgc3RhdHVzIHRvb2sgZWZmZWN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoZW4gdGhlIGN1cnJlbnQgc3RhdHVzLiAgSS5lLiBXaGVuIGluaXRpYWxseSBjcmVhdGVkLCB3aGVuIGFjaGlldmVkLCB3aGVuIGNhbmNlbGxlZCwgZXRjLiIgY29tbWVudD0iVG8gc2VlIHRoZSBkYXRlIGZvciBwYXN0IHN0YXR1c2VzLCBxdWVyeSBoaXN0b3J5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0dXMuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIGNhcHR1cmVkIGZvciBzdGF0dXNlcyBzdWNoIGFzIHJlamVjdGVkLCBvbi1ob2xkIG9yIGNhbmNlbGxlZCwgYnV0IGNvdWxkIGJlIHByZXNlbnQgZm9yIG90aGVycy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2VkQnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvJ3MgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIEdvYWw/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvc2UgZ29hbCB0aGlzIGlzIC0gcGF0aWVudCBnb2FsLCBwcmFjdGl0aW9uZXIgZ29hbCwgZXRjLiIgY29tbWVudD0iVGhpcyBpcyB0aGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgZXN0YWJsaXNoaW5nIHRoZSBnb2FsLCBub3QgbmVjZXNzYXJpbHkgd2hvIHJlY29yZGVkIGl0LiAgKEZvciB0aGF0LCB1c2UgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2UuKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzZXMiIGRlc2NyaXB0aW9uPSJJc3N1ZXMgYWRkcmVzc2VkIGJ5IHRoaXMgZ29hbCIgZGVmaW5pdGlvbj0iVGhlIGlkZW50aWZpZWQgY29uZGl0aW9ucyBhbmQgb3RoZXIgaGVhbHRoIHJlY29yZCBlbGVtZW50cyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSBhZGRyZXNzZWQgYnkgdGhlIGdvYWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBnb2FsIiBkZWZpbml0aW9uPSJBbnkgY29tbWVudHMgcmVsYXRlZCB0byB0aGUgZ29hbC4iIGNvbW1lbnQ9Ik1heSBiZSB1c2VkIGZvciBwcm9ncmVzcyBub3RlcywgY29uY2VybnMgb3Igb3RoZXIgcmVsYXRlZCBpbmZvcm1hdGlvbiB0aGF0IGRvZXNuJ3QgYWN0dWFsbHkgZGVzY3JpYmUgdGhlIGdvYWwgaXRzZWxmLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dGNvbWVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCByZXN1bHQgd2FzIGFjaGlldmVkIHJlZ2FyZGluZyB0aGUgZ29hbD8iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGNoYW5nZSAob3IgbGFjayBvZiBjaGFuZ2UpIGF0IHRoZSBwb2ludCB3aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGdvYWwgaXMgYXNzZXNzZWQuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBzaG91bGQgbm90IGR1cGxpY2F0ZSB0aGUgZ29hbCBzdGF0dXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkdvYWxPdXRjb21lIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgZ29hbDsgZS5nLiAmcXVvdDsyNSUgaW5jcmVhc2UgaW4gc2hvdWxkZXIgbW9iaWxpdHkmcXVvdDssICZxdW90O0FueGlldHkgcmVkdWNlZCB0byBtb2RlcmF0ZSBsZXZlbHMmcXVvdDsuICAmcXVvdDsxNSBrZyB3ZWlnaHQgbG9zcyBzdXN0YWluZWQgb3ZlciA2IG1vbnRocyZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZVJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9ic2VydmF0aW9uIHRoYXQgcmVzdWx0ZWQgZnJvbSBnb2FsIiBkZWZpbml0aW9uPSJEZXRhaWxzIG9mIHdoYXQncyBjaGFuZ2VkIChvciBub3QgY2hhbmdlZCkuIiBjb21tZW50PSJUaGUgZ29hbCBvdXRjb21lIGlzIGluZGVwZW5kZW50IG9mIHRoZSBvdXRjb21lIG9mIHRoZSByZWxhdGVkIGFjdGl2aXRpZXMuICBGb3IgZXhhbXBsZSwgaWYgdGhlIEdvYWwgaXMgdG8gYWNoaWV2ZSBhIHRhcmdldCBib2R5IHdlaWdodCBvZiAxNTAgbGIgYW5kIGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIGRlZmluZWQgdG8gZGlldCwgdGhlbiB0aGUgY2FyZSBwbGFu4oCZcyBhY3Rpdml0eSBvdXRjb21lIGNvdWxkIGJlIGNhbG9yaWVzIGNvbnN1bWVkIHdoZXJlYXMgZ29hbCBvdXRjb21lIGlzIGFuIG9ic2VydmF0aW9uIGZvciB0aGUgYWN0dWFsIGJvZHkgd2VpZ2h0IG1lYXN1cmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iR29hbC5UYXJnZXQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lYXN1cmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwYXJhbWV0ZXIgd2hvc2UgdmFsdWUgaXMgYmVpbmcgdHJhY2tlZCIgZGVmaW5pdGlvbj0iVGhlIHBhcmFtZXRlciB3aG9zZSB2YWx1ZSBpcyBiZWluZyB0cmFja2VkLCBlLmcuIGJvZHkgd2VpZ2h0LCBibG9vZCBwcmVzc3VyZSwgb3IgaGVtb2dsb2JpbiBBMWMgbGV2ZWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJMT0lOQyBjb2RlcyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIHRvIGJlIGFjaGlldmVkIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIG9mIHRoZSBmb2N1cyB0byBiZSBhY2hpZXZlZCB0byBzaWduaWZ5IHRoZSBmdWxmaWxsbWVudCBvZiB0aGUgZ29hbCwgZS5nLiAxNTAgcG91bmRzLCA3LjAlLiBFaXRoZXIgdGhlIGhpZ2ggb3IgbG93IG9yIGJvdGggdmFsdWVzIG9mIHRoZSByYW5nZSBjYW4gYmUgc3BlY2lmaWVkLiBXaGVuIGEgbG93IHZhbHVlIGlzIG1pc3NpbmcsIGl0IGluZGljYXRlcyB0aGF0IHRoZSBnb2FsIGlzIGFjaGlldmVkIGF0IGFueSBmb2N1cyB2YWx1ZSBhdCBvciBiZWxvdyB0aGUgaGlnaCB2YWx1ZS4gU2ltaWxhcmx5LCBpZiB0aGUgaGlnaCB2YWx1ZSBpcyBtaXNzaW5nLCBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgZ29hbCBpcyBhY2hpZXZlZCBhdCBhbnkgZm9jdXMgdmFsdWUgYXQgb3IgYWJvdmUgdGhlIGxvdyB2YWx1ZS4iIGNvbW1lbnQ9IkEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBHb2FsLnRhcmdldC5tZWFzdXJlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsVGFyZ2V0RGV0YWlsIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdGhlIHRhcmdldCB2YWx1ZSBvZiB0aGUgZm9jdXMgdG8gYmUgYWNoaWV2ZWQgdG8gc2lnbmlmeSB0aGUgZnVsZmlsbG1lbnQgb2YgdGhlIGdvYWwuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImR1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFjaCBnb2FsIG9uIG9yIGJlZm9yZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGVpdGhlciB0aGUgZGF0ZSBvciB0aGUgZHVyYXRpb24gYWZ0ZXIgc3RhcnQgYnkgd2hpY2ggdGhlIGdvYWwgc2hvdWxkIGJlIG1ldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJIdW1hbk5hbWUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9IdW1hbk5hbWUiIGxhYmVsPSJIdW1hbk5hbWUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5OYW1lVXNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InVzdWFsIHwgb2ZmaWNpYWwgfCB0ZW1wIHwgbmlja25hbWUgfCBhbm9ueW1vdXMgfCBvbGQgfCBtYWlkZW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHB1cnBvc2UgZm9yIHRoaXMgbmFtZS4iIGNvbW1lbnQ9IkFwcGxpY2F0aW9ucyBjYW4gYXNzdW1lIHRoYXQgYSBuYW1lIGlzIGN1cnJlbnQgdW5sZXNzIGl0IGV4cGxpY2l0bHkgc2F5cyB0aGF0IGl0IGlzIHRlbXBvcmFyeSBvciBvbGQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTmFtZVVzZSIgZGVzY3JpcHRpb249IlRoZSB1c2Ugb2YgYSBodW1hbiBuYW1lLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZnVsbCBuYW1lIiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGVudGlyZSBuYW1lIGFzIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgZS5nLiBvbiBhbiBhcHBsaWNhdGlvbiBVSS4gVGhpcyBtYXkgYmUgcHJvdmlkZWQgaW5zdGVhZCBvZiBvciBhcyB3ZWxsIGFzIHRoZSBzcGVjaWZpYyBwYXJ0cy4iIGNvbW1lbnQ9IkNhbiBwcm92aWRlIGJvdGggYSB0ZXh0IHJlcHJlc2VudGF0aW9uIGFuZCBwYXJ0cy4gQXBwbGljYXRpb25zIHVwZGF0aW5nIGEgbmFtZSBTSEFMTCBlbnN1cmUgdGhhdCB3aGVuIGJvdGggdGV4dCBhbmQgcGFydHMgYXJlIHByZXNlbnQsICBubyBjb250ZW50IGlzIGluY2x1ZGVkIGluIHRoZSB0ZXh0IHRoYXQgaXNuJ3QgZm91bmQgaW4gYSBwYXJ0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmYW1pbHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZhbWlseSBuYW1lIChvZnRlbiBjYWxsZWQgJ1N1cm5hbWUnKSIgZGVmaW5pdGlvbj0iVGhlIHBhcnQgb2YgYSBuYW1lIHRoYXQgbGlua3MgdG8gdGhlIGdlbmVhbG9neS4gSW4gc29tZSBjdWx0dXJlcyAoZS5nLiBFcml0cmVhKSB0aGUgZmFtaWx5IG5hbWUgb2YgYSBzb24gaXMgdGhlIGZpcnN0IG5hbWUgb2YgaGlzIGZhdGhlci4iIGNvbW1lbnQ9IkZhbWlseSBOYW1lIG1heSBiZSBkZWNvbXBvc2VkIGludG8gc3BlY2lmaWMgcGFydHMgdXNpbmcgZXh0ZW5zaW9ucyAoZGUsIG5sLCBlcyByZWxhdGVkIGN1bHR1cmVzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2l2ZW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iR2l2ZW4gbmFtZXMgKG5vdCBhbHdheXMgJ2ZpcnN0JykuIEluY2x1ZGVzIG1pZGRsZSBuYW1lcyIgZGVmaW5pdGlvbj0iR2l2ZW4gbmFtZS4iIGNvbW1lbnQ9IklmIG9ubHkgaW5pdGlhbHMgYXJlIHJlY29yZGVkLCB0aGV5IG1heSBiZSB1c2VkIGluIHBsYWNlIG9mIHRoZSBmdWxsIG5hbWUgcGFydHMuIEluaXRpYWxzIG1heSBiZSBzZXBhcmF0ZWQgaW50byBtdWx0aXBsZSBnaXZlbiBuYW1lcyBidXQgb2Z0ZW4gYXJlbid0IGR1ZSB0byBwYXJhY3RpY2FsIGxpbWl0YXRpb25zLiAgVGhpcyBlbGVtZW50IGlzIG5vdCBjYWxsZWQgJnF1b3Q7Zmlyc3QgbmFtZSZxdW90OyBzaW5jZSBnaXZlbiBuYW1lcyBkbyBub3QgYWx3YXlzIGNvbWUgZmlyc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmVmaXgiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGFydHMgdGhhdCBjb21lIGJlZm9yZSB0aGUgbmFtZSIgZGVmaW5pdGlvbj0iUGFydCBvZiB0aGUgbmFtZSB0aGF0IGlzIGFjcXVpcmVkIGFzIGEgdGl0bGUgZHVlIHRvIGFjYWRlbWljLCBsZWdhbCwgZW1wbG95bWVudCBvciBub2JpbGl0eSBzdGF0dXMsIGV0Yy4gYW5kIHRoYXQgYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIG5hbWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWZmaXgiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGFydHMgdGhhdCBjb21lIGFmdGVyIHRoZSBuYW1lIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoZSBuYW1lIHRoYXQgaXMgYWNxdWlyZWQgYXMgYSB0aXRsZSBkdWUgdG8gYWNhZGVtaWMsIGxlZ2FsLCBlbXBsb3ltZW50IG9yIG5vYmlsaXR5IHN0YXR1cywgZXRjLiBhbmQgdGhhdCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIG5hbWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiBuYW1lIHdhcy9pcyBpbiB1c2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGVyaW9kIG9mIHRpbWUgd2hlbiB0aGlzIG5hbWUgd2FzIHZhbGlkIGZvciB0aGUgbmFtZWQgcGVyc29uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllciIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0lkZW50aWZpZXIiIGxhYmVsPSJJZGVudGlmaWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1c2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllclVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1c3VhbCB8IG9mZmljaWFsIHwgdGVtcCB8IHNlY29uZGFyeSB8IG9sZCAoSWYga25vd24pIiBkZWZpbml0aW9uPSJUaGUgcHVycG9zZSBvZiB0aGlzIGlkZW50aWZpZXIuIiBjb21tZW50PSJBcHBsaWNhdGlvbnMgY2FuIGFzc3VtZSB0aGF0IGFuIGlkZW50aWZpZXIgaXMgcGVybWFuZW50IHVubGVzcyBpdCBleHBsaWNpdGx5IHNheXMgdGhhdCBpdCBpcyB0ZW1wb3JhcnkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSWRlbnRpZmllclVzZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIHB1cnBvc2UgZm9yIHRoaXMgaWRlbnRpZmllciwgaWYga25vd24gLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBjb2RlZCB0eXBlIGZvciB0aGUgaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRlYWxzIG9ubHkgd2l0aCBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgaWRlbnRpZmllcnMuICBJdCBTSE9VTEQgbm90IGJlIHVzZWQgZm9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCAxLi4xIHdpdGggdGhlIElkZW50aWZpZXIuc3lzdGVtLiBTb21lIGlkZW50aWZpZXJzIG1heSBmYWxsIGludG8gbXVsdGlwbGUgY2F0ZWdvcmllcyBkdWUgdG8gY29tbW9uIHVzYWdlLiAgIFdoZXJlIHRoZSBzeXN0ZW0gaXMga25vd24sIGEgdHlwZSBpcyB1bm5lY2Vzc2FyeSBiZWNhdXNlIHRoZSB0eXBlIGlzIGFsd2F5cyBwYXJ0IG9mIHRoZSBzeXN0ZW0gZGVmaW5pdGlvbi4gSG93ZXZlciBzeXN0ZW1zIG9mdGVuIG5lZWQgdG8gaGFuZGxlIGlkZW50aWZpZXJzIHdoZXJlIHRoZSBzeXN0ZW0gaXMgbm90IGtub3duLiBUaGVyZSBpcyBub3QgYSAxOjEgcmVsYXRpb25zaGlwIGJldHdlZW4gdHlwZSBhbmQgc3lzdGVtLCBzaW5jZSBtYW55IGRpZmZlcmVudCBzeXN0ZW1zIGhhdmUgdGhlIHNhbWUgdHlwZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJZGVudGlmaWVyVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgdHlwZSBmb3IgYW4gaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lc3BhY2UgZm9yIHRoZSBpZGVudGlmaWVyIHZhbHVlIiBkZWZpbml0aW9uPSJFc3RhYmxpc2hlcyB0aGUgbmFtZXNwYWNlIGZvciB0aGUgdmFsdWUgLSB0aGF0IGlzLCBhIFVSTCB0aGF0IGRlc2NyaWJlcyBhIHNldCB2YWx1ZXMgdGhhdCBhcmUgdW5pcXVlLiIgY29tbWVudD0iSWRlbnRpZmllci5zeXN0ZW0gaXMgYWx3YXlzIGNhc2Ugc2Vuc2l0aXZlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHZhbHVlIHRoYXQgaXMgdW5pcXVlIiBkZWZpbml0aW9uPSJUaGUgcG9ydGlvbiBvZiB0aGUgaWRlbnRpZmllciB0eXBpY2FsbHkgcmVsZXZhbnQgdG8gdGhlIHVzZXIgYW5kIHdoaWNoIGlzIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIHN5c3RlbS4iIGNvbW1lbnQ9IklmIHRoZSB2YWx1ZSBpcyBhIGZ1bGwgVVJJLCB0aGVuIHRoZSBzeXN0ZW0gU0hBTEwgYmUgdXJuOmlldGY6cmZjOjM5ODYuICBUaGUgdmFsdWUncyBwcmltYXJ5IHB1cnBvc2UgaXMgY29tcHV0YXRpb25hbCBtYXBwaW5nLiAgQXMgYSByZXN1bHQsIGl0IG1heSBiZSBub3JtYWxpemVkIGZvciBjb21wYXJpc29uIHB1cnBvc2VzIChlLmcuIHJlbW92aW5nIG5vbi1zaWduaWZpY2FudCB3aGl0ZXNwYWNlLCBkYXNoZXMsIGV0Yy4pICBBIHZhbHVlIGZvcm1hdHRlZCBmb3IgaHVtYW4gZGlzcGxheSBjYW4gYmUgY29udmV5ZWQgdXNpbmcgdGhlIFtSZW5kZXJlZCBWYWx1ZSBleHRlbnNpb25dKGV4dGVuc2lvbi1yZW5kZXJlZC12YWx1ZS5odG1sKS4gSWRlbnRpZmllci52YWx1ZSBpcyB0byBiZSB0cmVhdGVkIGFzIGNhc2Ugc2Vuc2l0aXZlIHVubGVzcyBrbm93bGVkZ2Ugb2YgdGhlIElkZW50aWZpZXIuc3lzdGVtIGFsbG93cyB0aGUgcHJvY2Vzc2VyIHRvIGJlIGNvbmZpZGVudCB0aGF0IG5vbi1jYXNlLXNlbnNpdGl2ZSBwcm9jZXNzaW5nIGlzIHNhZmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIGlkIGlzL3dhcyB2YWxpZCBmb3IgdXNlIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggaWRlbnRpZmllciBpcy93YXMgdmFsaWQgZm9yIHVzZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzaWduZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXNzdWVkIGlkIChtYXkgYmUganVzdCB0ZXh0KSIgZGVmaW5pdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXNzdWVkL21hbmFnZXMgdGhlIGlkZW50aWZpZXIuIiBjb21tZW50PSJUaGUgSWRlbnRpZmllci5hc3NpZ25lciBtYXkgb21pdCB0aGUgLnJlZmVyZW5jZSBlbGVtZW50IGFuZCBvbmx5IGNvbnRhaW4gYSAuZGlzcGxheSBlbGVtZW50IHJlZmxlY3RpbmcgdGhlIG5hbWUgb3Igb3RoZXIgdGV4dHVhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYXNzaWduaW5nIG9yZ2FuaXphdGlvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllclVzZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1pbWFnaW5nc3R1ZHkiIGxhYmVsPSJRSUNvcmUgSW1hZ2luZ1N0dWR5IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJwcm9jZWR1cmVDb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXJzIGZvciB0aGUgd2hvbGUgc3R1ZHkiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGZvciB0aGUgSW1hZ2luZ1N0dWR5IHN1Y2ggYXMgRElDT00gU3R1ZHkgSW5zdGFuY2UgVUlELCBhbmQgQWNjZXNzaW9uIE51bWJlci4iIGNvbW1lbnQ9IlNlZSBkaXNjdXNzaW9uIHVuZGVyIFtJbWFnaW5nIFN0dWR5IEltcGxlbWVudGF0aW9uIE5vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2ltYWdpbmdzdHVkeS5odG1sI25vdGVzKSBmb3IgZW5jb2Rpbmcgb2YgRElDT00gU3R1ZHkgSW5zdGFuY2UgVUlELiBBY2Nlc3Npb24gTnVtYmVyIHNob3VsZCB1c2UgQUNTTiBJZGVudGlmaWVyIHR5cGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgYXZhaWxhYmxlIHwgY2FuY2VsbGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBJbWFnaW5nU3R1ZHkuIiBjb21tZW50PSJVbmtub3duIGRvZXMgbm90IHJlcHJlc2VudCAmcXVvdDtvdGhlciZxdW90OyAtIG9uZSBvZiB0aGUgZGVmaW5lZCBzdGF0dXNlcyBtdXN0IGFwcGx5LiAgVW5rbm93biBpcyB1c2VkIHdoZW4gdGhlIGF1dGhvcmluZyBzeXN0ZW0gaXMgbm90IHN1cmUgd2hhdCB0aGUgY3VycmVudCBzdGF0dXMgaXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ1N0dWR5U3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgSW1hZ2luZ1N0dWR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kYWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbGwgc2VyaWVzIG1vZGFsaXR5IGlmIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzIiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWxsIHRoZSBzZXJpZXMubW9kYWxpdHkgdmFsdWVzIHRoYXQgYXJlIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzLCBpLmUuIHRob3NlIGluIHRoZSBESUNPTSBDb250ZXh0IEdyb3VwIDI5ICh2YWx1ZSBzZXQgT0lEIDEuMi44NDAuMTAwMDguNi4xLjE5KS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ01vZGFsaXR5IiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBhY3F1aXJlZCBkYXRhIGluIHRoZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gb3Igd2hhdCBpcyB0aGUgc3ViamVjdCBvZiB0aGUgc3R1ZHkiIGRlZmluaXRpb249IlRoZSBzdWJqZWN0LCB0eXBpY2FsbHkgYSBwYXRpZW50LCBvZiB0aGUgaW1hZ2luZyBzdHVkeS4iIGNvbW1lbnQ9IlFBIHBoYW50b21zIGNhbiBiZSByZWNvcmRlZCB3aXRoIGEgRGV2aWNlOyBtdWx0aXBsZSBzdWJqZWN0cyAoc3VjaCBhcyBtaWNlKSBjYW4gYmUgcmVjb3JkZWQgd2l0aCBhIEdyb3VwLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciB3aXRoIHdoaWNoIHRoaXMgaW1hZ2luZyBzdHVkeSBpcyBhc3NvY2lhdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIEltYWdpbmdTdHVkeSBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gdGVzdCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgc3R1ZHkgd2FzIHN0YXJ0ZWQiIGRlZmluaXRpb249IkRhdGUgYW5kIHRpbWUgdGhlIHN0dWR5IHN0YXJ0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQiIGRlZmluaXRpb249IkEgbGlzdCBvZiB0aGUgZGlhZ25vc3RpYyByZXF1ZXN0cyB0aGF0IHJlc3VsdGVkIGluIHRoaXMgaW1hZ2luZyBzdHVkeSBiZWluZyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVmZXJyaW5nIHBoeXNpY2lhbiIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3RpbmcvcmVmZXJyaW5nIHBoeXNpY2lhbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRlciIgZGVzY3JpcHRpb249IldobyBpbnRlcnByZXRlZCBpbWFnZXMiIGRlZmluaXRpb249IldobyByZWFkIHRoZSBzdHVkeSBhbmQgaW50ZXJwcmV0ZWQgdGhlIGltYWdlcyBvciBvdGhlciBjb250ZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmRwb2ludCIgZGVzY3JpcHRpb249IlN0dWR5IGFjY2VzcyBlbmRwb2ludCIgZGVmaW5pdGlvbj0iVGhlIG5ldHdvcmsgc2VydmljZSBwcm92aWRpbmcgYWNjZXNzIChlLmcuLCBxdWVyeSwgdmlldywgb3IgcmV0cmlldmFsKSBmb3IgdGhlIHN0dWR5LiBTZWUgaW1wbGVtZW50YXRpb24gbm90ZXMgZm9yIGluZm9ybWF0aW9uIGFib3V0IHVzaW5nIERJQ09NIGVuZHBvaW50cy4gQSBzdHVkeS1sZXZlbCBlbmRwb2ludCBhcHBsaWVzIHRvIGVhY2ggc2VyaWVzIGluIHRoZSBzdHVkeSwgdW5sZXNzIG92ZXJyaWRkZW4gYnkgYSBzZXJpZXMtbGV2ZWwgZW5kcG9pbnQgd2l0aCB0aGUgc2FtZSBFbmRwb2ludC5jb25uZWN0aW9uVHlwZS4iIGNvbW1lbnQ9IlR5cGljYWwgZW5kcG9pbnQgdHlwZXMgaW5jbHVkZSBESUNPTSBXQURPLVJTLCB3aGljaCBpcyB1c2VkIHRvIHJldHJpZXZlIERJQ09NIGluc3RhbmNlcyBpbiBuYXRpdmUgb3IgcmVuZGVyZWQgKGUuZy4sIEpQRywgUE5HKSwgZm9ybWF0cyB1c2luZyBhIFJFU1RmdWwgQVBJOyBESUNPTSBXQURPLVVSSSwgd2hpY2ggY2FuIHNpbWlsYXJseSByZXRyaWV2ZSBuYXRpdmUgb3IgcmVuZGVyZWQgaW5zdGFuY2VzLCBleGNlcHQgdXNpbmcgYW4gSFRUUCBxdWVyeS1iYXNlZCBhcHByb2FjaDsgRElDT00gUUlETy1SUywgd2hpY2ggYWxsb3dzIFJFU1RmdWwgcXVlcnkgZm9yIERJQ09NIGluZm9ybWF0aW9uIHdpdGhvdXQgcmV0cmlldmluZyB0aGUgYWN0dWFsIGluc3RhbmNlczsgb3IgSUhFIEludm9rZSBJbWFnZSBEaXNwbGF5IChJSUQpLCB3aGljaCBwcm92aWRlcyBzdGFuZGFyZCBpbnZvY2F0aW9uIG9mIGFuIGltYWdpbmcgd2ViIHZpZXdlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mU2VyaWVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFN0dWR5IFJlbGF0ZWQgU2VyaWVzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU2VyaWVzIGluIHRoZSBTdHVkeS4gVGhpcyB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBzZXJpZXMgZWxlbWVudHMgdGhpcyBSZXNvdXJjZSBjb250YWlucyBkdWUgdG8gcmVzb3VyY2UgYXZhaWxhYmlsaXR5LCBzZWN1cml0eSwgb3Igb3RoZXIgZmFjdG9ycy4gVGhpcyBlbGVtZW50IHNob3VsZCBiZSBwcmVzZW50IGlmIGFueSBzZXJpZXMgZWxlbWVudHMgYXJlIHByZXNlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mSW5zdGFuY2VzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFN0dWR5IFJlbGF0ZWQgSW5zdGFuY2VzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU09QIEluc3RhbmNlcyBpbiBTdHVkeS4gVGhpcyB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBpbnN0YW5jZSBlbGVtZW50cyB0aGlzIHJlc291cmNlIGNvbnRhaW5zIGR1ZSB0byByZXNvdXJjZSBhdmFpbGFiaWxpdHksIHNlY3VyaXR5LCBvciBvdGhlciBmYWN0b3JzLiBUaGlzIGVsZW1lbnQgc2hvdWxkIGJlIHByZXNlbnQgaWYgYW55IGluc3RhbmNlIGVsZW1lbnRzIGFyZSBwcmVzZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmVSZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHBlcmZvcm1lZCBQcm9jZWR1cmUgcmVmZXJlbmNlIiBkZWZpbml0aW9uPSJUaGUgcHJvY2VkdXJlIHdoaWNoIHRoaXMgSW1hZ2luZ1N0dWR5IHdhcyBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2VkdXJlQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIGNvZGUiIGRlZmluaXRpb249IlRoZSBjb2RlIGZvciB0aGUgcGVyZm9ybWVkIHByb2NlZHVyZSB0eXBlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nUHJvY2VkdXJlQ29kZSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIHR5cGUuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIEltYWdpbmdTdHVkeSBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIHByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgSW1hZ2luZ1N0dWR5IHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHN0dWR5IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIGNsaW5pY2FsIGNvbmRpdGlvbiBpbmRpY2F0aW5nIHdoeSB0aGUgSW1hZ2luZ1N0dWR5IHdhcyByZXF1ZXN0ZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltYWdpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIGZvciB0aGUgc3R1ZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgc3R1ZHkgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgU3R1ZHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iVXNlci1kZWZpbmVkIGNvbW1lbnRzIiBkZWZpbml0aW9uPSJQZXIgdGhlIHJlY29tbWVuZGVkIERJQ09NIG1hcHBpbmcsIHRoaXMgZWxlbWVudCBpcyBkZXJpdmVkIGZyb20gdGhlIFN0dWR5IERlc2NyaXB0aW9uIGF0dHJpYnV0ZSAoMDAwOCwxMDMwKS4gT2JzZXJ2YXRpb25zIG9yIGZpbmRpbmdzIGFib3V0IHRoZSBpbWFnaW5nIHN0dWR5IHNob3VsZCBiZSByZWNvcmRlZCBpbiBhbm90aGVyIHJlc291cmNlLCBlLmcuIE9ic2VydmF0aW9uLCBhbmQgbm90IGluIHRoaXMgZWxlbWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJUaGUgSW1hZ2luZyBNYW5hZ2VyIGRlc2NyaXB0aW9uIG9mIHRoZSBzdHVkeS4gSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIG9yIGNsYXNzaWZpY2F0aW9uIG9mIHRoZSBTdHVkeSAoY29tcG9uZW50KSBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZGVzY3JpcHRpb249IkVhY2ggc3R1ZHkgaGFzIG9uZSBvciBtb3JlIHNlcmllcyBvZiBpbnN0YW5jZXMiIGRlZmluaXRpb249IkVhY2ggc3R1ZHkgaGFzIG9uZSBvciBtb3JlIHNlcmllcyBvZiBpbWFnZXMgb3Igb3RoZXIgY29udGVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbWFnaW5nU3R1ZHkuU2VyaWVzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbWFnaW5nU3R1ZHkuU2VyaWVzIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1aWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRJQ09NIFNlcmllcyBJbnN0YW5jZSBVSUQgZm9yIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IlRoZSBESUNPTSBTZXJpZXMgSW5zdGFuY2UgVUlEIGZvciB0aGUgc2VyaWVzLiIgY29tbWVudD0iU2VlIFtESUNPTSBQUzMuMyBDLjcuM10oaHR0cDovL2RpY29tLm5lbWEub3JnL21lZGljYWwvZGljb20vY3VycmVudC9vdXRwdXQvY2h0bWwvcGFydDAzL3NlY3RfQy43LjMuaHRtbCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyIgZGVmaW5pdGlvbj0iVGhlIG51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyBpbiB0aGUgc3R1ZHkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGFsaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgbW9kYWxpdHkgb2YgdGhlIGluc3RhbmNlcyBpbiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJUaGUgbW9kYWxpdHkgb2YgdGhpcyBzZXJpZXMgc2VxdWVuY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ01vZGFsaXR5IiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBhY3F1aXJlZCBkYXRhIGluIHRoZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgc2hvcnQgaHVtYW4gcmVhZGFibGUgc3VtbWFyeSBvZiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzZXJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mSW5zdGFuY2VzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFNlcmllcyBSZWxhdGVkIEluc3RhbmNlcyIgZGVmaW5pdGlvbj0iTnVtYmVyIG9mIFNPUCBJbnN0YW5jZXMgaW4gdGhlIFN0dWR5LiBUaGUgdmFsdWUgZ2l2ZW4gbWF5IGJlIGxhcmdlciB0aGFuIHRoZSBudW1iZXIgb2YgaW5zdGFuY2UgZWxlbWVudHMgdGhpcyByZXNvdXJjZSBjb250YWlucyBkdWUgdG8gcmVzb3VyY2UgYXZhaWxhYmlsaXR5LCBzZWN1cml0eSwgb3Igb3RoZXIgZmFjdG9ycy4gVGhpcyBlbGVtZW50IHNob3VsZCBiZSBwcmVzZW50IGlmIGFueSBpbnN0YW5jZSBlbGVtZW50cyBhcmUgcHJlc2VudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kcG9pbnQiIGRlc2NyaXB0aW9uPSJTZXJpZXMgYWNjZXNzIGVuZHBvaW50IiBkZWZpbml0aW9uPSJUaGUgbmV0d29yayBzZXJ2aWNlIHByb3ZpZGluZyBhY2Nlc3MgKGUuZy4sIHF1ZXJ5LCB2aWV3LCBvciByZXRyaWV2YWwpIGZvciB0aGlzIHNlcmllcy4gU2VlIGltcGxlbWVudGF0aW9uIG5vdGVzIGZvciBpbmZvcm1hdGlvbiBhYm91dCB1c2luZyBESUNPTSBlbmRwb2ludHMuIEEgc2VyaWVzLWxldmVsIGVuZHBvaW50LCBpZiBwcmVzZW50LCBoYXMgcHJlY2VkZW5jZSBvdmVyIGEgc3R1ZHktbGV2ZWwgZW5kcG9pbnQgd2l0aCB0aGUgc2FtZSBFbmRwb2ludC5jb25uZWN0aW9uVHlwZS4iIGNvbW1lbnQ9IlR5cGljYWwgZW5kcG9pbnQgdHlwZXMgaW5jbHVkZSBESUNPTSBXQURPLVJTLCB3aGljaCBpcyB1c2VkIHRvIHJldHJpZXZlIERJQ09NIGluc3RhbmNlcyBpbiBuYXRpdmUgb3IgcmVuZGVyZWQgKGUuZy4sIEpQRywgUE5HKSBmb3JtYXRzIHVzaW5nIGEgUkVTVGZ1bCBBUEk7IERJQ09NIFdBRE8tVVJJLCB3aGljaCBjYW4gc2ltaWxhcmx5IHJldHJpZXZlIG5hdGl2ZSBvciByZW5kZXJlZCBpbnN0YW5jZXMsIGV4Y2VwdCB1c2luZyBhbiBIVFRQIHF1ZXJ5LWJhc2VkIGFwcHJvYWNoOyBhbmQgRElDT00gUUlETy1SUywgd2hpY2ggYWxsb3dzIFJFU1RmdWwgcXVlcnkgZm9yIERJQ09NIGluZm9ybWF0aW9uIHdpdGhvdXQgcmV0cmlldmluZyB0aGUgYWN0dWFsIGluc3RhbmNlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHBhcnQgZXhhbWluZWQiIGRlZmluaXRpb249IlRoZSBhbmF0b21pYyBzdHJ1Y3R1cmVzIGV4YW1pbmVkLiBTZWUgRElDT00gUGFydCAxNiBBbm5leCBMIChodHRwOi8vZGljb20ubmVtYS5vcmcvbWVkaWNhbC9kaWNvbS9jdXJyZW50L291dHB1dC9jaHRtbC9wYXJ0MTYvY2hhcHRlcl9MLmh0bWwpIGZvciBESUNPTSB0byBTTk9NRUQtQ1QgbWFwcGluZ3MuIFRoZSBib2R5U2l0ZSBtYXkgaW5kaWNhdGUgdGhlIGxhdGVyYWxpdHkgb2YgYm9keSBwYXJ0IGltYWdlZDsgaWYgc28sIGl0IHNoYWxsIGJlIGNvbnNpc3RlbnQgd2l0aCBhbnkgY29udGVudCBvZiBJbWFnaW5nU3R1ZHkuc2VyaWVzLmxhdGVyYWxpdHkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsYXRlcmFsaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHBhcnQgbGF0ZXJhbGl0eSIgZGVmaW5pdGlvbj0iVGhlIGxhdGVyYWxpdHkgb2YgdGhlIChwb3NzaWJseSBwYWlyZWQpIGFuYXRvbWljIHN0cnVjdHVyZXMgZXhhbWluZWQuIEUuZy4sIHRoZSBsZWZ0IGtuZWUsIGJvdGggbHVuZ3MsIG9yIHVucGFpcmVkIGFiZG9tZW4uIElmIHByZXNlbnQsIHNoYWxsIGJlIGNvbnNpc3RlbnQgd2l0aCBhbnkgbGF0ZXJhbGl0eSBpbmZvcm1hdGlvbiBpbmRpY2F0ZWQgaW4gSW1hZ2luZ1N0dWR5LnNlcmllcy5ib2R5U2l0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJMYXRlcmFsaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBib2R5IHNpdGUgbGF0ZXJhbGl0eSAobGVmdCwgcmlnaHQsIGV0Yy4pLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlNwZWNpbWVuIGltYWdlZCIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIGltYWdlZCwgZS5nLiwgZm9yIHdob2xlIHNsaWRlIGltYWdpbmcgb2YgYSBiaW9wc3kuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGFydGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHNlcmllcyBzdGFydGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGUgc2VyaWVzIHdhcyBzdGFydGVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gcGVyZm9ybWVkIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIHNlcmllcyBhbmQgaG93IHRoZXkgd2VyZSBpbnZvbHZlZC4iIGNvbW1lbnQ9IklmIHRoZSBwZXJzb24gd2hvIHBlcmZvcm1lZCB0aGUgc2VyaWVzIGlzIG5vdCBrbm93biwgdGhlaXIgT3JnYW5pemF0aW9uIG1heSBiZSByZWNvcmRlZC4gQSBwYXRpZW50LCBvciByZWxhdGVkIHBlcnNvbiwgbWF5IGJlIHRoZSBwZXJmb3JtZXIsIGUuZy4gZm9yIHBhdGllbnQtY2FwdHVyZWQgaW1hZ2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeS5TZXJpZXMuUGVyZm9ybWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW5jZSIgZGVzY3JpcHRpb249IkEgc2luZ2xlIFNPUCBpbnN0YW5jZSBmcm9tIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IkEgc2luZ2xlIFNPUCBpbnN0YW5jZSB3aXRoaW4gdGhlIHNlcmllcywgZS5nLiBhbiBpbWFnZSwgb3IgcHJlc2VudGF0aW9uIHN0YXRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeS5TZXJpZXMuSW5zdGFuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltYWdpbmdTdHVkeS5TZXJpZXMuSW5zdGFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InVpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRElDT00gU09QIEluc3RhbmNlIFVJRCIgZGVmaW5pdGlvbj0iVGhlIERJQ09NIFNPUCBJbnN0YW5jZSBVSUQgZm9yIHRoaXMgaW1hZ2Ugb3Igb3RoZXIgRElDT00gY29udGVudC4iIGNvbW1lbnQ9IlNlZSAgW0RJQ09NIFBTMy4zIEMuMTIuMV0oaHR0cDovL2RpY29tLm5lbWEub3JnL21lZGljYWwvZGljb20vY3VycmVudC9vdXRwdXQvY2h0bWwvcGFydDAzL3NlY3RfQy4xMi5odG1sI3NlY3RfQy4xMi4xKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic29wQ2xhc3MiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRJQ09NIGNsYXNzIHR5cGUiIGRlZmluaXRpb249IkRJQ09NIGluc3RhbmNlICB0eXBlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9InNvcENsYXNzIiBkZXNjcmlwdGlvbj0iVGhlIHNvcENsYXNzIGZvciB0aGUgaW5zdGFuY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBudW1iZXIgb2YgdGhpcyBpbnN0YW5jZSBpbiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIGluc3RhbmNlIGluIHRoZSBzZXJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiBpbnN0YW5jZSIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBpbnN0YW5jZS4iIGNvbW1lbnQ9IlBhcnRpY3VsYXJseSBmb3IgcG9zdC1hY3F1aXNpdGlvbiBhbmFseXRpYyBvYmplY3RzLCBzdWNoIGFzIFNSLCBwcmVzZW50YXRpb24gc3RhdGVzLCB2YWx1ZSBtYXBwaW5nLCBldGMuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltYWdpbmdTdHVkeS5TZXJpZXMuUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwZXJmb3JtYW5jZSIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBpbnZvbHZlbWVudCBvZiB0aGUgcGVyZm9ybWVyIGluIHRoZSBzZXJpZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRXZlbnRQZXJmb3JtZXJGdW5jdGlvbiIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIHNlcmllcyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgc2VyaWVzLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbWFnaW5nU3R1ZHlTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1tdW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idmFjY2luZUNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGltbXVuaXphdGlvbiByZWNvcmQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIiBjb21tZW50PSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBpbW11bml6YXRpb24gaGFzIGJlZW4gY29tcGxldGVkIG9yIG5vdCBkb25lLiAgVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWNjaW5lQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBQcm9kdWN0IFR5cGUgKGJpbmQgdG8gQ1ZYKSIgZGVmaW5pdGlvbj0iVmFjY2luZSB0aGF0IHdhcyBhZG1pbmlzdGVyZWQgb3Igd2FzIHRvIGJlIGFkbWluaXN0ZXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBpbW11bml6YXRpb24gd2FzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSB2aXNpdCBvciBhZG1pc3Npb24gb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIHRoZSBpbW11bml6YXRpb24gd2FzIHBlcmZvcm1lZCBhcyBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYWRtaW5pc3RlcmVkIG9yIHdhcyB0byBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJXaGVuIGltbXVuaXphdGlvbnMgYXJlIGdpdmVuIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBzaG91bGQgYWx3YXlzIGJlIGtub3duLiAgIFdoZW4gaW1tdW5pemF0aW9ucyBhcmUgcGF0aWVudCByZXBvcnRlZCwgYSBzcGVjaWZpYyBkYXRlIG1pZ2h0IG5vdCBiZSBrbm93bi4gIEFsdGhvdWdoIHBhcnRpYWwgZGF0ZXMgYXJlIGFsbG93ZWQsIGFuIGFkdWx0IHBhdGllbnQgbWlnaHQgbm90IGJlIGFibGUgdG8gcmVjYWxsIHRoZSB5ZWFyIGEgY2hpbGRob29kIGltbXVuaXphdGlvbiB3YXMgZ2l2ZW4uIEFuIGV4YWN0IGRhdGUgaXMgYWx3YXlzIHByZWZlcmFibGUsIGJ1dCB0aGUgdXNlIG9mIHRoZSBTdHJpbmcgZGF0YSB0eXBlIGlzIGFjY2VwdGFibGUgd2hlbiBhbiBleGFjdCBkYXRlIGlzIG5vdCBrbm93bi4gQSBzbWFsbCBudW1iZXIgb2YgdmFjY2luZXMgKGUuZy4gbGl2ZSBvcmFsIHR5cGhvaWQgdmFjY2luZSkgYXJlIGdpdmVuIGFzIGEgc2VyaWVzIG9mIHBhdGllbnQgc2VsZi1hZG1pbmlzdGVyZWQgZG9zZSBvdmVyIGEgc3BhbiBvZiB0aW1lLiBJbiBjYXNlcyBsaWtlIHRoaXMsIG9mdGVuLCBvbmx5IHRoZSBmaXJzdCBkb3NlICh0eXBpY2FsbHkgYSBwcm92aWRlciBzdXBlcnZpc2VkIGRvc2UpIGlzIHJlY29yZGVkIHdpdGggdGhlIG9jY3VycmVuY2UgaW5kaWNhdGluZyB0aGUgZGF0ZS90aW1lIG9mIHRoZSBmaXJzdCBkb3NlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSBzdWJqZWN0J3MgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgaW1tdW5pemF0aW9uIHdhcyBmaXJzdCBjYXB0dXJlZCBpbiB0aGUgcmVjb3JkIC0gcG90ZW50aWFsbHkgc2lnbmlmaWNhbnRseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIGNvbnRleHQgdGhlIGRhdGEgd2FzIHJlY29yZGVkIGluIiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHJlY29yZCBpcyBiYXNlZCBvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBwZXJzb24gd2hvIGFkbWluaXN0ZXJlZCB0aGUgdmFjY2luZS4gVGhpcyByZWZsZWN0cyB0aGUgY29udGV4dCB1bmRlciB3aGljaCB0aGUgZGF0YSB3YXMgb3JpZ2luYWxseSByZWNvcmRlZC4iIGNvbW1lbnQ9IlJlZmxlY3RzIHRoZSDigJxyZWxpYWJpbGl0eeKAnSBvZiB0aGUgY29udGVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydE9yaWdpbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgYSBzZWNvbmRhcmlseSByZXBvcnRlZCByZWNvcmQiIGRlZmluaXRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgd2hlbiB0aGUgcmVwb3J0IG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQgaXMgbm90IGJhc2VkIG9uIGluZm9ybWF0aW9uIGZyb20gdGhlIHBlcnNvbiB3aG8gYWRtaW5pc3RlcmVkIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iU2hvdWxkIG5vdCBiZSBwb3B1bGF0ZWQgaWYgcHJpbWFyeVNvdXJjZSA9IFRydWUsIG5vdCByZXF1aXJlZCBldmVuIGlmIHByaW1hcnlTb3VyY2UgPSBGYWxzZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZXBvcnRPcmlnaW4iIGRlc2NyaXB0aW9uPSJUaGUgc291cmNlIG9mIHRoZSBkYXRhIGZvciBhIHJlY29yZCB3aGljaCBpcyBub3QgZnJvbSBhIHByaW1hcnkgc291cmNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iTmFtZSBvZiB2YWNjaW5lIG1hbnVmYWN0dXJlci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgbG90IG51bWJlciIgZGVmaW5pdGlvbj0iTG90IG51bWJlciBvZiB0aGUgIHZhY2NpbmUgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIGV4cGlyYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB2YWNjaW5lIGJhdGNoIGV4cGlyZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJvZHkgc2l0ZSB2YWNjaW5lICB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJCb2R5IHNpdGUgd2hlcmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uU2l0ZSIgZGVzY3JpcHRpb249IlRoZSBzaXRlIGF0IHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJvdXRlIiBkZXNjcmlwdGlvbj0iVGhlIHJvdXRlIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2VRdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgdmFjY2luZSBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSBvZiB2YWNjaW5lIHByb2R1Y3QgdGhhdCB3YXMgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgZXZlbnQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gcGVyZm9ybWVkIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uLlBlcmZvcm1lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW1tdW5pemF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1tdW5pemF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJSZWFzb25zIHdoeSB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gd2h5IGEgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNTdWJwb3RlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEb3NlIHBvdGVuY3kiIGRlZmluaXRpb249IkluZGljYXRpb24gaWYgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiBCeSBkZWZhdWx0LCBhIGRvc2Ugc2hvdWxkIGJlIGNvbnNpZGVyZWQgdG8gYmUgcG90ZW50LiIgY29tbWVudD0iVHlwaWNhbGx5LCB0aGUgcmVjb2duaXRpb24gb2YgdGhlIGRvc2UgYmVpbmcgc3ViLXBvdGVudCBpcyByZXRyb3NwZWN0aXZlLCBhZnRlciB0aGUgYWRtaW5pc3RyYXRpb24gKGV4LiBub3RpZmljYXRpb24gb2YgYSBtYW51ZmFjdHVyZXIgcmVjYWxsIGFmdGVyIGFkbWluaXN0cmF0aW9uKS4gSG93ZXZlciwgaW4gdGhlIGNhc2Ugb2YgYSBwYXJ0aWFsIGFkbWluaXN0cmF0aW9uICh0aGUgcGF0aWVudCBtb3ZlcyB1bmV4cGVjdGVkbHkgYW5kIG9ubHkgc29tZSBvZiB0aGUgZG9zZSBpcyBhY3R1YWxseSBhZG1pbmlzdGVyZWQpLCBzdWJwb3RlbmN5IG1heSBiZSByZWNvZ25pemVkIGltbWVkaWF0ZWx5LCBidXQgaXQgaXMgc3RpbGwgaW1wb3J0YW50IHRvIHJlY29yZCB0aGUgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlZHVjYXRpb24iIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50ZWQgdG8gcGF0aWVudCIgZGVmaW5pdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50IChvciBndWFyZGlhbikgYXQgdGhlIHRpbWUgb2YgdmFjY2luZSBhZG1pbmlzdHJhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iaW1tLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iT25lIG9mIGRvY3VtZW50VHlwZSBvciByZWZlcmVuY2UgU0hBTEwgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkb2N1bWVudFR5cGUuZXhpc3RzKCkgb3IgcmVmZXJlbmNlLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmRpbmdTb3VyY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZ1bmRpbmcgc291cmNlIGZvciB0aGUgdmFjY2luZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgdGhlIHZhY2NpbmUgYWN0dWFsbHkgYWRtaW5pc3RlcmVkLiBUaGlzIG1heSBiZSBkaWZmZXJlbnQgdGhhbiB0aGUgcGF0aWVudCBlbGlnaWJpbGl0eSAoZS5nLiB0aGUgcGF0aWVudCBtYXkgYmUgZWxpZ2libGUgZm9yIGEgcHVibGljYWxseSBwdXJjaGFzZWQgdmFjY2luZSBidXQgZHVlIHRvIGludmVudG9yeSBpc3N1ZXMsIHZhY2NpbmUgcHVyY2hhc2VkIHdpdGggcHJpdmF0ZSBmdW5kcyB3YXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGdW5kaW5nU291cmNlIiBkZXNjcmlwdGlvbj0iVGhlIHNvdXJjZSBvZiBmdW5kaW5nIHVzZWQgdG8gcHVyY2hhc2UgdGhlIHZhY2NpbmUgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFjdGlvbiIgZGVzY3JpcHRpb249IkRldGFpbHMgb2YgYSByZWFjdGlvbiB0aGF0IGZvbGxvd3MgaW1tdW5pemF0aW9uIiBkZWZpbml0aW9uPSJDYXRlZ29yaWNhbCBkYXRhIGluZGljYXRpbmcgdGhhdCBhbiBhZHZlcnNlIGV2ZW50IGlzIGFzc29jaWF0ZWQgaW4gdGltZSB0byBhbiBpbW11bml6YXRpb24uIiBjb21tZW50PSJBIHJlYWN0aW9uIG1heSBiZSBhbiBpbmRpY2F0aW9uIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgYW5kLCBpZiB0aGlzIGlzIGRldGVybWluZWQgdG8gYmUgdGhlIGNhc2UsIGl0IHNob3VsZCBiZSByZWNvcmRlZCBhcyBhIG5ldyBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2UgaW5zdGFuY2UgYXMgbW9zdCBzeXN0ZW1zIHdpbGwgbm90IHF1ZXJ5IGFnYWluc3QgcGFzdCBJbW11bml6YXRpb24ucmVhY3Rpb24gZWxlbWVudHMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUmVhY3Rpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb3RvY29sQXBwbGllZCIgZGVzY3JpcHRpb249IlByb3RvY29sIGZvbGxvd2VkIGJ5IHRoZSBwcm92aWRlciIgZGVmaW5pdGlvbj0iVGhlIHByb3RvY29sIChzZXQgb2YgcmVjb21tZW5kYXRpb25zKSBiZWluZyBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIgd2hvIGFkbWluaXN0ZXJlZCB0aGUgZG9zZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5Qcm90b2NvbEFwcGxpZWQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5FZHVjYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvY3VtZW50VHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgZG9jdW1lbnQgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBvZiB0aGUgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHJlZmVyZW5jZSBwb2ludGVyIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgcG9pbnRlciB0byB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgZ2l2ZW4gdG8gdGhlIHBhdGllbnQgaWYgdGhlIGluZm9ybWF0aW9uIHdhcyBvbiBsaW5lLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwdWJsaWNhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHVibGljYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgd2FzIHB1Ymxpc2hlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2VudGF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50YXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgd2FzIGdpdmVuIHRvIHRoZSBwYXRpZW50LiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb24uUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCB0eXBlIG9mIHBlcmZvcm1hbmNlIHdhcyBkb25lIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHR5cGUgb2YgcGVyZm9ybWFuY2UgKGUuZy4gb3JkZXJpbmcgcHJvdmlkZXIsIGFkbWluaXN0ZXJpbmcgcHJvdmlkZXIsIGV0Yy4pLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvbkZ1bmN0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIHJvbGUgYSBwcmFjdGl0aW9uZXIgb3Igb3JnYW5pemF0aW9uIHBsYXlzIGluIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHdobyB3YXMgcGVyZm9ybWluZyIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBvciBvcmdhbml6YXRpb24gd2hvIHBlcmZvcm1lZCB0aGUgYWN0aW9uLiIgY29tbWVudD0iV2hlbiB0aGUgaW5kaXZpZHVhbCBwcmFjdGl0aW9uZXIgd2hvIHBlcmZvcm1lZCB0aGUgYWN0aW9uIGlzIGtub3duLCBpdCBpcyBiZXN0IHRvIHNlbmQuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5Qcm90b2NvbEFwcGxpZWQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB2YWNjaW5lIHNlcmllcyIgZGVmaW5pdGlvbj0iT25lIHBvc3NpYmxlIHBhdGggdG8gYWNoaWV2ZSBwcmVzdW1lZCBpbW11bml0eSBhZ2FpbnN0IGEgZGlzZWFzZSAtIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhbiBhdXRob3JpdHkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHB1Ymxpc2hpbmcgdGhlIHJlY29tbWVuZGF0aW9ucyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBhdXRob3JpdHkgd2hvIHB1Ymxpc2hlZCB0aGUgcHJvdG9jb2wgKGUuZy4gQUNJUCkgdGhhdCBpcyBiZWluZyBmb2xsb3dlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGFyZ2V0RGlzZWFzZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhY2NpbmUgcHJldmVudGF0YWJsZSBkaXNlYXNlIGJlaW5nIHRhcmdldHRlZCIgZGVmaW5pdGlvbj0iVGhlIHZhY2NpbmUgcHJldmVudGFibGUgZGlzZWFzZSB0aGUgZG9zZSBpcyBiZWluZyBhZG1pbmlzdGVyZWQgYWdhaW5zdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFyZ2V0RGlzZWFzZSIgZGVzY3JpcHRpb249IlRoZSB2YWNjaW5lIHByZXZlbnRhYmxlIGRpc2Vhc2UgdGhlIGRvc2UgaXMgYmVpbmcgYWRtaW5pc3RlcmVkIGZvci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZU51bWJlciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEb3NlIG51bWJlciB3aXRoaW4gc2VyaWVzIiBkZWZpbml0aW9uPSJOb21pbmFsIHBvc2l0aW9uIGluIGEgc2VyaWVzLiIgY29tbWVudD0iVGhlIHVzZSBvZiBhbiBpbnRlZ2VyIGlzIHByZWZlcnJlZCBpZiBrbm93bi4gQSBzdHJpbmcgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlcyB3aGVyZSBhbiBpbnRlZ2VyIGlzIG5vdCBhdmFpbGFibGUgKHN1Y2ggYXMgd2hlbiBkb2N1bWVudGluZyBhIHJlY3VycmluZyBib29zdGVyIGRvc2UpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWVzRG9zZXMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIGZvciBpbW11bml0eSIgZGVmaW5pdGlvbj0iVGhlIHJlY29tbWVuZGVkIG51bWJlciBvZiBkb3NlcyB0byBhY2hpZXZlIGltbXVuaXR5LiIgY29tbWVudD0iVGhlIHVzZSBvZiBhbiBpbnRlZ2VyIGlzIHByZWZlcnJlZCBpZiBrbm93bi4gQSBzdHJpbmcgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlcyB3aGVyZSBhbiBpbnRlZ2VyIGlzIG5vdCBhdmFpbGFibGUgKHN1Y2ggYXMgd2hlbiBkb2N1bWVudGluZyBhIHJlY3VycmluZyBib29zdGVyIGRvc2UpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uLlJlYWN0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVhY3Rpb24gc3RhcnRlZCIgZGVmaW5pdGlvbj0iRGF0ZSBvZiByZWFjdGlvbiB0byB0aGUgaW1tdW5pemF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiByZWFjdGlvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBvZiB0aGUgcmVhY3Rpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNlbGYtcmVwb3J0ZWQgcmVhY3Rpb24iIGRlZmluaXRpb249IlNlbGYtcmVwb3J0ZWQgaW5kaWNhdG9yLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbkV2YWx1YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWltbXVuaXphdGlvbmV2YWx1YXRpb24iIGxhYmVsPSJRSUNvcmUgSW1tdW5pemF0aW9uRXZhbHVhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idGFyZ2V0RGlzZWFzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgaW1tdW5pemF0aW9uIGV2YWx1YXRpb24gcmVjb3JkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uRXZhbHVhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBldmFsdWF0aW9uIG9mIHRoZSB2YWNjaW5hdGlvbiBhZG1pbmlzdHJhdGlvbiBldmVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uRXZhbHVhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGV2YWx1YXRpb24gYmVpbmcgZG9uZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoaXMgZXZhbHVhdGlvbiBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIGZvciB3aG9tIHRoZSBldmFsdWF0aW9uIGlzIGJlaW5nIGRvbmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgZXZhbHVhdGlvbiB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgZXZhbHVhdGlvbiBvZiB0aGUgdmFjY2luZSBhZG1pbmlzdHJhdGlvbiBldmVudCB3YXMgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHVibGlzaGluZyB0aGUgcmVjb21tZW5kYXRpb25zIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGF1dGhvcml0eSB3aG8gcHVibGlzaGVkIHRoZSBwcm90b2NvbCAoZS5nLiBBQ0lQKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0YXJnZXREaXNlYXNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFdmFsdWF0aW9uIHRhcmdldCBkaXNlYXNlIiBkZWZpbml0aW9uPSJUaGUgdmFjY2luZSBwcmV2ZW50YWJsZSBkaXNlYXNlIHRoZSBkb3NlIGlzIGJlaW5nIGV2YWx1YXRlZCBhZ2FpbnN0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW1tdW5pemF0aW9uRXZlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW1tdW5pemF0aW9uIGJlaW5nIGV2YWx1YXRlZCIgZGVmaW5pdGlvbj0iVGhlIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZXZlbnQgYmVpbmcgZXZhbHVhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhdHVzIG9mIHRoZSBkb3NlIHJlbGF0aXZlIHRvIHB1Ymxpc2hlZCByZWNvbW1lbmRhdGlvbnMiIGRlZmluaXRpb249IkluZGljYXRlcyBpZiB0aGUgZG9zZSBpcyB2YWxpZCBvciBub3QgdmFsaWQgd2l0aCByZXNwZWN0IHRvIHRoZSBwdWJsaXNoZWQgcmVjb21tZW5kYXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgdGhlIGRvc2Ugc3RhdHVzIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhbiBleHBsYW5hdGlvbiBhcyB0byB3aHkgdGhlIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZXZlbnQgaXMgdmFsaWQgb3Igbm90IHJlbGF0aXZlIHRvIHRoZSBwdWJsaXNoZWQgcmVjb21tZW5kYXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmFsdWF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmFsdWF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgdmFjY2luZSBzZXJpZXMiIGRlZmluaXRpb249Ik9uZSBwb3NzaWJsZSBwYXRoIHRvIGFjaGlldmUgcHJlc3VtZWQgaW1tdW5pdHkgYWdhaW5zdCBhIGRpc2Vhc2UgLSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gYXV0aG9yaXR5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlTnVtYmVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRvc2UgbnVtYmVyIHdpdGhpbiBzZXJpZXMiIGRlZmluaXRpb249Ik5vbWluYWwgcG9zaXRpb24gaW4gYSBzZXJpZXMuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXNEb3NlcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgZm9yIGltbXVuaXR5IiBkZWZpbml0aW9uPSJUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIHRvIGFjaGlldmUgaW1tdW5pdHkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25FdmFsdWF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1pbW11bml6YXRpb25ub3Rkb25lIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbiBOb3QgRG9uZSIgdGFyZ2V0PSJJbW11bml6YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InZhY2NpbmVDb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBpbW11bml6YXRpb24gcmVjb3JkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IG5vdC1kb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIiBjb21tZW50PSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBpbW11bml6YXRpb24gaGFzIGJlZW4gY29tcGxldGVkIG9yIG5vdCBkb25lLiAgVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBub3QgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gdGhlIGltbXVuaXphdGlvbiBldmVudCB3YXMgbm90IHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgdGhlIHN0YXR1cyBvZiAmcXVvdDtub3QtZG9uZSZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgaW1tdW5pemF0aW9uIGV2ZW50IGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgc2VydmljZSB3YXMgbm90IHJlcXVlc3RlZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWNjaW5lQ29kZSIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50LnZhY2NpbmVDb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IlZhY2NpbmUgUHJvZHVjdCBUeXBlIChiaW5kIHRvIENWWCkiIGRlZmluaXRpb249IlZhY2NpbmUgdGhhdCB3YXMgYWRtaW5pc3RlcmVkIG9yIHdhcyB0byBiZSBhZG1pbmlzdGVyZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBpbW11bml6YXRpb24gd2FzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSB2aXNpdCBvciBhZG1pc3Npb24gb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIHRoZSBpbW11bml6YXRpb24gd2FzIHBlcmZvcm1lZCBhcyBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYWRtaW5pc3RlcmVkIG9yIHdhcyB0byBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJXaGVuIGltbXVuaXphdGlvbnMgYXJlIGdpdmVuIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBzaG91bGQgYWx3YXlzIGJlIGtub3duLiAgIFdoZW4gaW1tdW5pemF0aW9ucyBhcmUgcGF0aWVudCByZXBvcnRlZCwgYSBzcGVjaWZpYyBkYXRlIG1pZ2h0IG5vdCBiZSBrbm93bi4gIEFsdGhvdWdoIHBhcnRpYWwgZGF0ZXMgYXJlIGFsbG93ZWQsIGFuIGFkdWx0IHBhdGllbnQgbWlnaHQgbm90IGJlIGFibGUgdG8gcmVjYWxsIHRoZSB5ZWFyIGEgY2hpbGRob29kIGltbXVuaXphdGlvbiB3YXMgZ2l2ZW4uIEFuIGV4YWN0IGRhdGUgaXMgYWx3YXlzIHByZWZlcmFibGUsIGJ1dCB0aGUgdXNlIG9mIHRoZSBTdHJpbmcgZGF0YSB0eXBlIGlzIGFjY2VwdGFibGUgd2hlbiBhbiBleGFjdCBkYXRlIGlzIG5vdCBrbm93bi4gQSBzbWFsbCBudW1iZXIgb2YgdmFjY2luZXMgKGUuZy4gbGl2ZSBvcmFsIHR5cGhvaWQgdmFjY2luZSkgYXJlIGdpdmVuIGFzIGEgc2VyaWVzIG9mIHBhdGllbnQgc2VsZi1hZG1pbmlzdGVyZWQgZG9zZSBvdmVyIGEgc3BhbiBvZiB0aW1lLiBJbiBjYXNlcyBsaWtlIHRoaXMsIG9mdGVuLCBvbmx5IHRoZSBmaXJzdCBkb3NlICh0eXBpY2FsbHkgYSBwcm92aWRlciBzdXBlcnZpc2VkIGRvc2UpIGlzIHJlY29yZGVkIHdpdGggdGhlIG9jY3VycmVuY2UgaW5kaWNhdGluZyB0aGUgZGF0ZS90aW1lIG9mIHRoZSBmaXJzdCBkb3NlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSBzdWJqZWN0J3MgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgaW1tdW5pemF0aW9uIHdhcyBmaXJzdCBjYXB0dXJlZCBpbiB0aGUgcmVjb3JkIC0gcG90ZW50aWFsbHkgc2lnbmlmaWNhbnRseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIGNvbnRleHQgdGhlIGRhdGEgd2FzIHJlY29yZGVkIGluIiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHJlY29yZCBpcyBiYXNlZCBvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBwZXJzb24gd2hvIGFkbWluaXN0ZXJlZCB0aGUgdmFjY2luZS4gVGhpcyByZWZsZWN0cyB0aGUgY29udGV4dCB1bmRlciB3aGljaCB0aGUgZGF0YSB3YXMgb3JpZ2luYWxseSByZWNvcmRlZC4iIGNvbW1lbnQ9IlJlZmxlY3RzIHRoZSDigJxyZWxpYWJpbGl0eeKAnSBvZiB0aGUgY29udGVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydE9yaWdpbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgYSBzZWNvbmRhcmlseSByZXBvcnRlZCByZWNvcmQiIGRlZmluaXRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgd2hlbiB0aGUgcmVwb3J0IG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQgaXMgbm90IGJhc2VkIG9uIGluZm9ybWF0aW9uIGZyb20gdGhlIHBlcnNvbiB3aG8gYWRtaW5pc3RlcmVkIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iU2hvdWxkIG5vdCBiZSBwb3B1bGF0ZWQgaWYgcHJpbWFyeVNvdXJjZSA9IFRydWUsIG5vdCByZXF1aXJlZCBldmVuIGlmIHByaW1hcnlTb3VyY2UgPSBGYWxzZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZXBvcnRPcmlnaW4iIGRlc2NyaXB0aW9uPSJUaGUgc291cmNlIG9mIHRoZSBkYXRhIGZvciBhIHJlY29yZCB3aGljaCBpcyBub3QgZnJvbSBhIHByaW1hcnkgc291cmNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW51ZmFjdHVyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249Ik5hbWUgb2YgdmFjY2luZSBtYW51ZmFjdHVyZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvdE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBsb3QgbnVtYmVyIiBkZWZpbml0aW9uPSJMb3QgbnVtYmVyIG9mIHRoZSAgdmFjY2luZSBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcmF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgZXhwaXJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYmF0Y2ggZXhwaXJlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIHZhY2NpbmUgIHdhcyBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IkJvZHkgc2l0ZSB3aGVyZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uU2l0ZSIgZGVzY3JpcHRpb249IlRoZSBzaXRlIGF0IHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25Sb3V0ZSIgZGVzY3JpcHRpb249IlRoZSByb3V0ZSBieSB3aGljaCB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlUXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIHZhY2NpbmUgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2YgdmFjY2luZSBwcm9kdWN0IHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBwZXJmb3JtZWQgdGhlIGltbXVuaXphdGlvbiBldmVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUGVyZm9ybWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbW11bml6YXRpb24gbm90ZXMiIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpbW11bml6YXRpb24gdGhhdCBpcyBub3QgY29udmV5ZWQgYnkgdGhlIG90aGVyIGF0dHJpYnV0ZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlJlYXNvbnMgd2h5IHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gd2h5IGEgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNTdWJwb3RlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEb3NlIHBvdGVuY3kiIGRlZmluaXRpb249IkluZGljYXRpb24gaWYgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiBCeSBkZWZhdWx0LCBhIGRvc2Ugc2hvdWxkIGJlIGNvbnNpZGVyZWQgdG8gYmUgcG90ZW50LiIgY29tbWVudD0iVHlwaWNhbGx5LCB0aGUgcmVjb2duaXRpb24gb2YgdGhlIGRvc2UgYmVpbmcgc3ViLXBvdGVudCBpcyByZXRyb3NwZWN0aXZlLCBhZnRlciB0aGUgYWRtaW5pc3RyYXRpb24gKGV4LiBub3RpZmljYXRpb24gb2YgYSBtYW51ZmFjdHVyZXIgcmVjYWxsIGFmdGVyIGFkbWluaXN0cmF0aW9uKS4gSG93ZXZlciwgaW4gdGhlIGNhc2Ugb2YgYSBwYXJ0aWFsIGFkbWluaXN0cmF0aW9uICh0aGUgcGF0aWVudCBtb3ZlcyB1bmV4cGVjdGVkbHkgYW5kIG9ubHkgc29tZSBvZiB0aGUgZG9zZSBpcyBhY3R1YWxseSBhZG1pbmlzdGVyZWQpLCBzdWJwb3RlbmN5IG1heSBiZSByZWNvZ25pemVkIGltbWVkaWF0ZWx5LCBidXQgaXQgaXMgc3RpbGwgaW1wb3J0YW50IHRvIHJlY29yZCB0aGUgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlZHVjYXRpb24iIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50ZWQgdG8gcGF0aWVudCIgZGVmaW5pdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50IChvciBndWFyZGlhbikgYXQgdGhlIHRpbWUgb2YgdmFjY2luZSBhZG1pbmlzdHJhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iaW1tLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iT25lIG9mIGRvY3VtZW50VHlwZSBvciByZWZlcmVuY2UgU0hBTEwgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkb2N1bWVudFR5cGUuZXhpc3RzKCkgb3IgcmVmZXJlbmNlLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmRpbmdTb3VyY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZ1bmRpbmcgc291cmNlIGZvciB0aGUgdmFjY2luZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgdGhlIHZhY2NpbmUgYWN0dWFsbHkgYWRtaW5pc3RlcmVkLiBUaGlzIG1heSBiZSBkaWZmZXJlbnQgdGhhbiB0aGUgcGF0aWVudCBlbGlnaWJpbGl0eSAoZS5nLiB0aGUgcGF0aWVudCBtYXkgYmUgZWxpZ2libGUgZm9yIGEgcHVibGljYWxseSBwdXJjaGFzZWQgdmFjY2luZSBidXQgZHVlIHRvIGludmVudG9yeSBpc3N1ZXMsIHZhY2NpbmUgcHVyY2hhc2VkIHdpdGggcHJpdmF0ZSBmdW5kcyB3YXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGdW5kaW5nU291cmNlIiBkZXNjcmlwdGlvbj0iVGhlIHNvdXJjZSBvZiBmdW5kaW5nIHVzZWQgdG8gcHVyY2hhc2UgdGhlIHZhY2NpbmUgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFjdGlvbiIgZGVzY3JpcHRpb249IkRldGFpbHMgb2YgYSByZWFjdGlvbiB0aGF0IGZvbGxvd3MgaW1tdW5pemF0aW9uIiBkZWZpbml0aW9uPSJDYXRlZ29yaWNhbCBkYXRhIGluZGljYXRpbmcgdGhhdCBhbiBhZHZlcnNlIGV2ZW50IGlzIGFzc29jaWF0ZWQgaW4gdGltZSB0byBhbiBpbW11bml6YXRpb24uIiBjb21tZW50PSJBIHJlYWN0aW9uIG1heSBiZSBhbiBpbmRpY2F0aW9uIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgYW5kLCBpZiB0aGlzIGlzIGRldGVybWluZWQgdG8gYmUgdGhlIGNhc2UsIGl0IHNob3VsZCBiZSByZWNvcmRlZCBhcyBhIG5ldyBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2UgaW5zdGFuY2UgYXMgbW9zdCBzeXN0ZW1zIHdpbGwgbm90IHF1ZXJ5IGFnYWluc3QgcGFzdCBJbW11bml6YXRpb24ucmVhY3Rpb24gZWxlbWVudHMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uLlJlYWN0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm90b2NvbEFwcGxpZWQiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIiIGRlZmluaXRpb249IlRoZSBwcm90b2NvbCAoc2V0IG9mIHJlY29tbWVuZGF0aW9ucykgYmVpbmcgZm9sbG93ZWQgYnkgdGhlIHByb3ZpZGVyIHdobyBhZG1pbmlzdGVyZWQgdGhlIGRvc2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uLlByb3RvY29sQXBwbGllZCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1tdW5pemF0aW9ucmVjb21tZW5kYXRpb24iIGxhYmVsPSJRSUNvcmUgSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InJlY29tbWVuZGF0aW9uLnZhY2NpbmVDb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBwYXJ0aWN1bGFyIHJlY29tbWVuZGF0aW9uIHJlY29yZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGlzIHByb2ZpbGUgaXMgZm9yIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB0aGUgcmVjb21tZW5kYXRpb24ocykgYXJlIGZvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvbW1lbmRhdGlvbihzKSBjcmVhdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgaW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uKHMpIHdlcmUgY3JlYXRlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHJvdG9jb2wiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgYXV0aG9yaXR5IHdobyBwdWJsaXNoZWQgdGhlIHByb3RvY29sIChlLmcuIEFDSVApLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29tbWVuZGF0aW9uIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiByZWNvbW1lbmRhdGlvbnMiIGRlZmluaXRpb249IlZhY2NpbmUgYWRtaW5pc3RyYXRpb24gcmVjb21tZW5kYXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Imltci0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik9uZSBvZiB2YWNjaW5lQ29kZSBvciB0YXJnZXREaXNlYXNlIFNIQUxMIGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFjY2luZUNvZGUuZXhpc3RzKCkgb3IgdGFyZ2V0RGlzZWFzZS5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb24uUmVjb21tZW5kYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhY2NpbmVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSAgb3IgdmFjY2luZSBncm91cCByZWNvbW1lbmRhdGlvbiBhcHBsaWVzIHRvIiBkZWZpbml0aW9uPSJWYWNjaW5lKHMpIG9yIHZhY2NpbmUgZ3JvdXAgdGhhdCBwZXJ0YWluIHRvIHRoZSByZWNvbW1lbmRhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDVlggVmFjY2luZXMgQWRtaW5pc3RlcmVkIFZhY2NpbmUgU2V0IiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldERpc2Vhc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRpc2Vhc2UgdG8gYmUgaW1tdW5pemVkIGFnYWluc3QiIGRlZmluaXRpb249IlRoZSB0YXJnZXRlZCBkaXNlYXNlIGZvciB0aGUgcmVjb21tZW5kYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFyZ2V0RGlzZWFzZSIgZGVzY3JpcHRpb249IlRoZSBkaXNlYXNlIHRoYXQgdGhlIHJlY29tbWVuZGVkIHZhY2NpbmF0aW9uIHRhcmdldHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyYWluZGljYXRlZFZhY2NpbmVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSB3aGljaCBpcyBjb250cmFpbmRpY2F0ZWQgdG8gZnVsZmlsbCB0aGUgcmVjb21tZW5kYXRpb24iIGRlZmluaXRpb249IlZhY2NpbmUocykgd2hpY2ggc2hvdWxkIG5vdCBiZSB1c2VkIHRvIGZ1bGZpbGwgdGhlIHJlY29tbWVuZGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJWYWNjaW5lQ29kZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIHZhY2NpbmUgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb3JlY2FzdFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSByZWNvbW1lbmRhdGlvbiBzdGF0dXMiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGF0aWVudCBzdGF0dXMgd2l0aCByZXNwZWN0IHRvIHRoZSBwYXRoIHRvIGltbXVuaXR5IGZvciB0aGUgdGFyZ2V0IGRpc2Vhc2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCdzIHN0YXR1cyB3aXRoIHJlc3BlY3QgdG8gYSB2YWNjaW5hdGlvbiBwcm90b2NvbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yZWNhc3RSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIGFkbWluaXN0cmF0aW9uIHN0YXR1cyByZWFzb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gZm9yIHRoZSBhc3NpZ25lZCBmb3JlY2FzdCBzdGF0dXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiBmb3IgdGhlIHBhdGllbnQncyBzdGF0dXMgd2l0aCByZXNwZWN0IHRvIGEgdmFjY2luYXRpb24gcHJvdG9jb2wuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVDcml0ZXJpb24iIGRlc2NyaXB0aW9uPSJEYXRlcyBnb3Zlcm5pbmcgcHJvcG9zZWQgaW1tdW5pemF0aW9uIiBkZWZpbml0aW9uPSJWYWNjaW5lIGRhdGUgcmVjb21tZW5kYXRpb25zLiAgRm9yIGV4YW1wbGUsIGVhcmxpZXN0IGRhdGUgdG8gYWRtaW5pc3RlciwgbGF0ZXN0IGRhdGUgdG8gYWRtaW5pc3RlciwgZXRjLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uLkRhdGVDcml0ZXJpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBkZXRhaWxzIiBkZWZpbml0aW9uPSJDb250YWlucyB0aGUgZGVzY3JpcHRpb24gYWJvdXQgdGhlIHByb3RvY29sIHVuZGVyIHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB2YWNjaW5hdGlvbiBzZXJpZXMiIGRlZmluaXRpb249Ik9uZSBwb3NzaWJsZSBwYXRoIHRvIGFjaGlldmUgcHJlc3VtZWQgaW1tdW5pdHkgYWdhaW5zdCBhIGRpc2Vhc2UgLSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gYXV0aG9yaXR5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlTnVtYmVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIGRvc2UgbnVtYmVyIHdpdGhpbiBzZXJpZXMiIGRlZmluaXRpb249Ik5vbWluYWwgcG9zaXRpb24gb2YgdGhlIHJlY29tbWVuZGVkIGRvc2UgaW4gYSBzZXJpZXMgKGUuZy4gZG9zZSAyIGlzIHRoZSBuZXh0IHJlY29tbWVuZGVkIGRvc2UpLiIgY29tbWVudD0iVGhlIHVzZSBvZiBhbiBpbnRlZ2VyIGlzIHByZWZlcmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVyZ2VyIGlzIG5vdCBhdmFpbGFibGUgKHN1Y2ggYXMgd2hlbiBkb2N1bWVudGluZyBhIHJlY3VycmluZyBib29zdGVyIGRvc2UpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllc0Rvc2VzIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIG51bWJlciBvZiBkb3NlcyBmb3IgaW1tdW5pdHkiIGRlZmluaXRpb249IlRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgdG8gYWNoaWV2ZSBpbW11bml0eS4iIGNvbW1lbnQ9IlRoZSB1c2Ugb2YgYW4gaW50ZWdlciBpcyBwcmVmZXJlZCBpZiBrbm93bi4gQSBzdHJpbmcgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlcyB3aGVyZSBhbiBpbnRlcmdlciBpcyBub3QgYXZhaWxhYmxlIChzdWNoIGFzIHdoZW4gZG9jdW1lbnRpbmcgYSByZWN1cnJpbmcgYm9vc3RlciBkb3NlKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbW11bml6YXRpb24iIGRlc2NyaXB0aW9uPSJQYXN0IGltbXVuaXphdGlvbnMgc3VwcG9ydGluZyByZWNvbW1lbmRhdGlvbiIgZGVmaW5pdGlvbj0iSW1tdW5pemF0aW9uIGV2ZW50IGhpc3RvcnkgYW5kL29yIGV2YWx1YXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgc3RhdHVzIGFuZCByZWNvbW1lbmRhdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ1BhdGllbnRJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IlBhdGllbnQgb2JzZXJ2YXRpb25zIHN1cHBvcnRpbmcgcmVjb21tZW5kYXRpb24iIGRlZmluaXRpb249IlBhdGllbnQgSW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgc3RhdHVzIGFuZCByZWNvbW1lbmRhdGlvbi4gIFRoaXMgaW5jbHVkZXMgcGF0aWVudCBvYnNlcnZhdGlvbnMsIGFkdmVyc2UgcmVhY3Rpb25zIGFuZCBhbGxlcmd5L2ludG9sZXJhbmNlIGluZm9ybWF0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbi5EYXRlQ3JpdGVyaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGRhdGUiIGRlZmluaXRpb249IkRhdGUgY2xhc3NpZmljYXRpb24gb2YgcmVjb21tZW5kYXRpb24uICBGb3IgZXhhbXBsZSwgZWFybGllc3QgZGF0ZSB0byBnaXZlLCBsYXRlc3QgZGF0ZSB0byBnaXZlLCBldGMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb25EYXRlQ3JpdGVyaW9uIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmllcyBkYXRlIGNyaXRlcmlvbiB3aXRoIHJlc3BlY3QgdG8gY29udmV5aW5nIGluZm9ybWF0aW9uIGFib3V0IGEgcGF0aWVudCdzIHZhY2NpbmF0aW9uIHN0YXR1cyAoZS5nLiBkdWUgZGF0ZSwgbGF0ZXN0IHRvIGdpdmUgZGF0ZSwgZXRjLikuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIGRhdGUiIGRlZmluaXRpb249IlRoZSBkYXRlIHdob3NlIG1lYW5pbmcgaXMgc3BlY2lmaWVkIGJ5IGRhdGVDcml0ZXJpb24uY29kZS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IklzRWxlY3RpdmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWlzRWxlY3RpdmUiIGxhYmVsPSJRSUNvcmUgSXNFbGVjdGl2ZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTGFib3JhdG9yeVJlc3VsdE9ic2VydmF0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1vYnNlcnZhdGlvbi1sYWIiIGxhYmVsPSJRSUNvcmUgTGFib3JhdG9yeSBSZXN1bHQgT2JzZXJ2YXRpb24iIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IkxhYm9yYXRvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkxhYm9yYXRvcnkgVGVzdCBOYW1lIiBkZWZpbml0aW9uPSJUaGUgdGVzdCB0aGF0IHdhcyBwZXJmb3JtZWQuICBBIExPSU5DICoqU0hBTEwqKiBiZSB1c2VkIGlmIHRoZSBjb25jZXB0IGlzIHByZXNlbnQgaW4gTE9JTkMuIiBjb21tZW50PSJUaGUgdHlwaWNhbCBwYXR0ZXJucyBmb3IgY29kZXMgYXJlOiAgMSkgIGEgTE9JTkMgY29kZSBlaXRoZXIgYXMgYSB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuICBXaGVuIHVzaW5nIExPSU5DICwgVXNlIGVpdGhlciB0aGUgU0hPUlROQU1FIG9yIExPTkdfQ09NTU9OX05BTUUgZmllbGQgZm9yIHRoZSBkaXNwbGF5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTE9JTkMgY29kZXMiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iRm9yIGxhYiB0ZXN0cyB0aGlzIGlzIHRoZSBzcGVjaW1lbiBjb2xsZWN0aW9uIGRhdGUuICBGb3IgQXNrIGF0IE9yZGVyIEVudHJ5IFF1ZXN0aW9ucyAoQU9FKSdzIHRoaXMgaXMgdGhlIGRhdGUgdGhlIHF1ZXN0aW9uIHdhcyBhc2tlZC4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlc3VsdCBWYWx1ZSIgZGVmaW5pdGlvbj0iVGhlIExhYm9yYXRvcnkgcmVzdWx0IHZhbHVlLiAgSWYgYSBjb2RlZCB2YWx1ZSwgIHRoZSB2YWx1ZUNvZGVhYmxlQ29uY2VwdC5jb2RlICoqU0hPVUxEKiogYmUgc2VsZWN0ZWQgZnJvbSBbU05PTUVEIENUXShodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L3VzbGFiLW9icy1jb2RlZHJlc3VsdHMpIGlmIHRoZSBjb25jZXB0IGV4aXN0cy4gSWYgYSBudW1lcmljIHZhbHVlLCB2YWx1ZVF1YW50aXR5LmNvZGUgKipTSEFMTCoqIGJlIHNlbGVjdGVkIGZyb20gW1VDVU1dKGh0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcpLiAgQSBGSElSIFtVQ1VNIENvZGVzIHZhbHVlIHNldF0oaHR0cDovL2hsNy5vcmcvZmhpci9TVFUzL3ZhbHVlc2V0LXVjdW0tdW5pdHMuaHRtbCkgdGhhdCBkZWZpbmVzIGFsbCBVQ1VNIGNvZGVzIGlzIGluIHRoZSBGSElSIHNwZWNpZmljYXRpb24uIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS00IiBzZXZlcml0eT0iV0FSTklORyIgbWVzc2FnZT0iU0hPVUxEIHVzZSBTbm9tZWQgQ1QgZm9yIGNvZGVkIFJlc3VsdHMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWVDb2RlYWJsZUNvbmNlcHQuY29kaW5nLnN5c3RlbS5lbXB0eSgpIG9yIHZhbHVlQ29kZWFibGVDb25jZXB0LmNvZGluZy5zeXN0ZW0gPSAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCciLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iU0hBTEwgdXNlIFVDVU0gZm9yIGNvZGVkIHF1YW50aXR5IHVuaXRzLiI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZVF1YW50aXR5LnN5c3RlbS5lbXB0eSgpIG9yIHZhbHVlUXVhbnRpdHkuc3lzdGVtID0gJ2h0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcnIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMaW5rVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTG9jYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWxvY2F0aW9uIiBsYWJlbD0iUUlDb3JlIExvY2F0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBjb2RlIG9yIG51bWJlciBpZGVudGlmeWluZyB0aGUgbG9jYXRpb24gdG8gaXRzIHVzZXJzIiBkZWZpbml0aW9uPSJVbmlxdWUgY29kZSBvciBudW1iZXIgaWRlbnRpZnlpbmcgdGhlIGxvY2F0aW9uIHRvIGl0cyB1c2Vycy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IHN1c3BlbmRlZCB8IGluYWN0aXZlIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIHByb3BlcnR5IGNvdmVycyB0aGUgZ2VuZXJhbCBhdmFpbGFiaWxpdHkgb2YgdGhlIHJlc291cmNlLCBub3QgdGhlIGN1cnJlbnQgdmFsdWUgd2hpY2ggbWF5IGJlIGNvdmVyZWQgYnkgdGhlIG9wZXJhdGlvblN0YXR1cywgb3IgYnkgYSBzY2hlZHVsZS9zbG90cyBpZiB0aGV5IGFyZSBjb25maWd1cmVkIGZvciB0aGUgbG9jYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvY2F0aW9uIGlzIHN0aWxsIGluIHVzZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9wZXJhdGlvbmFsU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgb3BlcmF0aW9uYWwgc3RhdHVzIG9mIHRoZSBsb2NhdGlvbiAodHlwaWNhbGx5IG9ubHkgZm9yIGEgYmVkL3Jvb20pIiBkZWZpbml0aW9uPSJUaGUgb3BlcmF0aW9uYWwgc3RhdHVzIGNvdmVycyBvcGVyYXRpb24gdmFsdWVzIG1vc3QgcmVsZXZhbnQgdG8gYmVkcyAoYnV0IGNhbiBhbHNvIGFwcGx5IHRvIHJvb21zL3VuaXRzL2NoYWlycy9ldGMuIHN1Y2ggYXMgYW4gaXNvbGF0aW9uIHVuaXQvZGlhbHlzaXMgY2hhaXIpLiBUaGlzIHR5cGljYWxseSBjb3ZlcnMgY29uY2VwdHMgc3VjaCBhcyBjb250YW1pbmF0aW9uLCBob3VzZWtlZXBpbmcsIGFuZCBvdGhlciBhY3Rpdml0aWVzIGxpa2UgbWFpbnRlbmFuY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT3BlcmF0aW9uYWxTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgb3BlcmF0aW9uYWwgc3RhdHVzIGlmIHRoZSBsb2NhdGlvbiAod2hlcmUgdHlwaWNhbGx5IGEgYmVkL3Jvb20pLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgdGhlIGxvY2F0aW9uIGFzIHVzZWQgYnkgaHVtYW5zIiBkZWZpbml0aW9uPSJOYW1lIG9mIHRoZSBsb2NhdGlvbiBhcyB1c2VkIGJ5IGh1bWFucy4gRG9lcyBub3QgbmVlZCB0byBiZSB1bmlxdWUuIiBjb21tZW50PSJJZiB0aGUgbmFtZSBvZiBhIGxvY2F0aW9uIGNoYW5nZXMsIGNvbnNpZGVyIHB1dHRpbmcgdGhlIG9sZCBuYW1lIGluIHRoZSBhbGlhcyBjb2x1bW4gc28gdGhhdCBpdCBjYW4gc3RpbGwgYmUgbG9jYXRlZCB0aHJvdWdoIHNlYXJjaGVzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWxpYXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGFsdGVybmF0ZSBuYW1lcyB0aGF0IHRoZSBsb2NhdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzLCBpbiB0aGUgcGFzdCIgZGVmaW5pdGlvbj0iQSBsaXN0IG9mIGFsdGVybmF0ZSBuYW1lcyB0aGF0IHRoZSBsb2NhdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzLCBpbiB0aGUgcGFzdC4iIGNvbW1lbnQ9IlRoZXJlIGFyZSBubyBkYXRlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGFsaWFzL2hpc3RvcmljIG5hbWVzLCBhcyB0aGlzIGlzIG5vdCBpbnRlbmRlZCB0byB0cmFjayB3aGVuIG5hbWVzIHdlcmUgdXNlZCwgYnV0IHRvIGFzc2lzdCBpbiBzZWFyY2hpbmcgc28gdGhhdCBvbGRlciBuYW1lcyBjYW4gc3RpbGwgcmVzdWx0IGluIGlkZW50aWZ5aW5nIHRoZSBsb2NhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGxvY2F0aW9uIHRoYXQgY291bGQgYmUgZGlzcGxheWVkIGFzIGZ1cnRoZXIgaW5mb3JtYXRpb24gdG8gaWRlbnRpZnkgdGhlIGxvY2F0aW9uIGJleW9uZCBpdHMgbmFtZSIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIExvY2F0aW9uLCB3aGljaCBoZWxwcyBpbiBmaW5kaW5nIG9yIHJlZmVyZW5jaW5nIHRoZSBwbGFjZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Mb2NhdGlvbk1vZGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW5zdGFuY2UgfCBraW5kIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBhIHJlc291cmNlIGluc3RhbmNlIHJlcHJlc2VudHMgYSBzcGVjaWZpYyBsb2NhdGlvbiBvciBhIGNsYXNzIG9mIGxvY2F0aW9ucy4iIGNvbW1lbnQ9IlRoaXMgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2Ugd2hldGhlciBvciBub3QgdGhlIGxvY2F0aW9uIGlzIGEgY2xhc3Mgb2YgbG9jYXRpb25zIGNoYW5nZXMgaG93IGl0IGNhbiBiZSB1c2VkIGFuZCB1bmRlcnN0b29kLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJMb2NhdGlvbk1vZGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBhIHJlc291cmNlIGluc3RhbmNlIHJlcHJlc2VudHMgYSBzcGVjaWZpYyBsb2NhdGlvbiBvciBhIGNsYXNzIG9mIGxvY2F0aW9ucy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGZ1bmN0aW9uIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIGZ1bmN0aW9uIHBlcmZvcm1lZCBhdCB0aGUgbG9jYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSByb2xlIG9mIGEgcGxhY2UgdGhhdCBmdXJ0aGVyIGNsYXNzaWZpZXMgdGhlIHNldHRpbmcgKGUuZy4sIGFjY2lkZW50IHNpdGUsIHJvYWQgc2lkZSwgd29yayBzaXRlLCBjb21tdW5pdHkgbG9jYXRpb24pIGluIHdoaWNoIHNlcnZpY2VzIGFyZSBkZWxpdmVyZWQuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgb2YgdGhlIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgY29udGFjdCBkZXRhaWxzIG9mIGNvbW11bmljYXRpb24gZGV2aWNlcyBhdmFpbGFibGUgYXQgdGhlIGxvY2F0aW9uLiBUaGlzIGNhbiBpbmNsdWRlIHBob25lIG51bWJlcnMsIGZheCBudW1iZXJzLCBtb2JpbGUgbnVtYmVycywgZW1haWwgYWRkcmVzc2VzIGFuZCB3ZWIgc2l0ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiBkZXNjcmlwdGlvbj0iUGh5c2ljYWwgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIGxvY2F0aW9uLiIgY29tbWVudD0iQWRkaXRpb25hbCBhZGRyZXNzZXMgc2hvdWxkIGJlIHJlY29yZGVkIHVzaW5nIGFub3RoZXIgaW5zdGFuY2Ugb2YgdGhlIExvY2F0aW9uIHJlc291cmNlLCBvciB2aWEgdGhlIE9yZ2FuaXphdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBoeXNpY2FsVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGh5c2ljYWwgZm9ybSBvZiB0aGUgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIGZvcm0gb2YgdGhlIGxvY2F0aW9uLCBlLmcuIGJ1aWxkaW5nLCByb29tLCB2ZWhpY2xlLCByb2FkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBoeXNpY2FsVHlwZSIgZGVzY3JpcHRpb249IlBoeXNpY2FsIGZvcm0gb2YgdGhlIGxvY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwb3NpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5Mb2NhdGlvbi5Qb3NpdGlvbiIgZGVzY3JpcHRpb249IlRoZSBhYnNvbHV0ZSBnZW9ncmFwaGljIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWJzb2x1dGUgZ2VvZ3JhcGhpYyBsb2NhdGlvbiBvZiB0aGUgTG9jYXRpb24sIGV4cHJlc3NlZCB1c2luZyB0aGUgV0dTODQgZGF0dW0gKFRoaXMgaXMgdGhlIHNhbWUgY28tb3JkaW5hdGUgc3lzdGVtIHVzZWQgaW4gS01MKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWFuYWdpbmdPcmdhbml6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciBwcm92aXNpb25pbmcgYW5kIHVwa2VlcCIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIHByb3Zpc2lvbmluZyBhbmQgdXBrZWVwIG9mIHRoZSBsb2NhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY2FuIGFsc28gYmUgdXNlZCBhcyB0aGUgcGFydCBvZiB0aGUgb3JnYW5pemF0aW9uIGhpZXJhcmNoeSB3aGVyZSB0aGlzIGxvY2F0aW9uIHByb3ZpZGVzIHNlcnZpY2VzLiBUaGVzZSBzZXJ2aWNlcyBjYW4gYmUgZGVmaW5lZCB0aHJvdWdoIHRoZSBIZWFsdGhjYXJlU2VydmljZSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBbm90aGVyIExvY2F0aW9uIHRoaXMgb25lIGlzIHBoeXNpY2FsbHkgYSBwYXJ0IG9mIiBkZWZpbml0aW9uPSJBbm90aGVyIExvY2F0aW9uIG9mIHdoaWNoIHRoaXMgTG9jYXRpb24gaXMgcGh5c2ljYWxseSBhIHBhcnQgb2YuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaG91cnNPZk9wZXJhdGlvbiIgZGVzY3JpcHRpb249IldoYXQgZGF5cy90aW1lcyBkdXJpbmcgYSB3ZWVrIGlzIHRoaXMgbG9jYXRpb24gdXN1YWxseSBvcGVuIiBkZWZpbml0aW9uPSJXaGF0IGRheXMvdGltZXMgZHVyaW5nIGEgd2VlayBpcyB0aGlzIGxvY2F0aW9uIHVzdWFsbHkgb3Blbi4iIGNvbW1lbnQ9IlRoaXMgdHlwZSBvZiBpbmZvcm1hdGlvbiBpcyBjb21tb25seSBmb3VuZCBwdWJsaXNoZWQgaW4gZGlyZWN0b3JpZXMgYW5kIG9uIHdlYnNpdGVzIGluZm9ybWluZyBjdXN0b21lcnMgd2hlbiB0aGUgZmFjaWxpdHkgaXMgYXZhaWxhYmxlLiYjeGE7JiN4YTtTcGVjaWZpYyBzZXJ2aWNlcyB3aXRoaW4gdGhlIGxvY2F0aW9uIG1heSBoYXZlIHRoZWlyIG93biBob3VycyB3aGljaCBjb3VsZCBiZSBzaG9ydGVyIChvciBsb25nZXIpIHRoYW4gdGhlIGxvY2F0aW9ucyBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Mb2NhdGlvbi5Ib3Vyc09mT3BlcmF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFiaWxpdHlFeGNlcHRpb25zIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiBhdmFpbGFiaWxpdHkgZXhjZXB0aW9ucyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB3aGVuIHRoZSBsb2NhdGlvbnMgb3BlbmluZyBvdXJzIGFyZSBkaWZmZXJlbnQgdG8gbm9ybWFsLCBlLmcuIHB1YmxpYyBob2xpZGF5IGF2YWlsYWJpbGl0eS4gU3VjY2luY3RseSBkZXNjcmliaW5nIGFsbCBwb3NzaWJsZSBleGNlcHRpb25zIHRvIG5vcm1hbCBzaXRlIGF2YWlsYWJpbGl0eSBhcyBkZXRhaWxlZCBpbiB0aGUgb3BlbmluZyBob3VycyBUaW1lcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kcG9pbnQiIGRlc2NyaXB0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgbG9jYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Ib3Vyc09mT3BlcmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzT2ZXZWVrIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1vbiB8IHR1ZSB8IHdlZCB8IHRodSB8IGZyaSB8IHNhdCB8IHN1biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoaWNoIGRheXMgb2YgdGhlIHdlZWsgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIFRpbWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRheXNPZldlZWsiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEYXlzT2ZXZWVrIiBkZXNjcmlwdGlvbj0iVGhlIGRheXMgb2YgdGhlIHdlZWsuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhbGxEYXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgTG9jYXRpb24gaXMgb3BlbiBhbGwgZGF5IiBkZWZpbml0aW9uPSJUaGUgTG9jYXRpb24gaXMgb3BlbiBhbGwgZGF5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvcGVuaW5nVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMiIGRlZmluaXRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsb3NpbmdUaW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGltZSB0aGF0IHRoZSBMb2NhdGlvbiBjbG9zZXMiIGRlZmluaXRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gY2xvc2VzLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Qb3NpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9uZ2l0dWRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG9uZ2l0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkxvbmdpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGxvbmdpdHVkZSBlbGVtZW50IGluIEtNTCAoc2VlIG5vdGVzIGJlbG93KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGF0aXR1ZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMYXRpdHVkZSB3aXRoIFdHUzg0IGRhdHVtIiBkZWZpbml0aW9uPSJMYXRpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGxhdGl0dWRlIGVsZW1lbnQgaW4gS01MIChzZWUgbm90ZXMgYmVsb3cpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbHRpdHVkZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFsdGl0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkFsdGl0dWRlLiBUaGUgdmFsdWUgZG9tYWluIGFuZCB0aGUgaW50ZXJwcmV0YXRpb24gYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgdGV4dCBvZiB0aGUgYWx0aXR1ZGUgZWxlbWVudCBpbiBLTUwgKHNlZSBub3RlcyBiZWxvdykuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uTW9kZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGlzIG1lZGljYXRpb24uIiBjb21tZW50PSJUaGUgc2VyaWFsIG51bWJlciBjb3VsZCBiZSBpbmNsdWRlZCBhcyBhbiBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVzIHRoYXQgaWRlbnRpZnkgdGhpcyBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgKG9yIHNldCBvZiBjb2RlcykgdGhhdCBzcGVjaWZ5IHRoaXMgbWVkaWNhdGlvbiwgb3IgYSB0ZXh0dWFsIGRlc2NyaXB0aW9uIGlmIG5vIGNvZGUgaXMgYXZhaWxhYmxlLiBVc2FnZSBub3RlOiBUaGlzIGNvdWxkIGJlIGEgc3RhbmRhcmQgbWVkaWNhdGlvbiBjb2RlIHN1Y2ggYXMgYSBjb2RlIGZyb20gUnhOb3JtLCBTTk9NRUQgQ1QsIElETVAgZXRjLiBJdCBjb3VsZCBhbHNvIGJlIGEgbmF0aW9uYWwgb3IgbG9jYWwgZm9ybXVsYXJ5IGNvZGUsIG9wdGlvbmFsbHkgd2l0aCB0cmFuc2xhdGlvbnMgdG8gb3RoZXIgY29kZSBzeXN0ZW1zLiIgY29tbWVudD0iRGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9mIHVzZSwgdGhlIGNvZGUgdGhhdCB3YXMgYWN0dWFsbHkgc2VsZWN0ZWQgYnkgdGhlIHVzZXIgKHByZXNjcmliZXIsIGRpc3BlbnNlciwgZXRjLikgd2lsbCBoYXZlIHRoZSBjb2RpbmcudXNlclNlbGVjdGVkIHNldCB0byB0cnVlLiAgQXMgZGVzY3JpYmVkIGluIHRoZSBjb2RpbmcgZGF0YXR5cGU6ICZxdW90O0EgY29kaW5nIG1heSBiZSBtYXJrZWQgYXMgYSAmcXVvdDt1c2VyU2VsZWN0ZWQmcXVvdDsgaWYgYSB1c2VyIHNlbGVjdGVkIHRoZSBwYXJ0aWN1bGFyIGNvZGVkIHZhbHVlIGluIGEgdXNlciBpbnRlcmZhY2UgKGUuZy4gdGhlIHVzZXIgc2VsZWN0cyBhbiBpdGVtIGluIGEgcGljay1saXN0KS4gSWYgYSB1c2VyIHNlbGVjdGVkIGNvZGluZyBleGlzdHMsIGl0IGlzIHRoZSBwcmVmZXJyZWQgY2hvaWNlIGZvciBwZXJmb3JtaW5nIHRyYW5zbGF0aW9ucyBldGMuIE90aGVyIGNvZGVzIGNhbiBvbmx5IGJlIGxpdGVyYWwgdHJhbnNsYXRpb25zIHRvIGFsdGVybmF0aXZlIGNvZGUgc3lzdGVtcywgb3IgY29kZXMgYXQgYSBsb3dlciBsZXZlbCBvZiBncmFudWxhcml0eSAoZS5nLiBhIGdlbmVyaWMgY29kZSBmb3IgYSB2ZW5kb3Itc3BlY2lmaWMgcHJpbWFyeSBvbmUpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGluYWN0aXZlIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIGlmIHRoZSBtZWRpY2F0aW9uIGlzIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGlzIHN0YXR1cyBpcyBpbnRlbmRlZCB0byBpZGVudGlmeSBpZiB0aGUgbWVkaWNhdGlvbiBpbiBhIGxvY2FsIHN5c3RlbSBpcyBpbiBhY3RpdmUgdXNlIHdpdGhpbiBhIGRydWcgZGF0YWJhc2Ugb3IgaW52ZW50b3J5LiAgRm9yIGV4YW1wbGUsIGEgcGhhcm1hY3kgc3lzdGVtIG1heSBjcmVhdGUgYSBuZXcgZHJ1ZyBmaWxlIHJlY29yZCBmb3IgYSBjb21wb3VuZGVkIHByb2R1Y3QgJnF1b3Q7QUJDIEhvc3BpdGFsIFNwZWNpYWwgQ3JlYW0mcXVvdDsgd2l0aCBhbiBhY3RpdmUgc3RhdHVzLiAgQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBpdCBtYXkgYmUgZGV0ZXJtaW5lZCB0aGF0IHRoZSBkcnVnIHJlY29yZCB3YXMgY3JlYXRlZCB3aXRoIGFuIGVycm9yIGFuZCB0aGUgc3RhdHVzIGlzIGNoYW5nZWQgdG8gJnF1b3Q7ZW50ZXJlZCBpbiBlcnJvciZxdW90Oy4gICBUaGlzIHN0YXR1cyBpcyBub3QgaW50ZW5kZWQgdG8gc3BlY2lmeSBpZiBhIG1lZGljYXRpb24gaXMgcGFydCBvZiBhIHBhcnRpY3VsYXIgZm9ybXVsYXJ5LiAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgZHJ1ZyByZWNvcmQgbWF5IGJlIHJlZmVyZW5jZWQgYnkgbXVsdGlwbGUgZm9ybXVsYXJpZXMgb3IgY2F0YWxvZ3VlcyBhbmQgZWFjaCBvZiB0aG9zZSBlbnRyaWVzIHdvdWxkIGhhdmUgYSBzZXBhcmF0ZSBzdGF0dXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZWZpbmluZyBpZiB0aGUgbWVkaWNhdGlvbiBpcyBpbiBhY3RpdmUgdXNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik1hbnVmYWN0dXJlciBvZiB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBkZXRhaWxzIG9mIHRoZSBtYW51ZmFjdHVyZXIgb2YgdGhlIG1lZGljYXRpb24gcHJvZHVjdC4gIFRoaXMgaXMgbm90IGludGVuZGVkIHRvIHJlcHJlc2VudCB0aGUgZGlzdHJpYnV0b3Igb2YgYSBtZWRpY2F0aW9uIHByb2R1Y3QuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icG93ZGVyIHwgdGFibGV0cyB8IGNhcHN1bGUgKyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBmb3JtIG9mIHRoZSBpdGVtLiAgUG93ZGVyOyB0YWJsZXRzOyBjYXBzdWxlLiIgY29tbWVudD0iV2hlbiBNZWRpY2F0aW9uIGlzIHJlZmVyZW5jZWQgZnJvbSBNZWRpY2F0aW9uUmVxdWVzdCwgdGhpcyBpcyB0aGUgb3JkZXJlZCBmb3JtLiAgV2hlbiBNZWRpY2F0aW9uIGlzIHJlZmVyZW5jZWQgd2l0aGluIE1lZGljYXRpb25EaXNwZW5zZSwgdGhpcyBpcyB0aGUgZGlzcGVuc2VkIGZvcm0uICBXaGVuIE1lZGljYXRpb24gaXMgcmVmZXJlbmNlZCB3aXRoaW4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLCB0aGlzIGlzIGFkbWluaXN0ZXJlZCBmb3JtLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25Gb3JtIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlZmluaW5nIHRoZSBmb3JtIG9mIGEgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBkcnVnIGluIHBhY2thZ2UiIGRlZmluaXRpb249IlNwZWNpZmljIGFtb3VudCBvZiB0aGUgZHJ1ZyBpbiB0aGUgcGFja2FnZWQgcHJvZHVjdC4gIEZvciBleGFtcGxlLCB3aGVuIHNwZWNpZnlpbmcgYSBwcm9kdWN0IHRoYXQgaGFzIHRoZSBzYW1lIHN0cmVuZ3RoIChGb3IgZXhhbXBsZSwgSW5zdWxpbiBnbGFyZ2luZSAxMDAgdW5pdCBwZXIgbUwgc29sdXRpb24gZm9yIGluamVjdGlvbiksIHRoaXMgYXR0cmlidXRlIHByb3ZpZGVzIGFkZGl0aW9uYWwgY2xhcmlmaWNhdGlvbiBvZiB0aGUgcGFja2FnZSBhbW91bnQgKEZvciBleGFtcGxlLCAzIG1MLCAxMG1MLCBldGMuKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5ncmVkaWVudCIgZGVzY3JpcHRpb249IkFjdGl2ZSBvciBpbmFjdGl2ZSBpbmdyZWRpZW50IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGEgcGFydGljdWxhciBjb25zdGl0dWVudCBvZiBpbnRlcmVzdCBpbiB0aGUgcHJvZHVjdC4iIGNvbW1lbnQ9IlRoZSBpbmdyZWRpZW50cyBuZWVkIG5vdCBiZSBhIGNvbXBsZXRlIGxpc3QuICBJZiBhbiBpbmdyZWRpZW50IGlzIG5vdCBzcGVjaWZpZWQsIHRoaXMgZG9lcyBub3QgaW5kaWNhdGUgd2hldGhlciBhbiBpbmdyZWRpZW50IGlzIHByZXNlbnQgb3IgYWJzZW50LiAgSWYgYW4gaW5ncmVkaWVudCBpcyBzcGVjaWZpZWQgaXQgZG9lcyBub3QgbWVhbiB0aGF0IGFsbCBpbmdyZWRpZW50cyBhcmUgc3BlY2lmaWVkLiAgSXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBib3RoIGluYWN0aXZlIGFuZCBhY3RpdmUgaW5ncmVkaWVudHMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uLkluZ3JlZGllbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhdGNoIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb24uQmF0Y2giIGRlc2NyaXB0aW9uPSJEZXRhaWxzIGFib3V0IHBhY2thZ2VkIG1lZGljYXRpb25zIiBkZWZpbml0aW9uPSJJbmZvcm1hdGlvbiB0aGF0IG9ubHkgYXBwbGllcyB0byBwYWNrYWdlcyAobm90IHByb2R1Y3RzKS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbi5CYXRjaCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG90TnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIGFzc2lnbmVkIHRvIGJhdGNoIiBkZWZpbml0aW9uPSJUaGUgYXNzaWduZWQgbG90IG51bWJlciBvZiBhIGJhdGNoIG9mIHRoZSBzcGVjaWZpZWQgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBiYXRjaCB3aWxsIGV4cGlyZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGlzIHNwZWNpZmljIGJhdGNoIG9mIHByb2R1Y3Qgd2lsbCBleHBpcmUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb24uSW5ncmVkaWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGluZ3JlZGllbnQgb3IgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBpbmdyZWRpZW50IC0gZWl0aGVyIGEgc3Vic3RhbmNlIChzaW1wbGUgaW5ncmVkaWVudCkgb3IgYW5vdGhlciBtZWRpY2F0aW9uIG9mIGEgbWVkaWNhdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNBY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBY3RpdmUgaW5ncmVkaWVudCBpbmRpY2F0b3IiIGRlZmluaXRpb249IkluZGljYXRpb24gb2Ygd2hldGhlciB0aGlzIGluZ3JlZGllbnQgYWZmZWN0cyB0aGUgdGhlcmFwZXV0aWMgYWN0aW9uIG9mIHRoZSBkcnVnLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0cmVuZ3RoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IlF1YW50aXR5IG9mIGluZ3JlZGllbnQgcHJlc2VudCIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGhvdyBtYW55IChvciBob3cgbXVjaCkgb2YgdGhlIGl0ZW1zIHRoZXJlIGFyZSBpbiB0aGlzIE1lZGljYXRpb24uICBGb3IgZXhhbXBsZSwgMjUwIG1nIHBlciB0YWJsZXQuICBUaGlzIGlzIGV4cHJlc3NlZCBhcyBhIHJhdGlvIHdoZXJlIHRoZSBudW1lcmF0b3IgaXMgMjUwbWcgYW5kIHRoZSBkZW5vbWluYXRvciBpcyAxIHRhYmxldC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25hZG1pbmlzdHJhdGlvbiIgbGFiZWw9IlFJQ29yZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJBIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgd2FzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgZXZlbnQgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBhZG1pbmlzdHJhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuICBGb3Igc29tZSBsb25nIHJ1bm5pbmcgYWRtaW5pc3RyYXRpb25zIHN1Y2ggYXMgaW5mdXNpb25zLCBpdCBpcyBwb3NzaWJsZSBmb3IgYW4gYWRtaW5pc3RyYXRpb24gdG8gYmUgc3RhcnRlZCBidXQgbm90IGNvbXBsZXRlZCBvciBpdCBtYXkgYmUgcGF1c2VkIHdoaWxlIHNvbWUgb3RoZXIgcHJvY2VzcyBpcyB1bmRlciB3YXkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkEgc2V0IG9mIGNvZGVzIGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIGEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGFkbWluaXN0cmF0aW9uIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkEgY29kZSBpbmRpY2F0aW5nIHdoeSB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIG5vdCBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCBpcyBleHBlY3RlZCB0byBvY2N1ci4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIFRoaXMgaXMgZWl0aGVyIGEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBhIHNpbXBsZSBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBtZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNlaXZlZCBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIG9yIGFuaW1hbCBvciBncm91cCByZWNlaXZpbmcgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBvciBFcGlzb2RlIG9mIENhcmUgYWRtaW5pc3RlcmVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSB2aXNpdCwgYWRtaXNzaW9uLCBvciBvdGhlciBjb250YWN0IGJldHdlZW4gcGF0aWVudCBhbmQgaGVhbHRoIGNhcmUgcHJvdmlkZXIgZHVyaW5nIHdoaWNoIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mb3JtYXRpb24iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHN1cHBvcnQgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLCBwYXRpZW50IGhlaWdodCBhbmQgd2VpZ2h0KSB0aGF0IHN1cHBvcnRzIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTdGFydCBhbmQgZW5kIHRpbWUgb2YgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkEgc3BlY2lmaWMgZGF0ZS90aW1lIG9yIGludGVydmFsIG9mIHRpbWUgZHVyaW5nIHdoaWNoIHRoZSBhZG1pbmlzdHJhdGlvbiB0b29rIHBsYWNlIChvciBkaWQgbm90IHRha2UgcGxhY2UsIHdoZW4gdGhlICdub3RHaXZlbicgYXR0cmlidXRlIGlzIHRydWUpLiBGb3IgbWFueSBhZG1pbmlzdHJhdGlvbnMsIHN1Y2ggYXMgc3dhbGxvd2luZyBhIHRhYmxldCB0aGUgdXNlIG9mIGRhdGVUaW1lIGlzIG1vcmUgYXBwcm9wcmlhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIHdoYXQgdGhleSBkaWQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGFkbWluaXN0cmF0aW9uIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iQSBjb2RlIGluZGljYXRpbmcgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBnaXZlbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQ29uZGl0aW9uIG9yIG9ic2VydmF0aW9uIHRoYXQgc3VwcG9ydHMgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIG1lZGljYXRpb24gcmVxdWVzdC4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlcXVlc3QgYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIGFnYWluc3QiIGRlZmluaXRpb249IlRoZSBvcmlnaW5hbCByZXF1ZXN0LCBpbnN0cnVjdGlvbiBvciBhdXRob3JpdHkgdG8gcGVyZm9ybSB0aGUgYWRtaW5pc3RyYXRpb24uIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBNZWRpY2F0aW9uUmVxdWVzdCAgd2hlcmUgdGhlIGludGVudCBpcyBlaXRoZXIgb3JkZXIgb3IgaW5zdGFuY2Utb3JkZXIuICBJdCBzaG91bGQgbm90IHJlZmVyZW5jZSBNZWRpY2F0aW9uUmVxdWVzdHMgd2hlcmUgdGhlIGludGVudCBpcyBhbnkgb3RoZXIgdmFsdWUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBkZXNjcmlwdGlvbj0iRGV2aWNlIHVzZWQgdG8gYWRtaW5pc3RlciIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIGluIGFkbWluaXN0ZXJpbmcgdGhlIG1lZGljYXRpb24gdG8gdGhlIHBhdGllbnQuICBGb3IgZXhhbXBsZSwgYSBwYXJ0aWN1bGFyIGluZnVzaW9uIHB1bXAuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBob3cgbWVkaWNhdGlvbiB3YXMgdGFrZW4iIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgbWVkaWNhdGlvbiBkb3NhZ2UgaW5mb3JtYXRpb24gZGV0YWlscyBlLmcuIGRvc2UsIHJhdGUsIHNpdGUsIHJvdXRlLCBldGMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImNvbnRleHQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iZGV2aWNlIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBlLmcuIFNJRyIgZGVmaW5pdGlvbj0iRnJlZSB0ZXh0IGRvc2FnZSBjYW4gYmUgdXNlZCBmb3IgY2FzZXMgd2hlcmUgdGhlIGRvc2FnZSBhZG1pbmlzdGVyZWQgaXMgdG9vIGNvbXBsZXggdG8gY29kZS4gV2hlbiBjb2RlZCBkb3NhZ2UgaXMgcHJlc2VudCwgdGhlIGZyZWUgdGV4dCBkb3NhZ2UgbWF5IHN0aWxsIGJlIHByZXNlbnQgZm9yIGRpc3BsYXkgdG8gaHVtYW5zLiYjeGQ7JiN4ZDtUaGUgZG9zYWdlIGluc3RydWN0aW9ucyBzaG91bGQgcmVmbGVjdCB0aGUgZG9zYWdlIG9mIHRoZSBtZWRpY2F0aW9uIHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIGFkbWluaXN0ZXJlZCB0byIgZGVmaW5pdGlvbj0iQSBjb2RlZCBzcGVjaWZpY2F0aW9uIG9mIHRoZSBhbmF0b21pYyBzaXRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGZpcnN0IGVudGVyZWQgdGhlIGJvZHkuICBGb3IgZXhhbXBsZSwgJnF1b3Q7bGVmdCBhcm0mcXVvdDsuIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiAgTWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBhIHJlZmVyZW5jZSB0byBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSBsb2NhdGlvbiwgb3IgYm90aC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHNpdGUgbG9jYXRpb24gdGhlIG1lZGljaW5lIGVudGVycyBpbnRvIG9yIG9udG8gdGhlIGJvZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRoIG9mIHN1YnN0YW5jZSBpbnRvIGJvZHkiIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSByb3V0ZSBvciBwaHlzaW9sb2dpY2FsIHBhdGggb2YgYWRtaW5pc3RyYXRpb24gb2YgYSB0aGVyYXBldXRpYyBhZ2VudCBpbnRvIG9yIG9udG8gdGhlIHBhdGllbnQuICBGb3IgZXhhbXBsZSwgdG9waWNhbCwgaW50cmF2ZW5vdXMsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGRydWcgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQSBjb2RlZCB2YWx1ZSBpbmRpY2F0aW5nIHRoZSBtZXRob2QgYnkgd2hpY2ggdGhlIG1lZGljYXRpb24gaXMgaW50ZW5kZWQgdG8gYmUgb3Igd2FzIGludHJvZHVjZWQgaW50byBvciBvbiB0aGUgYm9keS4gIFRoaXMgYXR0cmlidXRlIHdpbGwgbW9zdCBvZnRlbiBOT1QgYmUgcG9wdWxhdGVkLiAgSXQgaXMgbW9zdCBjb21tb25seSB1c2VkIGZvciBpbmplY3Rpb25zLiAgRm9yIGV4YW1wbGUsIFNsb3cgUHVzaCwgRGVlcCBJVi4iIGNvbW1lbnQ9Ik9uZSBvZiB0aGUgcmVhc29ucyB0aGlzIGF0dHJpYnV0ZSBpcyBub3QgdXNlZCBvZnRlbiwgaXMgdGhhdCB0aGUgbWV0aG9kIGlzIG9mdGVuIHByZS1jb29yZGluYXRlZCB3aXRoIHRoZSByb3V0ZSBhbmQvb3IgZm9ybSBvZiBhZG1pbmlzdHJhdGlvbi4gIFRoaXMgbWVhbnMgdGhlIGNvZGVzIHVzZWQgaW4gcm91dGUgb3IgZm9ybSBtYXkgcHJlLWNvb3JkaW5hdGUgdGhlIG1ldGhvZCBpbiB0aGUgcm91dGUgY29kZSBvciB0aGUgZm9ybSBjb2RlLiAgVGhlIGltcGxlbWVudGF0aW9uIGRlY2lzaW9uIGFib3V0IHdoYXQgY29kaW5nIHN5c3RlbSB0byB1c2UgZm9yIHJvdXRlIG9yIGZvcm0gY29kZSB3aWxsIGRldGVybWluZSBob3cgZnJlcXVlbnRseSB0aGUgbWV0aG9kIGNvZGUgd2lsbCBiZSBwb3B1bGF0ZWQgZS5nLiBpZiByb3V0ZSBvciBmb3JtIGNvZGUgcHJlLWNvb3JkaW5hdGUgbWV0aG9kIGNvZGUsIHRoZW4gdGhpcyBhdHRyaWJ1dGUgd2lsbCBub3QgYmUgcG9wdWxhdGVkIG9mdGVuOyBpZiB0aGVyZSBpcyBubyBwcmUtY29vcmRpbmF0aW9uIHRoZW4gbWV0aG9kIGNvZGUgbWF5ICBiZSB1c2VkIGZyZXF1ZW50bHkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHRlY2huaXF1ZSBieSB3aGljaCB0aGUgbWVkaWNpbmUgaXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciBkb3NlIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRoZSBtZWRpY2F0aW9uIGdpdmVuIGF0IG9uZSBhZG1pbmlzdHJhdGlvbiBldmVudC4gICBVc2UgdGhpcyB2YWx1ZSB3aGVuIHRoZSBhZG1pbmlzdHJhdGlvbiBpcyBlc3NlbnRpYWxseSBhbiBpbnN0YW50YW5lb3VzIGV2ZW50IHN1Y2ggYXMgYSBzd2FsbG93aW5nIGEgdGFibGV0IG9yIGdpdmluZyBhbiBpbmplY3Rpb24uIiBjb21tZW50PSJJZiB0aGUgYWRtaW5pc3RyYXRpb24gaXMgbm90IGluc3RhbnRhbmVvdXMgKHJhdGUgaXMgcHJlc2VudCksIHRoaXMgY2FuIGJlIHNwZWNpZmllZCB0byBjb252ZXkgdGhlIHRvdGFsIGFtb3VudCBhZG1pbmlzdGVyZWQgb3ZlciBwZXJpb2Qgb2YgdGltZSBvZiBhIHNpbmdsZSBhZG1pbmlzdHJhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJhdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRG9zZSBxdWFudGl0eSBwZXIgdW5pdCBvZiB0aW1lIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBzcGVlZCB3aXRoIHdoaWNoIHRoZSBtZWRpY2F0aW9uIHdhcyBvciB3aWxsIGJlIGludHJvZHVjZWQgaW50byB0aGUgcGF0aWVudC4gIFR5cGljYWxseSwgdGhlIHJhdGUgZm9yIGFuIGluZnVzaW9uIGUuZy4gMTAwIG1sIHBlciAxIGhvdXIgb3IgMTAwIG1sL2hyLiAgTWF5IGFsc28gYmUgZXhwcmVzc2VkIGFzIGEgcmF0ZSBwZXIgdW5pdCBvZiB0aW1lLCBlLmcuIDUwMCBtbCBwZXIgMiBob3Vycy4gIE90aGVyIGV4YW1wbGVzOiAgMjAwIG1jZy9taW4gb3IgMjAwIG1jZy8xIG1pbnV0ZTsgMSBsaXRlci84IGhvdXJzLiIgY29tbWVudD0iSWYgdGhlIHJhdGUgY2hhbmdlcyBvdmVyIHRpbWUsIGFuZCB5b3Ugd2FudCB0byBjYXB0dXJlIHRoaXMgaW4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLCB0aGVuIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIGRpc3RpbmN0IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiwgd2l0aCBhIHNwZWNpZmljIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSwgYW5kIHRoZSBkYXRlIHRpbWUgd2hlbiB0aGUgcmF0ZSBjaGFuZ2Ugb2NjdXJyZWQuIFR5cGljYWxseSwgdGhlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSBlbGVtZW50IGlzIG5vdCB1c2VkIHRvIGNvbnZleSBhbiBhdmVyYWdlIHJhdGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwZXJmb3JtYW5jZSIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBpbnZvbHZlbWVudCBvZiB0aGUgcGVyZm9ybWVyIGluIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvblBlcmZvcm1lckZ1bmN0aW9uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIGRlc2NyaWJpbmcgdGhlIHJvbGUgYW4gaW5kaXZpZHVhbCBwbGF5ZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uYWRtaW5pc3RyYXRpb25ub3Rkb25lIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBOb3QgRG9uZSIgdGFyZ2V0PSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVjb3JkZWQgZGF0ZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJBIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgd2FzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgZXZlbnQgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgc3RvcHBlZCB8IHVua25vd24iIGRlZmluaXRpb249IldpbGwgZ2VuZXJhbGx5IGJlIHNldCB0byBzaG93IHRoYXQgdGhlIGFkbWluaXN0cmF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZC4gIEZvciBzb21lIGxvbmcgcnVubmluZyBhZG1pbmlzdHJhdGlvbnMgc3VjaCBhcyBpbmZ1c2lvbnMsIGl0IGlzIHBvc3NpYmxlIGZvciBhbiBhZG1pbmlzdHJhdGlvbiB0byBiZSBzdGFydGVkIGJ1dCBub3QgY29tcGxldGVkIG9yIGl0IG1heSBiZSBwYXVzZWQgd2hpbGUgc29tZSBvdGhlciBwcm9jZXNzIGlzIHVuZGVyIHdheS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBzZXQgb2YgY29kZXMgaW5kaWNhdGluZyB0aGUgY3VycmVudCBzdGF0dXMgb2YgYSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gbm90IHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iQSBjb2RlIGluZGljYXRpbmcgd2h5IHRoZSBhZG1pbmlzdHJhdGlvbiB3YXMgbm90IHBlcmZvcm1lZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIHRoZSBldmVudCBkaWQgbm90IG9jY3VyIG9yIHdhcyBub3QgcGVyZm9ybWVkIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB3aGVyZSB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdGVyZWQgaXMgZXhwZWN0ZWQgdG8gb2NjdXIuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50Lm1lZGljYXRpb25beF0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjZWl2ZWQgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiBvciBhbmltYWwgb3IgZ3JvdXAgcmVjZWl2aW5nIHRoZSBtZWRpY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgb3IgRXBpc29kZSBvZiBDYXJlIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgdmlzaXQsIGFkbWlzc2lvbiwgb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIGR1cmluZyB3aGljaCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB3YXMgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGF0aWVudCBoZWlnaHQgYW5kIHdlaWdodCkgdGhhdCBzdXBwb3J0cyB0aGUgYWRtaW5pc3RyYXRpb24gb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBIHNwZWNpZmljIGRhdGUvdGltZSBvciBpbnRlcnZhbCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGUgYWRtaW5pc3RyYXRpb24gdG9vayBwbGFjZSAob3IgZGlkIG5vdCB0YWtlIHBsYWNlLCB3aGVuIHRoZSAnbm90R2l2ZW4nIGF0dHJpYnV0ZSBpcyB0cnVlKS4gRm9yIG1hbnkgYWRtaW5pc3RyYXRpb25zLCBzdWNoIGFzIHN3YWxsb3dpbmcgYSB0YWJsZXQgdGhlIHVzZSBvZiBkYXRlVGltZSBpcyBtb3JlIGFwcHJvcHJpYXRlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gcGVyZm9ybWVkIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIGFuZCB3aGF0IHRoZXkgZGlkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvIG9yIHdoYXQgcGVyZm9ybWVkIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIGFuZCBob3cgdGhleSB3ZXJlIGludm9sdmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5QZXJmb3JtZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGdpdmVuLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIHNldCBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gd2FzIG1hZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiByZXF1ZXN0LiAgSWYgb25seSBhIGNvZGUgZXhpc3RzLCB1c2UgcmVhc29uQ29kZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBhZG1pbmlzdHJhdGlvbiBwZXJmb3JtZWQgYWdhaW5zdCIgZGVmaW5pdGlvbj0iVGhlIG9yaWdpbmFsIHJlcXVlc3QsIGluc3RydWN0aW9uIG9yIGF1dGhvcml0eSB0byBwZXJmb3JtIHRoZSBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gdGhlIE1lZGljYXRpb25SZXF1ZXN0ICB3aGVyZSB0aGUgaW50ZW50IGlzIGVpdGhlciBvcmRlciBvciBpbnN0YW5jZS1vcmRlci4gIEl0IHNob3VsZCBub3QgcmVmZXJlbmNlIE1lZGljYXRpb25SZXF1ZXN0cyB3aGVyZSB0aGUgaW50ZW50IGlzIGFueSBvdGhlciB2YWx1ZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdXNlZCB0byBhZG1pbmlzdGVyIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4gIEZvciBleGFtcGxlLCBhIHBhcnRpY3VsYXIgaW5mdXNpb24gcHVtcC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBob3cgbWVkaWNhdGlvbiB3YXMgdGFrZW4iIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgbWVkaWNhdGlvbiBkb3NhZ2UgaW5mb3JtYXRpb24gZGV0YWlscyBlLmcuIGRvc2UsIHJhdGUsIHNpdGUsIHJvdXRlLCBldGMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25kaXNwZW5zZSIgbGFiZWw9IlFJQ29yZSBNZWRpY2F0aW9uRGlzcGVuc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBEaXNwZW5zZSB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iRXZlbnQgdGhhdCBkaXNwZW5zZSBpcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgcHJvY2VkdXJlIHRoYXQgdHJpZ2dlciB0aGUgZGlzcGVuc2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByZXBhcmF0aW9u4oCLIHwgaW4tcHJvZ3Jlc3PigIsgfCBjYW5jZWxsZWTigIsgfCBvbi1ob2xk4oCLIHwgY29tcGxldGVk4oCLIHwgZW50ZXJlZC1pbi1lcnJvcuKAiyB8IHN0b3BwZWTigIsgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHNldCBvZiBkaXNwZW5zZSBldmVudHMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgZGlzcGVuc2UgZXZlbnQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHdoeSBhIGRpc3BlbnNlIHdhcyBub3QgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lZGljYXRpb24gZGlzcGVuc2UgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIGRpc3BlbnNlcy4gIEludmFyaWFudHMgY2FuIGJlIHVzZWQgdG8gYmluZCB0byBkaWZmZXJlbnQgdmFsdWUgc2V0cyB3aGVuIHByb2ZpbGluZyB0byBiaW5kLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZUNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjb2RlIGRlc2NyaWJpbmcgd2hlcmUgdGhlIGRpc3BlbnNlZCBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgbWVkaWNhdGlvbiB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gYmVpbmcgYWRtaW5pc3RlcmVkLiBUaGlzIGlzIGVpdGhlciBhIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIGRldGFpbHMgb2YgdGhlIG1lZGljYXRpb24gb3IgYSBzaW1wbGUgYXR0cmlidXRlIGNhcnJ5aW5nIGEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gZnJvbSBhIGtub3duIGxpc3Qgb2YgbWVkaWNhdGlvbnMuIiBjb21tZW50PSJJZiBvbmx5IGEgY29kZSBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgbmVlZHMgdG8gYmUgYSBjb2RlIGZvciBhIHNwZWNpZmljIHByb2R1Y3QuIElmIG1vcmUgaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHVzZSBvZiB0aGUgbWVkaWNhdGlvbiByZXNvdXJjZSBpcyByZWNvbW1lbmRlZC4gIEZvciBleGFtcGxlLCBpZiB5b3UgcmVxdWlyZSBmb3JtIG9yIGxvdCBudW1iZXIsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHNldCBvZiBSeE5vcm0gY29kZXMgdG8gcmVwcmVzZW50IG1lZGljYXRpb25zIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gdGhlIGRpc3BlbnNlIGlzIGZvciIgZGVmaW5pdGlvbj0iQSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBwZXJzb24gb3IgdGhlIGdyb3VwIHRvIHdob20gdGhlIG1lZGljYXRpb24gd2lsbCBiZSBnaXZlbi4iIGNvbW1lbnQ9IlN1YnN0YW5jZUFkbWluaXN0cmF0aW9uLT5zdWJqZWN0LT5QYXRpZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgLyBFcGlzb2RlIGFzc29jaWF0ZWQgd2l0aCBldmVudCIgZGVmaW5pdGlvbj0iVGhlIGVuY291bnRlciBvciBlcGlzb2RlIG9mIGNhcmUgdGhhdCBlc3RhYmxpc2hlcyB0aGUgY29udGV4dCBmb3IgdGhpcyBldmVudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgZGlzcGVuc2luZyBvZiB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgZXZlbnQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25EaXNwZW5zZS5QZXJmb3JtZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBkaXNwZW5zZSBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIHByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgZGlzcGVuc2Ugd2FzIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXppbmdQcmVzY3JpcHRpb24iIGRlc2NyaXB0aW9uPSJNZWRpY2F0aW9uIG9yZGVyIHRoYXQgYXV0aG9yaXplcyB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVkaWNhdGlvbiBvcmRlciB0aGF0IGlzIGJlaW5nIGRpc3BlbnNlZCBhZ2FpbnN0LiIgY29tbWVudD0iTWFwcyB0byBiYXNlZE9uIGluIEV2ZW50IGxvZ2ljYWwgbW9kZWwuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRyaWFsIGZpbGwsIHBhcnRpYWwgZmlsbCwgZW1lcmdlbmN5IGZpbGwsIGV0Yy4iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBkaXNwZW5zaW5nIGV2ZW50IHRoYXQgaXMgcGVyZm9ybWVkLiBGb3IgZXhhbXBsZSwgVHJpYWwgRmlsbCwgQ29tcGxldGlvbiBvZiBUcmlhbCwgUGFydGlhbCBGaWxsLCBFbWVyZ2VuY3kgRmlsbCwgU2FtcGxlcywgZXRjLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZVR5cGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZGlzcGVuc2luZyBldmVudCB0aGF0IGlzIHBlcmZvcm1lZC4gRm9yIGV4YW1wbGUsIFRyaWFsIEZpbGwsIENvbXBsZXRpb24gb2YgVHJpYWwsIFBhcnRpYWwgRmlsbCwgRW1lcmdlbmN5IEZpbGwsIFNhbXBsZXMsIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IGRpc3BlbnNlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBtZWRpY2F0aW9uIHRoYXQgaGFzIGJlZW4gZGlzcGVuc2VkLiBJbmNsdWRlcyB1bml0IG9mIG1lYXN1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzU3VwcGx5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIGV4cHJlc3NlZCBhcyBhIHRpbWluZyBhbW91bnQiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0id2hlblByZXBhcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoZSBkaXNwZW5zZWQgcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkLiIgY29tbWVudD0iV2hlbiB1c2VkIGFzIHBhcnQgb2YgYSBjdW11bGF0aXZlIG1lZGljYXRpb24gZHVyYXRpb24gY2FsY3VsYXRpb24sIHRoZSB3aGVuUHJlcGFyZWQgZWxlbWVudCBpcyB1c2VkIGlmIHdoZW5IYW5kZWRPdmVyIGlzIG5vdCBhdmFpbGFibGUgdG8gZGV0ZXJtaW5lIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHRoZSBwZXJpb2QgY292ZXJlZCBieSB0aGUgZGlzcGVuc2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuSGFuZGVkT3ZlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhlIGRpc3BlbnNlZCBwcm9kdWN0IHdhcyBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBvciB0aGVpciByZXByZXNlbnRhdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc3RpbmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBtZWRpY2F0aW9uIHdhcyBzZW50IiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgZmFjaWxpdHkvbG9jYXRpb24gd2hlcmUgdGhlIG1lZGljYXRpb24gd2FzIHNoaXBwZWQgdG8sIGFzIHBhcnQgb2YgdGhlIGRpc3BlbnNlIGV2ZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVyIiBkZXNjcmlwdGlvbj0iV2hvIGNvbGxlY3RlZCB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGVyc29uIHdobyBwaWNrZWQgdXAgdGhlIG1lZGljYXRpb24uICBUaGlzIHdpbGwgdXN1YWxseSBiZSBhIHBhdGllbnQgb3IgdGhlaXIgY2FyZWdpdmVyLCBidXQgc29tZSBjYXNlcyBleGlzdCB3aGVyZSBpdCBjYW4gYmUgYSBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpc3BlbnNlIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGluIHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIiBkZXNjcmlwdGlvbj0iSG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQgb3IgYWRtaW5pc3RlcmVkIGJ5IHRoZSBjYXJlZ2l2ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IldoZW4gdGhlIGRvc2Ugb3IgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aGUgZW50aXJlIGFkbWluaXN0cmF0aW9uIHBlcmlvZCAoZS5nLiBUYXBlcmluZyBkb3NlIHByZXNjcmlwdGlvbnMpLCBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgZG9zYWdlIGluc3RydWN0aW9ucyB3aWxsIG5lZWQgdG8gYmUgc3VwcGxpZWQgdG8gY29udmV5IHRoZSBkaWZmZXJlbnQgZG9zZXMvcmF0ZXMuJiN4ZDtUaGUgcGhhcm1hY2lzdCByZXZpZXdzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHByaW9yIHRvIGRpc3BlbnNlIGFuZCB1cGRhdGVzIHRoZSBkb3NhZ2VJbnN0cnVjdGlvbiBiYXNlZCBvbiB0aGUgYWN0dWFsIHByb2R1Y3QgYmVpbmcgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gd2FzIG1hZGUgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UuICBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gd2lsbCBiZSBleHBlY3RlZCBidXQgZG9lcyBub3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gaXMgbm90IGV4cGVjdGVkIGJ1dCBkb2VzIGhhcHBlbi4gIFRoaXMgYmxvY2sgZXhwbGFpbnMgd2hhdCBzdWJzdGl0dXRpb24gZGlkIG9yIGRpZCBub3QgaGFwcGVuIGFuZCB3aHkuICBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgc3Vic3RpdHV0aW9uIHdhcyBub3QgZG9uZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgaXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIGRydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgcmVsZXZhbnQgbGlmZWN5Y2xlIGV2ZW50cyIgZGVmaW5pdGlvbj0iQSBzdW1tYXJ5IG9mIHRoZSBldmVudHMgb2YgaW50ZXJlc3QgdGhhdCBoYXZlIG9jY3VycmVkLCBzdWNoIGFzIHdoZW4gdGhlIGRpc3BlbnNlIHdhcyB2ZXJpZmllZC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgbm90IGluY2x1ZGUgcHJvdmVuYW5jZXMgZm9yIGFsbCB2ZXJzaW9ucyBvZiB0aGUgcmVxdWVzdCDigJMgb25seSB0aG9zZSBkZWVtZWQg4oCccmVsZXZhbnTigJ0gb3IgaW1wb3J0YW50LiBUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIChJZiB0aGF0IHByb3ZlbmFuY2UgaXMgZGVlbWVkIHRvIGJlIGEg4oCccmVsZXZhbnTigJ0gY2hhbmdlLCBpdCB3aWxsIG5lZWQgdG8gYmUgYWRkZWQgYXMgcGFydCBvZiBhIGxhdGVyIHVwZGF0ZS4gVW50aWwgdGhlbiwgaXQgY2FuIGJlIHF1ZXJpZWQgZGlyZWN0bHkgYXMgdGhlIFByb3ZlbmFuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyB2ZXJzaW9uIHVzaW5nIF9yZXZpbmNsdWRlIEFsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4pLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjZWl2ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2VpdmVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZS5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaG8gcGVyZm9ybWVkIHRoZSBkaXNwZW5zZSBhbmQgd2hhdCB0aGV5IGRpZCIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBwZXJmb3JtZXIgaW4gdGhlIGRpc3BlbnNlLiAgRm9yIGV4YW1wbGUsIGRhdGUgZW50ZXJlciwgcGFja2FnZXIsIGZpbmFsIGNoZWNrZXIuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlUGVyZm9ybWVyRnVuY3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB0aGUgcm9sZSBhbiBpbmRpdmlkdWFsIHBsYXllZCBpbiBkaXNwZW5zaW5nIGEgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5kaXZpZHVhbCB3aG8gd2FzIHBlcmZvcm1pbmciIGRlZmluaXRpb249IlRoZSBkZXZpY2UsIHByYWN0aXRpb25lciwgZXRjLiB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24uICBJdCBzaG91bGQgYmUgYXNzdW1lZCB0aGF0IHRoZSBhY3RvciBpcyB0aGUgZGlzcGVuc2VyIG9mIHRoZSBtZWRpY2F0aW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2UuU3Vic3RpdHV0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ3YXNTdWJzdGl0dXRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIG9yIHdhcyBub3QgcGVyZm9ybWVkIG9uIHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iVHJ1ZSBpZiB0aGUgZGlzcGVuc2VyIGRpc3BlbnNlZCBhIGRpZmZlcmVudCBkcnVnIG9yIHByb2R1Y3QgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHNpZ25pZnlpbmcgd2hldGhlciBhIGRpZmZlcmVudCBkcnVnIHdhcyBkaXNwZW5zZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgc2lnbmlmeWluZyB3aGV0aGVyIGEgZGlmZmVyZW50IGRydWcgd2FzIGRpc3BlbnNlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkludGVuZGVkU3Vic3RpdHV0aW9uVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXRoZXIgYSBkaWZmZXJlbnQgbWVkaWNpbmFsIHByb2R1Y3QgbWF5IGJlIGRpc3BlbnNlZCBvdGhlciB0aGFuIHRoZSBwcm9kdWN0IGFzIHNwZWNpZmllZCBleGFjdGx5IGluIHRoZSBwcmVzY3JpcHRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB3YXMgc3Vic3RpdHV0aW9uIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIGZvciB0aGUgc3Vic3RpdHV0aW9uIChvciBsYWNrIG9mIHN1YnN0aXR1dGlvbikgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uSW50ZW5kZWRTdWJzdGl0dXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcmVhc29uIHRoYXQgYSBkaWZmZXJlbnQgbWVkaWNhdGlvbiBzaG91bGQgKG9yIHNob3VsZCBub3QpIGJlIHN1YnN0aXR1dGVkIGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVzcG9uc2libGVQYXJ0eSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHN1YnN0aXR1dGlvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiBvciBvcmdhbml6YXRpb24gdGhhdCBoYXMgcHJpbWFyeSByZXNwb25zaWJpbGl0eSBmb3IgdGhlIHN1YnN0aXR1dGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlRGVjbGluZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25kaXNwZW5zZWRlY2xpbmVkIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25EaXNwZW5zZSBEZWNsaW5lZCIgdGFyZ2V0PSJNZWRpY2F0aW9uRGlzcGVuc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVjb3JkZWQgZGF0ZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBEaXNwZW5zZSB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iRXZlbnQgdGhhdCBkaXNwZW5zZSBpcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgcHJvY2VkdXJlIHRoYXQgdHJpZ2dlciB0aGUgZGlzcGVuc2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBjYW5jZWxsZWQgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCBkZWNsaW5lZCB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgc2V0IG9mIGRpc3BlbnNlIGV2ZW50cy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBkaXNwZW5zZSBldmVudC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHdoeSBhIGRpc3BlbnNlIHdhcyBub3QgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgZXZlbnQgZGlkIG5vdCBvY2N1ciBvciB3YXMgbm90IHBlcmZvcm1lZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBtZWRpY2F0aW9uIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiBkaXNwZW5zZSAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgZGlzcGVuc2VzLiAgSW52YXJpYW50cyBjYW4gYmUgdXNlZCB0byBiaW5kIHRvIGRpZmZlcmVudCB2YWx1ZSBzZXRzIHdoZW4gcHJvZmlsaW5nIHRvIGJpbmQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB3aGVyZSB0aGUgZGlzcGVuc2VkIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5tZWRpY2F0aW9uW3hdLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgbWVkaWNhdGlvbiB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gYmVpbmcgYWRtaW5pc3RlcmVkLiBUaGlzIGlzIGVpdGhlciBhIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIGRldGFpbHMgb2YgdGhlIG1lZGljYXRpb24gb3IgYSBzaW1wbGUgYXR0cmlidXRlIGNhcnJ5aW5nIGEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gZnJvbSBhIGtub3duIGxpc3Qgb2YgbWVkaWNhdGlvbnMuIiBjb21tZW50PSJJZiBvbmx5IGEgY29kZSBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgbmVlZHMgdG8gYmUgYSBjb2RlIGZvciBhIHNwZWNpZmljIHByb2R1Y3QuIElmIG1vcmUgaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHVzZSBvZiB0aGUgbWVkaWNhdGlvbiByZXNvdXJjZSBpcyByZWNvbW1lbmRlZC4gIEZvciBleGFtcGxlLCBpZiB5b3UgcmVxdWlyZSBmb3JtIG9yIGxvdCBudW1iZXIsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgZGlzcGVuc2UgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciB0aGUgZ3JvdXAgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iU3Vic3RhbmNlQWRtaW5pc3RyYXRpb24tPnN1YmplY3QtPlBhdGllbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciAvIEVwaXNvZGUgYXNzb2NpYXRlZCB3aXRoIGV2ZW50IiBkZWZpbml0aW9uPSJUaGUgZW5jb3VudGVyIG9yIGVwaXNvZGUgb2YgY2FyZSB0aGF0IGVzdGFibGlzaGVzIHRoZSBjb250ZXh0IGZvciB0aGlzIGV2ZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mb3JtYXRpb24iIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBkaXNwZW5zaW5nIG9mIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgdGhlIG1lZGljYXRpb24gYmVpbmcgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgZXZlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlBlcmZvcm1lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGRpc3BlbnNlIG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgcHJpbmNpcGFsIHBoeXNpY2FsIGxvY2F0aW9uIHdoZXJlIHRoZSBkaXNwZW5zZSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JpemluZ1ByZXNjcmlwdGlvbiIgZGVzY3JpcHRpb249Ik1lZGljYXRpb24gb3JkZXIgdGhhdCBhdXRob3JpemVzIHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHRoYXQgaXMgYmVpbmcgZGlzcGVuc2VkIGFnYWluc3QuIiBjb21tZW50PSJNYXBzIHRvIGJhc2VkT24gaW4gRXZlbnQgbG9naWNhbCBtb2RlbC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHJpYWwgZmlsbCwgcGFydGlhbCBmaWxsLCBlbWVyZ2VuY3kgZmlsbCwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIGRpc3BlbnNpbmcgZXZlbnQgdGhhdCBpcyBwZXJmb3JtZWQuIEZvciBleGFtcGxlLCBUcmlhbCBGaWxsLCBDb21wbGV0aW9uIG9mIFRyaWFsLCBQYXJ0aWFsIEZpbGwsIEVtZXJnZW5jeSBGaWxsLCBTYW1wbGVzLCBldGMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlVHlwZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBkaXNwZW5zaW5nIGV2ZW50IHRoYXQgaXMgcGVyZm9ybWVkLiBGb3IgZXhhbXBsZSwgVHJpYWwgRmlsbCwgQ29tcGxldGlvbiBvZiBUcmlhbCwgUGFydGlhbCBGaWxsLCBFbWVyZ2VuY3kgRmlsbCwgU2FtcGxlcywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgZGlzcGVuc2VkIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gdGhhdCBoYXMgYmVlbiBkaXNwZW5zZWQuIEluY2x1ZGVzIHVuaXQgb2YgbWVhc3VyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF5c1N1cHBseSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gZXhwcmVzc2VkIGFzIGEgdGltaW5nIGFtb3VudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0id2hlblByZXBhcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoZSBkaXNwZW5zZWQgcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuSGFuZGVkT3ZlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhlIGRpc3BlbnNlZCBwcm9kdWN0IHdhcyBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBvciB0aGVpciByZXByZXNlbnRhdGl2ZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzdGluYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIG1lZGljYXRpb24gd2FzIHNlbnQiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBmYWNpbGl0eS9sb2NhdGlvbiB3aGVyZSB0aGUgbWVkaWNhdGlvbiB3YXMgc2hpcHBlZCB0bywgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVyIiBkZXNjcmlwdGlvbj0iV2hvIGNvbGxlY3RlZCB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGVyc29uIHdobyBwaWNrZWQgdXAgdGhlIG1lZGljYXRpb24uICBUaGlzIHdpbGwgdXN1YWxseSBiZSBhIHBhdGllbnQgb3IgdGhlaXIgY2FyZWdpdmVyLCBidXQgc29tZSBjYXNlcyBleGlzdCB3aGVyZSBpdCBjYW4gYmUgYSBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSB0aGF0IGNvdWxkIG5vdCBiZSBjb252ZXllZCBpbiB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IkhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSB1c2VkIGJ5IHRoZSBwYXRpZW50IG9yIGFkbWluaXN0ZXJlZCBieSB0aGUgY2FyZWdpdmVyIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJXaGVuIHRoZSBkb3NlIG9yIHJhdGUgaXMgaW50ZW5kZWQgdG8gY2hhbmdlIG92ZXIgdGhlIGVudGlyZSBhZG1pbmlzdHJhdGlvbiBwZXJpb2QgKGUuZy4gVGFwZXJpbmcgZG9zZSBwcmVzY3JpcHRpb25zKSwgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIGRvc2FnZSBpbnN0cnVjdGlvbnMgd2lsbCBuZWVkIHRvIGJlIHN1cHBsaWVkIHRvIGNvbnZleSB0aGUgZGlmZmVyZW50IGRvc2VzL3JhdGVzLiYjeGQ7VGhlIHBoYXJtYWNpc3QgcmV2aWV3cyB0aGUgbWVkaWNhdGlvbiBvcmRlciBwcmlvciB0byBkaXNwZW5zZSBhbmQgdXBkYXRlcyB0aGUgZG9zYWdlSW5zdHJ1Y3Rpb24gYmFzZWQgb24gdGhlIGFjdHVhbCBwcm9kdWN0IGJlaW5nIGRpc3BlbnNlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RpdHV0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25EaXNwZW5zZS5TdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJXaGV0aGVyIGEgc3Vic3RpdHV0aW9uIHdhcyBwZXJmb3JtZWQgb24gdGhlIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3Qgc3Vic3RpdHV0aW9uIHdhcyBtYWRlIGFzIHBhcnQgb2YgdGhlIGRpc3BlbnNlLiAgSW4gc29tZSBjYXNlcywgc3Vic3RpdHV0aW9uIHdpbGwgYmUgZXhwZWN0ZWQgYnV0IGRvZXMgbm90IGhhcHBlbiwgaW4gb3RoZXIgY2FzZXMgc3Vic3RpdHV0aW9uIGlzIG5vdCBleHBlY3RlZCBidXQgZG9lcyBoYXBwZW4uICBUaGlzIGJsb2NrIGV4cGxhaW5zIHdoYXQgc3Vic3RpdHV0aW9uIGRpZCBvciBkaWQgbm90IGhhcHBlbiBhbmQgd2h5LiAgSWYgbm90aGluZyBpcyBzcGVjaWZpZWQsIHN1YnN0aXR1dGlvbiB3YXMgbm90IGRvbmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldGVjdGVkSXNzdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBpc3N1ZSB3aXRoIGFjdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFuIGFjdHVhbCBvciBwb3RlbnRpYWwgY2xpbmljYWwgaXNzdWUgd2l0aCBvciBiZXR3ZWVuIG9uZSBvciBtb3JlIGFjdGl2ZSBvciBwcm9wb3NlZCBjbGluaWNhbCBhY3Rpb25zIGZvciBhIHBhdGllbnQ7IGUuZy4gZHJ1Zy1kcnVnIGludGVyYWN0aW9uLCBkdXBsaWNhdGUgdGhlcmFweSwgZG9zYWdlIGFsZXJ0IGV0Yy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gaW5jbHVkZSBhIGRldGVjdGVkIGlzc3VlIHRoYXQgaGFzIGJlZW4gaWRlbnRpZmllZCBlaXRoZXIgYnkgYSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSBvciBieSBhIGNsaW5pY2lhbiBhbmQgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gb24gdGhlIHN0ZXBzIHRoYXQgd2VyZSB0YWtlbiB0byBhZGRyZXNzIHRoZSBpc3N1ZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImV2ZW50SGlzdG9yeSIgZGVzY3JpcHRpb249IkEgbGlzdCBvZiByZWxldmFudCBsaWZlY3ljbGUgZXZlbnRzIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgZGlzcGVuc2Ugd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25Ob3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25ub3RyZXF1ZXN0ZWQiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbiBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9Ik1lZGljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJtZWRpY2F0aW9uIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyByZXF1ZXN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgb24taG9sZCB8IGNhbmNlbGxlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVkIHwgZHJhZnQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgb3JkZXIuICBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSBhY3RpdmUgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBwcmVzY3JpYmluZyBldmVudC4gRGVzY3JpYmVzIHRoZSBsaWZlY3ljbGUgb2YgdGhlIHByZXNjcmlwdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIE1lZGljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiBUaGUgcmVhc29uIHdoeSB0aGUgTWVkaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVhc29ucyBmb3IgYSBnaXZlbiBzdGF0dXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIG9yIGFuIG9yaWdpbmFsIG9yZGVyLiIgY29tbWVudD0iSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgdHlwZSBvZiByZXF1ZXN0ZXIgd2lsbCBiZSByZXN0cmljdGVkIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIGEgTWVkaWNhdGlvblJlcXVlc3QuICBGb3IgZXhhbXBsZSwgUHJvcG9zYWxzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgcGF0aWVudCwgcmVsYXRlZFBlcnNvbiwgUHJhY3RpdGlvbmVyIG9yIERldmljZS4gIFBsYW5zIGNhbiBiZSBjcmVhdGVkIGJ5IFByYWN0aXRpb25lcnMsIFBhdGllbnRzLCBSZWxhdGVkUGVyc29ucyBhbmQgRGV2aWNlcy4gIE9yaWdpbmFsIG9yZGVycyBjYW4gYmUgY3JlYXRlZCBieSBhIFByYWN0aXRpb25lciBvbmx5LiYjeGQ7JiN4ZDtBbiBpbnN0YW5jZS1vcmRlciBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIGEgcmVxdWVzdCBvciBvcmRlciBhbmQgbWF5IGJlIHVzZWQgdG8gcG9wdWxhdGUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiBSZWNvcmQuJiN4ZDsmI3hkO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBtZWRpY2F0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB0aGUgY2F0ZWdvcnkgb2YgbWVkaWNhdGlvbiByZXF1ZXN0LiAgRm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCwgb3IgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiB0cmVhdG1lbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIG1lZGljYXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBNZWRpY2F0aW9uIFJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVHJ1ZSBpZiBtZWRpY2F0aW9uIHdhcyBub3QgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJJZiB0cnVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm92aWRlciBpcyBhc2tpbmcgZm9yIHRoZSBtZWRpY2F0aW9uIHJlcXVlc3Qgbm90IHRvIG9jY3VyLiIgY29tbWVudD0iSWYgZG8gbm90IHBlcmZvcm0gaXMgbm90IHNwZWNpZmllZCwgdGhlIHJlcXVlc3QgaXMgYSBwb3NpdGl2ZSByZXF1ZXN0IGUuZy4gJnF1b3Q7ZG8gcGVyZm9ybSZxdW90Oy4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcG9ydGVkIHJhdGhlciB0aGFuIHByaW1hcnkgcmVjb3JkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaWYgdGhpcyByZWNvcmQgd2FzIGNhcHR1cmVkIGFzIGEgc2Vjb25kYXJ5ICdyZXBvcnRlZCcgcmVjb3JkIHJhdGhlciB0aGFuIGFzIGFuIG9yaWdpbmFsIHByaW1hcnkgc291cmNlLW9mLXRydXRoIHJlY29yZC4gIEl0IG1heSBhbHNvIGluZGljYXRlIHRoZSBzb3VyY2Ugb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQubWVkaWNhdGlvblt4XS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZWRpY2F0aW9uIHRvIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIHJlcXVlc3RlZC4gVGhpcyBpcyBhIGxpbmsgdG8gYSByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgdGhlIG1lZGljYXRpb24gd2hpY2ggbWF5IGJlIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIHNpbXBseSBhbiBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciBvciBpZiB0aGUgbWVkaWNhdGlvbiBpcyBjb21wb3VuZGVkIG9yIGV4dGVtcG9yYW5lb3VzbHkgcHJlcGFyZWQsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBvciBncm91cCBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciBzZXQgb2YgaW5kaXZpZHVhbHMgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iVGhlIHN1YmplY3Qgb24gYSBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgbWFuZGF0b3J5LiAgRm9yIHRoZSBzZWNvbmRhcnkgdXNlIGNhc2Ugd2hlcmUgdGhlIGFjdHVhbCBzdWJqZWN0IGlzIG5vdCBwcm92aWRlZCwgdGhlcmUgc3RpbGwgbXVzdCBiZSBhbiBhbm9ueW1pemVkIHN1YmplY3Qgc3BlY2lmaWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YgZW5jb3VudGVyL2FkbWlzc2lvbi9zdGF5IiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCB0aGlzIFt4XSB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4mcXVvdDsgICAgSWYgdGhlcmUgaXMgYSBuZWVkIHRvIGxpbmsgdG8gZXBpc29kZXMgb2YgY2FyZSB0aGV5IHdpbGwgYmUgaGFuZGxlZCB3aXRoIGFuIGV4dGVuc2lvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHRvIHN1cHBvcnQgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IkluY2x1ZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIG9yZGVyaW5nIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlcXVlc3Qgd2FzIGluaXRpYWxseSBhdXRob3JlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIHByZXNjcmlwdGlvbiB3YXMgaW5pdGlhbGx5IHdyaXR0ZW4gb3IgYXV0aG9yZWQgb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL1doYXQgcmVxdWVzdGVkIHRoZSBSZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCwgb3JnYW5pemF0aW9uLCBvciBkZXZpY2UgdGhhdCBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW50ZW5kZWQgcGVyZm9ybWVyIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2lmaWVkIGRlc2lyZWQgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIHRyZWF0bWVudCAoZS5nLiB0aGUgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBraW5kIG9mIHBlcmZvcm1lciBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIHBlcmZvcm1lciBvZiB0aGUgYWRtaW5pc3RyYXRpb24gb2YgdGhlIG1lZGljYXRpb24uIiBjb21tZW50PSJJZiBzcGVjaWZpZWQgd2l0aG91dCBpbmRpY2F0aW5nIGEgcGVyZm9ybWVyLCB0aGlzIGluZGljYXRlcyB0aGF0IHRoZSBwZXJmb3JtZXIgbXVzdCBiZSBvZiB0aGUgc3BlY2lmaWVkIHR5cGUuIElmIHNwZWNpZmllZCB3aXRoIGEgcGVyZm9ybWVyIHRoZW4gaXQgaW5kaWNhdGVzIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIHBlcmZvcm1lciBpZiB0aGUgZGVzaWduYXRlZCBwZXJmb3JtZXIgaXMgbm90IGF2YWlsYWJsZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdFBlcmZvcm1lclR5cGUiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIGluZGl2aWR1YWwgdGhhdCBpcyBkZXNpcmVkIHRvIGFkbWluaXN0ZXIgdGhlIG1lZGljYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgb3JkZXIgb24gYmVoYWxmIG9mIGFub3RoZXIgaW5kaXZpZHVhbCBmb3IgZXhhbXBsZSBpbiB0aGUgY2FzZSBvZiBhIHZlcmJhbCBvciBhIHRlbGVwaG9uZSBvcmRlci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gb3IgaW5kaWNhdGlvbiBmb3Igb3JkZXJpbmcgb3Igbm90IG9yZGVyaW5nIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIG9yIHRoZSBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24uIiBjb21tZW50PSJUaGlzIGNvdWxkIGJlIGEgZGlhZ25vc2lzIGNvZGUuIElmIGEgZnVsbCBjb25kaXRpb24gcmVjb3JkIGV4aXN0cyBvciBhZGRpdGlvbmFsIGRldGFpbCBpcyBuZWVkZWQsIHVzZSByZWFzb25SZWZlcmVuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIHRoZSBtZWRpY2F0aW9uIHdhcyBub3QgcmVxdWVzdGVkIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgcHJlc2NyaXB0aW9uIGlzIGJlaW5nIHdyaXR0ZW4iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgTWVkaWNhdGlvblJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBNZWRpY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcmVxdWlzaXRpb24gb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZXF1aXJlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiB0aGF0IGNvdWxkIG5vdCBiZSBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IkhvdyB0aGUgbWVkaWNhdGlvbiBzaG91bGQgYmUgdGFrZW4iIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZXJlIGFyZSBleGFtcGxlcyB3aGVyZSBhIG1lZGljYXRpb24gcmVxdWVzdCBtYXkgaW5jbHVkZSB0aGUgb3B0aW9uIG9mIGFuIG9yYWwgZG9zZSBvciBhbiBJbnRyYXZlbm91cyBvciBJbnRyYW11c2N1bGFyIGRvc2UuICBGb3IgZXhhbXBsZSwgJnF1b3Q7T25kYW5zZXRyb24gOG1nIG9yYWxseSBvciBJViB0d2ljZSBhIGRheSBhcyBuZWVkZWQgZm9yIG5hdXNlYSZxdW90OyBvciAmcXVvdDtDb21wYXppbmXCriAocHJvY2hsb3JwZXJhemluZSkgNS0xMG1nIFBPIG9yIDI1bWcgUFIgYmlkIHBybiBuYXVzZWEgb3Igdm9taXRpbmcmcXVvdDsuICBJbiB0aGVzZSBjYXNlcywgdHdvIG1lZGljYXRpb24gcmVxdWVzdHMgd291bGQgYmUgY3JlYXRlZCB0aGF0IGNvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIuICBUaGUgZGVjaXNpb24gb24gd2hpY2ggZG9zZSBhbmQgcm91dGUgb2YgYWRtaW5pc3RyYXRpb24gdG8gdXNlIGlzIGJhc2VkIG9uIHRoZSBwYXRpZW50J3MgY29uZGl0aW9uIGF0IHRoZSB0aW1lIHRoZSBkb3NlIGlzIG5lZWRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iTWVkaWNhdGlvbiBzdXBwbHkgYXV0aG9yaXphdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzcGVjaWZpYyBkZXRhaWxzIGZvciB0aGUgZGlzcGVuc2Ugb3IgbWVkaWNhdGlvbiBzdXBwbHkgcGFydCBvZiBhIG1lZGljYXRpb24gcmVxdWVzdCAoYWxzbyBrbm93biBhcyBhIE1lZGljYXRpb24gUHJlc2NyaXB0aW9uIG9yIE1lZGljYXRpb24gT3JkZXIpLiAgTm90ZSB0aGF0IHRoaXMgaW5mb3JtYXRpb24gaXMgbm90IGFsd2F5cyBzZW50IHdpdGggdGhlIG9yZGVyLiAgVGhlcmUgbWF5IGJlIGluIHNvbWUgc2V0dGluZ3MgKGUuZy4gaG9zcGl0YWxzKSBpbnN0aXR1dGlvbmFsIG9yIHN5c3RlbSBzdXBwb3J0IGZvciBjb21wbGV0aW5nIHRoZSBkaXNwZW5zZSBkZXRhaWxzIGluIHRoZSBwaGFybWFjeSBkZXBhcnRtZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuU3Vic3RpdHV0aW9uIiBkZXNjcmlwdGlvbj0iQW55IHJlc3RyaWN0aW9ucyBvbiBtZWRpY2F0aW9uIHN1YnN0aXR1dGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHN1YnN0aXR1dGlvbiBjYW4gb3Igc2hvdWxkIGJlIHBhcnQgb2YgdGhlIGRpc3BlbnNlLiBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gbXVzdCBoYXBwZW4sIGluIG90aGVyIGNhc2VzIHN1YnN0aXR1dGlvbiBtdXN0IG5vdCBoYXBwZW4uIFRoaXMgYmxvY2sgZXhwbGFpbnMgdGhlIHByZXNjcmliZXIncyBpbnRlbnQuIElmIG5vdGhpbmcgaXMgc3BlY2lmaWVkIHN1YnN0aXR1dGlvbiBtYXkgYmUgZG9uZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JQcmVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQW4gb3JkZXIvcHJlc2NyaXB0aW9uIHRoYXQgaXMgYmVpbmcgcmVwbGFjZWQiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyBhbiBlYXJsaWVyIG9yZGVyIHJlbGF0ZWQgb3JkZXIgb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgSXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIERydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0IGluIHRoZSBsaWZlY3ljbGUiIGRlZmluaXRpb249IkxpbmtzIHRvIFByb3ZlbmFuY2UgcmVjb3JkcyBmb3IgcGFzdCB2ZXJzaW9ucyBvZiB0aGlzIHJlc291cmNlIG9yIGZ1bGZpbGxpbmcgcmVxdWVzdCBvciBldmVudCByZXNvdXJjZXMgdGhhdCBpZGVudGlmeSBrZXkgc3RhdGUgdHJhbnNpdGlvbnMgb3IgdXBkYXRlcyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgcmVsZXZhbnQgdG8gYSB1c2VyIGxvb2tpbmcgYXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgcHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBwcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25yZXF1ZXN0IiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJtZWRpY2F0aW9uIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyByZXF1ZXN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZl4oCLIHwgb24taG9sZOKAiyB8IGNhbmNlbGxlZOKAiyB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVk4oCLIHwgZHJhZnTigIsgfCB1bmtub3du4oCLIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgb3JkZXIuICBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSBhY3RpdmUgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBwcmVzY3JpYmluZyBldmVudC4gRGVzY3JpYmVzIHRoZSBsaWZlY3ljbGUgb2YgdGhlIHByZXNjcmlwdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIE1lZGljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiBUaGUgcmVhc29uIHdoeSB0aGUgTWVkaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVhc29ucyBmb3IgYSBnaXZlbiBzdGF0dXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIG9yIGFuIG9yaWdpbmFsIG9yZGVyLiIgY29tbWVudD0iSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgdHlwZSBvZiByZXF1ZXN0ZXIgd2lsbCBiZSByZXN0cmljdGVkIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIGEgTWVkaWNhdGlvblJlcXVlc3QuICBGb3IgZXhhbXBsZSwgUHJvcG9zYWxzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgcGF0aWVudCwgcmVsYXRlZFBlcnNvbiwgUHJhY3RpdGlvbmVyIG9yIERldmljZS4gIFBsYW5zIGNhbiBiZSBjcmVhdGVkIGJ5IFByYWN0aXRpb25lcnMsIFBhdGllbnRzLCBSZWxhdGVkUGVyc29ucyBhbmQgRGV2aWNlcy4gIE9yaWdpbmFsIG9yZGVycyBjYW4gYmUgY3JlYXRlZCBieSBhIFByYWN0aXRpb25lciBvbmx5LiYjeGQ7JiN4ZDtBbiBpbnN0YW5jZS1vcmRlciBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIGEgcmVxdWVzdCBvciBvcmRlciBhbmQgbWF5IGJlIHVzZWQgdG8gcG9wdWxhdGUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiBSZWNvcmQuJiN4ZDsmI3hkO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBtZWRpY2F0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIG1lZGljYXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBNZWRpY2F0aW9uIFJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0ZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVwb3J0ZWQgcmF0aGVyIHRoYW4gcHJpbWFyeSByZWNvcmQiIGRlZmluaXRpb249IkluZGljYXRlcyBpZiB0aGlzIHJlY29yZCB3YXMgY2FwdHVyZWQgYXMgYSBzZWNvbmRhcnkgJ3JlcG9ydGVkJyByZWNvcmQgcmF0aGVyIHRoYW4gYXMgYW4gb3JpZ2luYWwgcHJpbWFyeSBzb3VyY2Utb2YtdHJ1dGggcmVjb3JkLiAgSXQgbWF5IGFsc28gaW5kaWNhdGUgdGhlIHNvdXJjZSBvZiB0aGUgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZWRpY2F0aW9uIHRvIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIHJlcXVlc3RlZC4gVGhpcyBpcyBhIGxpbmsgdG8gYSByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgdGhlIG1lZGljYXRpb24gd2hpY2ggbWF5IGJlIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIHNpbXBseSBhbiBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciBvciBpZiB0aGUgbWVkaWNhdGlvbiBpcyBjb21wb3VuZGVkIG9yIGV4dGVtcG9yYW5lb3VzbHkgcHJlcGFyZWQsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIG9yIGdyb3VwIG1lZGljYXRpb24gcmVxdWVzdCBpcyBmb3IiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgcGVyc29uIG9yIHNldCBvZiBpbmRpdmlkdWFscyB0byB3aG9tIHRoZSBtZWRpY2F0aW9uIHdpbGwgYmUgZ2l2ZW4uIiBjb21tZW50PSJUaGUgc3ViamVjdCBvbiBhIG1lZGljYXRpb24gcmVxdWVzdCBpcyBtYW5kYXRvcnkuICBGb3IgdGhlIHNlY29uZGFyeSB1c2UgY2FzZSB3aGVyZSB0aGUgYWN0dWFsIHN1YmplY3QgaXMgbm90IHByb3ZpZGVkLCB0aGVyZSBzdGlsbCBtdXN0IGJlIGFuIGFub255bWl6ZWQgc3ViamVjdCBzcGVjaWZpZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiBlbmNvdW50ZXIvYWRtaXNzaW9uL3N0YXkiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgW3hdIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiZxdW90OyAgICBJZiB0aGVyZSBpcyBhIG5lZWQgdG8gbGluayB0byBlcGlzb2RlcyBvZiBjYXJlIHRoZXkgd2lsbCBiZSBoYW5kbGVkIHdpdGggYW4gZXh0ZW5zaW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gdG8gc3VwcG9ydCBvcmRlcmluZyBvZiB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iSW5jbHVkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGF0aWVudCBoZWlnaHQgYW5kIHdlaWdodCkgdGhhdCBzdXBwb3J0cyB0aGUgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVxdWVzdCB3YXMgaW5pdGlhbGx5IGF1dGhvcmVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSAoYW5kIHBlcmhhcHMgdGltZSkgd2hlbiB0aGUgcHJlc2NyaXB0aW9uIHdhcyBpbml0aWFsbHkgd3JpdHRlbiBvciBhdXRob3JlZCBvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8vV2hhdCByZXF1ZXN0ZWQgdGhlIFJlcXVlc3QiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsLCBvcmdhbml6YXRpb24sIG9yIGRldmljZSB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIGNvbW1lbnQ9IlNob3VsZCBpbmNsdWRlIFFJQ29yZURldmljZSBidXQgdGhlIGJhc2UgcHJvZmlsZSBkb2VzIGV4Y2x1ZGVzIGRldmljZSByZWZlcmVuY2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkludGVuZGVkIHBlcmZvcm1lciBvZiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpZmllZCBkZXNpcmVkIHBlcmZvcm1lciBvZiB0aGUgbWVkaWNhdGlvbiB0cmVhdG1lbnQgKGUuZy4gdGhlIHBlcmZvcm1lciBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbikuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQga2luZCBvZiBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBwZXJmb3JtZXIgb2YgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiIgY29tbWVudD0iSWYgc3BlY2lmaWVkIHdpdGhvdXQgaW5kaWNhdGluZyBhIHBlcmZvcm1lciwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgcGVyZm9ybWVyIG11c3QgYmUgb2YgdGhlIHNwZWNpZmllZCB0eXBlLiBJZiBzcGVjaWZpZWQgd2l0aCBhIHBlcmZvcm1lciB0aGVuIGl0IGluZGljYXRlcyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBwZXJmb3JtZXIgaWYgdGhlIGRlc2lnbmF0ZWQgcGVyZm9ybWVyIGlzIG5vdCBhdmFpbGFibGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgdHlwZSBvZiBpbmRpdmlkdWFsIHRoYXQgaXMgZGVzaXJlZCB0byBhZG1pbmlzdGVyIHRoZSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQZXJzb24gd2hvIGVudGVyZWQgdGhlIHJlcXVlc3QiIGRlZmluaXRpb249IlRoZSBwZXJzb24gd2hvIGVudGVyZWQgdGhlIG9yZGVyIG9uIGJlaGFsZiBvZiBhbm90aGVyIGluZGl2aWR1YWwgZm9yIGV4YW1wbGUgaW4gdGhlIGNhc2Ugb2YgYSB2ZXJiYWwgb3IgYSB0ZWxlcGhvbmUgb3JkZXIuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBvciBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IgdGhlIGluZGljYXRpb24gZm9yIG9yZGVyaW5nIG9yIG5vdCBvcmRlcmluZyB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIG9yZGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgcHJlc2NyaXB0aW9uIGlzIGJlaW5nIHdyaXR0ZW4iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgTWVkaWNhdGlvblJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBNZWRpY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcmVxdWlzaXRpb24gb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZXF1aXJlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiB0aGF0IGNvdWxkIG5vdCBiZSBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IkhvdyB0aGUgbWVkaWNhdGlvbiBzaG91bGQgYmUgdGFrZW4iIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZXJlIGFyZSBleGFtcGxlcyB3aGVyZSBhIG1lZGljYXRpb24gcmVxdWVzdCBtYXkgaW5jbHVkZSB0aGUgb3B0aW9uIG9mIGFuIG9yYWwgZG9zZSBvciBhbiBJbnRyYXZlbm91cyBvciBJbnRyYW11c2N1bGFyIGRvc2UuICBGb3IgZXhhbXBsZSwgJnF1b3Q7T25kYW5zZXRyb24gOG1nIG9yYWxseSBvciBJViB0d2ljZSBhIGRheSBhcyBuZWVkZWQgZm9yIG5hdXNlYSZxdW90OyBvciAmcXVvdDtDb21wYXppbmXCriAocHJvY2hsb3JwZXJhemluZSkgNS0xMG1nIFBPIG9yIDI1bWcgUFIgYmlkIHBybiBuYXVzZWEgb3Igdm9taXRpbmcmcXVvdDsuICBJbiB0aGVzZSBjYXNlcywgdHdvIG1lZGljYXRpb24gcmVxdWVzdHMgd291bGQgYmUgY3JlYXRlZCB0aGF0IGNvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIuICBUaGUgZGVjaXNpb24gb24gd2hpY2ggZG9zZSBhbmQgcm91dGUgb2YgYWRtaW5pc3RyYXRpb24gdG8gdXNlIGlzIGJhc2VkIG9uIHRoZSBwYXRpZW50J3MgY29uZGl0aW9uIGF0IHRoZSB0aW1lIHRoZSBkb3NlIGlzIG5lZWRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iTWVkaWNhdGlvbiBzdXBwbHkgYXV0aG9yaXphdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzcGVjaWZpYyBkZXRhaWxzIGZvciB0aGUgZGlzcGVuc2Ugb3IgbWVkaWNhdGlvbiBzdXBwbHkgcGFydCBvZiBhIG1lZGljYXRpb24gcmVxdWVzdCAoYWxzbyBrbm93biBhcyBhIE1lZGljYXRpb24gUHJlc2NyaXB0aW9uIG9yIE1lZGljYXRpb24gT3JkZXIpLiAgTm90ZSB0aGF0IHRoaXMgaW5mb3JtYXRpb24gaXMgbm90IGFsd2F5cyBzZW50IHdpdGggdGhlIG9yZGVyLiAgVGhlcmUgbWF5IGJlIGluIHNvbWUgc2V0dGluZ3MgKGUuZy4gaG9zcGl0YWxzKSBpbnN0aXR1dGlvbmFsIG9yIHN5c3RlbSBzdXBwb3J0IGZvciBjb21wbGV0aW5nIHRoZSBkaXNwZW5zZSBkZXRhaWxzIGluIHRoZSBwaGFybWFjeSBkZXBhcnRtZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RpdHV0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25SZXF1ZXN0LlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IkFueSByZXN0cmljdGlvbnMgb24gbWVkaWNhdGlvbiBzdWJzdGl0dXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gY2FuIG9yIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBkaXNwZW5zZS4gSW4gc29tZSBjYXNlcywgc3Vic3RpdHV0aW9uIG11c3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gbXVzdCBub3QgaGFwcGVuLiBUaGlzIGJsb2NrIGV4cGxhaW5zIHRoZSBwcmVzY3JpYmVyJ3MgaW50ZW50LiBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCBzdWJzdGl0dXRpb24gbWF5IGJlIGRvbmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yUHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFuIG9yZGVyL3ByZXNjcmlwdGlvbiB0aGF0IGlzIGJlaW5nIHJlcGxhY2VkIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgYW4gZWFybGllciBvcmRlciByZWxhdGVkIG9yZGVyIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0ZWN0ZWRJc3N1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIElzc3VlIHdpdGggYWN0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW4gYWN0dWFsIG9yIHBvdGVudGlhbCBjbGluaWNhbCBpc3N1ZSB3aXRoIG9yIGJldHdlZW4gb25lIG9yIG1vcmUgYWN0aXZlIG9yIHByb3Bvc2VkIGNsaW5pY2FsIGFjdGlvbnMgZm9yIGEgcGF0aWVudDsgZS5nLiBEcnVnLWRydWcgaW50ZXJhY3Rpb24sIGR1cGxpY2F0ZSB0aGVyYXB5LCBkb3NhZ2UgYWxlcnQgZXRjLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGNhbiBpbmNsdWRlIGEgZGV0ZWN0ZWQgaXNzdWUgdGhhdCBoYXMgYmVlbiBpZGVudGlmaWVkIGVpdGhlciBieSBhIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtIG9yIGJ5IGEgY2xpbmljaWFuIGFuZCBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3RlcHMgdGhhdCB3ZXJlIHRha2VuIHRvIGFkZHJlc3MgdGhlIGlzc3VlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJMaW5rcyB0byBQcm92ZW5hbmNlIHJlY29yZHMgZm9yIHBhc3QgdmVyc2lvbnMgb2YgdGhpcyByZXNvdXJjZSBvciBmdWxmaWxsaW5nIHJlcXVlc3Qgb3IgZXZlbnQgcmVzb3VyY2VzIHRoYXQgaWRlbnRpZnkga2V5IHN0YXRlIHRyYW5zaXRpb25zIG9yIHVwZGF0ZXMgdGhhdCBhcmUgbGlrZWx5IHRvIGJlIHJlbGV2YW50IHRvIGEgdXNlciBsb29raW5nIGF0IHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIHByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgcHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0LkRpc3BlbnNlUmVxdWVzdCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VJbnRlcnZhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNaW5pbXVtIHBlcmlvZCBvZiB0aW1lIGJldHdlZW4gZGlzcGVuc2VzIiBkZWZpbml0aW9uPSJUaGUgbWluaW11bSBwZXJpb2Qgb2YgdGltZSB0aGF0IG11c3Qgb2NjdXIgYmV0d2VlbiBkaXNwZW5zZXMgb2YgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWxpZGl0eVBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBzdXBwbHkgaXMgYXV0aG9yaXplZCBmb3IiIGRlZmluaXRpb249IlRoaXMgaW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBwZXJpb2Qgb2YgYSBwcmVzY3JpcHRpb24gKHN0YWxlIGRhdGluZyB0aGUgUHJlc2NyaXB0aW9uKS4iIGNvbW1lbnQ9Ikl0IHJlZmxlY3RzIHRoZSBwcmVzY3JpYmVycycgcGVyc3BlY3RpdmUgZm9yIHRoZSB2YWxpZGl0eSBvZiB0aGUgcHJlc2NyaXB0aW9uLiBEaXNwZW5zZXMgbXVzdCBub3QgYmUgbWFkZSBhZ2FpbnN0IHRoZSBwcmVzY3JpcHRpb24gb3V0c2lkZSBvZiB0aGlzIHBlcmlvZC4gVGhlIGxvd2VyLWJvdW5kIG9mIHRoZSBEaXNwZW5zaW5nIFdpbmRvdyBzaWduaWZpZXMgdGhlIGVhcmxpZXN0IGRhdGUgdGhhdCB0aGUgcHJlc2NyaXB0aW9uIGNhbiBiZSBmaWxsZWQgZm9yIHRoZSBmaXJzdCB0aW1lLiBJZiBhbiB1cHBlci1ib3VuZCBpcyBub3Qgc3BlY2lmaWVkIHRoZW4gdGhlIFByZXNjcmlwdGlvbiBpcyBvcGVuLWVuZGVkIG9yIHdpbGwgZGVmYXVsdCB0byBhIHN0YWxlLWRhdGUgYmFzZWQgb24gcmVndWxhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJudW1iZXJPZlJlcGVhdHNBbGxvd2VkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIHJlZmlsbHMgYXV0aG9yaXplZCIgZGVmaW5pdGlvbj0iQW4gaW50ZWdlciBpbmRpY2F0aW5nIHRoZSBudW1iZXIgb2YgdGltZXMsIGluIGFkZGl0aW9uIHRvIHRoZSBvcmlnaW5hbCBkaXNwZW5zZSwgKGFrYSByZWZpbGxzIG9yIHJlcGVhdHMpIHRoYXQgdGhlIHBhdGllbnQgY2FuIHJlY2VpdmUgdGhlIHByZXNjcmliZWQgbWVkaWNhdGlvbi4gVXNhZ2UgTm90ZXM6IFRoaXMgaW50ZWdlciBkb2VzIG5vdCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBvcmRlciBkaXNwZW5zZS4gVGhpcyBtZWFucyB0aGF0IGlmIGFuIG9yZGVyIGluZGljYXRlcyBkaXNwZW5zZSAzMCB0YWJsZXRzIHBsdXMgJnF1b3Q7MyByZXBlYXRzJnF1b3Q7LCB0aGVuIHRoZSBvcmRlciBjYW4gYmUgZGlzcGVuc2VkIGEgdG90YWwgb2YgNCB0aW1lcyBhbmQgdGhlIHBhdGllbnQgY2FuIHJlY2VpdmUgYSB0b3RhbCBvZiAxMjAgdGFibGV0cy4gIEEgcHJlc2NyaWJlciBtYXkgZXhwbGljaXRseSBzYXkgdGhhdCB6ZXJvIHJlZmlsbHMgYXJlIHBlcm1pdHRlZCBhZnRlciB0aGUgaW5pdGlhbCBkaXNwZW5zZS4iIGNvbW1lbnQ9IklmIGRpc3BsYXlpbmcgJnF1b3Q7bnVtYmVyIG9mIGF1dGhvcml6ZWQgZmlsbHMmcXVvdDssIGFkZCAxIHRvIHRoaXMgbnVtYmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIG1lZGljYXRpb24gdG8gc3VwcGx5IHBlciBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCB0aGF0IGlzIHRvIGJlIGRpc3BlbnNlZCBmb3Igb25lIGZpbGwuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiBkYXlzIHN1cHBseSBwZXIgZGlzcGVuc2UiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBlcmlvZCB0aW1lIG92ZXIgd2hpY2ggdGhlIHN1cHBsaWVkIHByb2R1Y3QgaXMgZXhwZWN0ZWQgdG8gYmUgdXNlZCwgb3IgdGhlIGxlbmd0aCBvZiB0aW1lIHRoZSBkaXNwZW5zZSBpcyBleHBlY3RlZCB0byBsYXN0LiIgY29tbWVudD0iSW4gc29tZSBzaXR1YXRpb25zLCB0aGlzIGF0dHJpYnV0ZSBtYXkgYmUgdXNlZCBpbnN0ZWFkIG9mIHF1YW50aXR5IHRvIGlkZW50aWZ5IHRoZSBhbW91bnQgc3VwcGxpZWQgYnkgaG93IGxvbmcgaXQgaXMgZXhwZWN0ZWQgdG8gbGFzdCwgcmF0aGVyIHRoYW4gdGhlIHBoeXNpY2FsIHF1YW50aXR5IGlzc3VlZCwgZS5nLiA5MCBkYXlzIHN1cHBseSBvZiBtZWRpY2F0aW9uIChiYXNlZCBvbiBhbiBvcmRlcmVkIGRvc2FnZSkuIFdoZW4gcG9zc2libGUsIGl0IGlzIGFsd2F5cyBiZXR0ZXIgdG8gc3BlY2lmeSBxdWFudGl0eSwgYXMgdGhpcyB0ZW5kcyB0byBiZSBtb3JlIHByZWNpc2UuIGV4cGVjdGVkU3VwcGx5RHVyYXRpb24gd2lsbCBhbHdheXMgYmUgYW4gZXN0aW1hdGUgdGhhdCBjYW4gYmUgaW5mbHVlbmNlZCBieSBleHRlcm5hbCBmYWN0b3JzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkludGVuZGVkIGRpc3BlbnNlciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBpbnRlbmRlZCBkaXNwZW5zaW5nIE9yZ2FuaXphdGlvbiBzcGVjaWZpZWQgYnkgdGhlIHByZXNjcmliZXIuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0LkRpc3BlbnNlUmVxdWVzdC5Jbml0aWFsRmlsbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRmlyc3QgZmlsbCBxdWFudGl0eSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvciBxdWFudGl0eSB0byBwcm92aWRlIGFzIHBhcnQgb2YgdGhlIGZpcnN0IGRpc3BlbnNlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGaXJzdCBmaWxsIGR1cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgbGVuZ3RoIG9mIHRpbWUgdGhhdCB0aGUgZmlyc3QgZGlzcGVuc2UgaXMgZXhwZWN0ZWQgdG8gbGFzdC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3QuU3Vic3RpdHV0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbGxvd2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXRoZXIgc3Vic3RpdHV0aW9uIGlzIGFsbG93ZWQgb3Igbm90IiBkZWZpbml0aW9uPSJUcnVlIGlmIHRoZSBwcmVzY3JpYmVyIGFsbG93cyBhIGRpZmZlcmVudCBkcnVnIHRvIGJlIGRpc3BlbnNlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2Ugd2hldGhlciBzdWJzdGl0dXRpb24gaXMgYWxsb3cgb3Igbm90LCBpdCBjYW5ub3QgYmUgaWdub3JlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RTdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHN1YnN0aXR1dGlvbiBhbGxvd2VkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBzaG91bGQgKG5vdCkgc3Vic3RpdHV0aW9uIGJlIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIGZvciB0aGUgc3Vic3RpdHV0aW9uLCBvciB3aHkgc3Vic3RpdHV0aW9uIG11c3Qgb3IgbXVzdCBub3QgYmUgcGVyZm9ybWVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25JbnRlbmRlZFN1YnN0aXR1dGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSByZWFzb24gdGhhdCBhIGRpZmZlcmVudCBtZWRpY2F0aW9uIHNob3VsZCAob3Igc2hvdWxkIG5vdCkgYmUgc3Vic3RpdHV0ZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uc3RhdGVtZW50IiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25TdGF0ZW1lbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBTdGF0ZW1lbnQgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIGV2ZW50IGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblN0YXRlbWVudFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgaW50ZW5kZWQgfCBzdG9wcGVkIHwgb24taG9sZCB8IHVua25vd24gfCBub3QtdGFrZW4iIGRlZmluaXRpb249IkEgY29kZSByZXByZXNlbnRpbmcgdGhlIHBhdGllbnQgb3Igb3RoZXIgc291cmNlJ3MganVkZ21lbnQgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBtZWRpY2F0aW9uIHVzZWQgdGhhdCB0aGlzIHN0YXRlbWVudCBpcyBhYm91dC4gIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQuIiBjb21tZW50PSJNZWRpY2F0aW9uU3RhdGVtZW50IGlzIGEgc3RhdGVtZW50IGF0IGEgcG9pbnQgaW4gdGltZS4gIFRoZSBzdGF0dXMgaXMgb25seSByZXByZXNlbnRhdGl2ZSBhdCB0aGUgcG9pbnQgd2hlbiBpdCB3YXMgYXNzZXJ0ZWQuICBUaGUgdmFsdWUgc2V0IGZvciBNZWRpY2F0aW9uU3RhdGVtZW50LnN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gYnkgdGhlIHBhdGllbnQgKGZvciBleGFtcGxlLCBzdG9wcGVkIG9yIG9uIGhvbGQpIGFzIHdlbGwgYXMgY29kZXMgdGhhdCBhc3NlcnQgdGhlIHN0YXR1cyBvZiB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgaXRzZWxmIChmb3IgZXhhbXBsZSwgZW50ZXJlZCBpbiBlcnJvcikuJiN4ZDsmI3hkO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblN0YXRlbWVudFN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpbmRpY2F0aW5nIHRoZSBjdXJyZW50IHN0YXR1cyBvZiBhIE1lZGljYXRpb25TdGF0ZW1lbnQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgJnF1b3Q7ZXhjZXB0aW9uJnF1b3Q7IHN0YXR1c2VzIHN1Y2ggYXMgJnF1b3Q7bm90LXRha2VuJnF1b3Q7LCAmcXVvdDtvbi1ob2xkJnF1b3Q7LCAmcXVvdDtjYW5jZWxsZWQmcXVvdDsgb3IgJnF1b3Q7ZW50ZXJlZC1pbi1lcnJvciZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIHN0YXR1cyBvZiB0aGUgc3RhdGVtZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBtZWRpY2F0aW9uIHVzYWdlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25TdGF0ZW1lbnRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpbmNsdWRlZCBpbiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudCBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IG1lZGljYXRpb24gd2FzIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgUnhOb3JtIGNvZGVzIHRvIHJlcHJlc2VudCBtZWRpY2F0aW9ucyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzL3dhcyB0YWtpbmcgIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uLCBhbmltYWwgb3IgZ3JvdXAgd2hvIGlzL3dhcyB0YWtpbmcgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciAvIEVwaXNvZGUgYXNzb2NpYXRlZCB3aXRoIE1lZGljYXRpb25TdGF0ZW1lbnQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgb3IgZXBpc29kZSBvZiBjYXJlIHRoYXQgZXN0YWJsaXNoZXMgdGhlIGNvbnRleHQgZm9yIHRoaXMgTWVkaWNhdGlvblN0YXRlbWVudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBkYXRlL3RpbWUgb3IgaW50ZXJ2YWwgd2hlbiB0aGUgbWVkaWNhdGlvbiBpcy93YXMvd2lsbCBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iVGhlIGludGVydmFsIG9mIHRpbWUgZHVyaW5nIHdoaWNoIGl0IGlzIGJlaW5nIGFzc2VydGVkIHRoYXQgdGhlIHBhdGllbnQgaXMvd2FzL3dpbGwgYmUgdGFraW5nIHRoZSBtZWRpY2F0aW9uIChvciB3YXMgbm90IHRha2luZywgd2hlbiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC50YWtlbiBlbGVtZW50IGlzIE5vKS4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHJlZmxlY3RzIHRoZSBwZXJpb2Qgb3ZlciB3aGljaCB0aGUgcGF0aWVudCBjb25zdW1lZCB0aGUgbWVkaWNhdGlvbiBhbmQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkIG9uIHRoZSBtYWpvcml0eSBvZiBNZWRpY2F0aW9uIFN0YXRlbWVudHMuIElmIHRoZSBtZWRpY2F0aW9uIGlzIHN0aWxsIGJlaW5nIHRha2VuIGF0IHRoZSB0aW1lIHRoZSBzdGF0ZW1lbnQgaXMgcmVjb3JkZWQsIHRoZSAmcXVvdDtlbmQmcXVvdDsgZGF0ZSB3aWxsIGJlIG9taXR0ZWQuICBUaGUgZGF0ZS90aW1lIGF0dHJpYnV0ZSBzdXBwb3J0cyBhIHZhcmlldHkgb2YgZGF0ZXMgLSB5ZWFyLCB5ZWFyL21vbnRoIGFuZCBleGFjdCBkYXRlLiAgSWYgc29tZXRoaW5nIG1vcmUgdGhhbiB0aGlzIGlzIHJlcXVpcmVkLCB0aGlzIHNob3VsZCBiZSBjb252ZXllZCBhcyB0ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlQXNzZXJ0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgc3RhdGVtZW50IHdhcyBhc3NlcnRlZD8iIGRlZmluaXRpb249IlRoZSBkYXRlIHdoZW4gdGhlIG1lZGljYXRpb24gc3RhdGVtZW50IHdhcyBhc3NlcnRlZCBieSB0aGUgaW5mb3JtYXRpb24gc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5mb3JtYXRpb25Tb3VyY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGVyc29uIG9yIG9yZ2FuaXphdGlvbiB0aGF0IHByb3ZpZGVkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFraW5nIG9mIHRoaXMgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiBvciBvcmdhbml6YXRpb24gdGhhdCBwcm92aWRlZCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRha2luZyBvZiB0aGlzIG1lZGljYXRpb24uIE5vdGU6IFVzZSBkZXJpdmVkRnJvbSB3aGVuIGEgTWVkaWNhdGlvblN0YXRlbWVudCBpcyBkZXJpdmVkIGZyb20gb3RoZXIgcmVzb3VyY2VzLCBlLmcuIENsYWltIG9yIE1lZGljYXRpb25SZXF1ZXN0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIHN1cHBvcnRpbmcgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFsbG93cyBsaW5raW5nIHRoZSBNZWRpY2F0aW9uU3RhdGVtZW50IHRvIHRoZSB1bmRlcmx5aW5nIE1lZGljYXRpb25SZXF1ZXN0LCBvciB0byBvdGhlciBpbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIG9yIGlzIHVzZWQgdG8gZGVyaXZlIHRoZSBNZWRpY2F0aW9uU3RhdGVtZW50LiIgY29tbWVudD0iTGlrZWx5IHJlZmVyZW5jZXMgd291bGQgYmUgdG8gTWVkaWNhdGlvblJlcXVlc3QsIE1lZGljYXRpb25EaXNwZW5zZSwgQ2xhaW0sIE9ic2VydmF0aW9uIG9yIFF1ZXN0aW9ubmFpcmVBbnN3ZXJzLiAgVGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlcyBmb3IgZGVyaXZpbmcgYSBNZWRpY2F0aW9uU3RhdGVtZW50IGNvbWVzIGZyb20gY3JlYXRpbmcgYSBNZWRpY2F0aW9uU3RhdGVtZW50IGZyb20gYSBNZWRpY2F0aW9uUmVxdWVzdCBvciBmcm9tIGEgbGFiIG9ic2VydmF0aW9uIG9yIGEgY2xhaW0uICBpdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgYW1vdW50IG9mIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIHZhcmllcyBmcm9tIHRoZSB0eXBlIHJlc291cmNlIHRoYXQgeW91IGRlcml2ZSB0aGUgTWVkaWNhdGlvblN0YXRlbWVudCBmcm9tLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZy93YXMgdGFrZW4iIGRlZmluaXRpb249IkEgcmVhc29uIGZvciB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuLiIgY29tbWVudD0iVGhpcyBjb3VsZCBiZSBhIGRpYWdub3NpcyBjb2RlLiBJZiBhIGZ1bGwgY29uZGl0aW9uIHJlY29yZCBleGlzdHMgb3IgYWRkaXRpb25hbCBkZXRhaWwgaXMgbmVlZGVkLCB1c2UgcmVhc29uRm9yVXNlUmVmZXJlbmNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgd2h5IHRoZSBtZWRpY2F0aW9uIGlzIGJlaW5nIHRha2VuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuIiBkZWZpbml0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuLiIgY29tbWVudD0iVGhpcyBpcyBhIHJlZmVyZW5jZSB0byBhIGNvbmRpdGlvbiB0aGF0IGlzIHRoZSByZWFzb24gd2h5IHRoZSBtZWRpY2F0aW9uIGlzIGJlaW5nL3dhcyB0YWtlbi4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkZvclVzZUNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGVtZW50IiBkZWZpbml0aW9uPSJQcm92aWRlcyBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgdGhhdCBpcyBub3QgY29udmV5ZWQgYnkgdGhlIG90aGVyIGF0dHJpYnV0ZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBob3cgbWVkaWNhdGlvbiBpcy93YXMgdGFrZW4gb3Igc2hvdWxkIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHRoZSBtZWRpY2F0aW9uIGlzL3dhcyBvciBzaG91bGQgYmUgdGFrZW4gYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJUaGUgZGF0ZXMgaW5jbHVkZWQgaW4gdGhlIGRvc2FnZSBvbiBhIE1lZGljYXRpb24gU3RhdGVtZW50IHJlZmxlY3QgdGhlIGRhdGVzIGZvciBhIGdpdmVuIGRvc2UuICBGb3IgZXhhbXBsZSwgJnF1b3Q7ZnJvbSBOb3ZlbWJlciAxLCAyMDE2IHRvIE5vdmVtYmVyIDMsIDIwMTYsIHRha2Ugb25lIHRhYmxldCBkYWlseSBhbmQgZnJvbSBOb3ZlbWJlciA0LCAyMDE2IHRvIE5vdmVtYmVyIDcsIDIwMTYsIHRha2UgdHdvIHRhYmxldHMgZGFpbHkuJnF1b3Q7ICBJdCBpcyBleHBlY3RlZCB0aGF0IHRoaXMgc3BlY2lmaWNpdHkgbWF5IG9ubHkgYmUgcG9wdWxhdGVkIHdoZXJlIHRoZSBwYXRpZW50IGJyaW5ncyBpbiB0aGVpciBsYWJlbGVkIGNvbnRhaW5lciBvciB3aGVyZSB0aGUgTWVkaWNhdGlvbiBTdGF0ZW1lbnQgaXMgZGVyaXZlZCBmcm9tIGEgTWVkaWNhdGlvblJlcXVlc3QuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Eb3NhZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImluZm9ybWF0aW9uU291cmNlIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmZvcm1hdGlvblNvdXJjZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWV0YSIgbGFiZWw9Ik1ldGEiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb25JZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmVyc2lvbiBzcGVjaWZpYyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJUaGUgdmVyc2lvbiBzcGVjaWZpYyBpZGVudGlmaWVyLCBhcyBpdCBhcHBlYXJzIGluIHRoZSB2ZXJzaW9uIHBvcnRpb24gb2YgdGhlIFVSTC4gVGhpcyB2YWx1ZSBjaGFuZ2VzIHdoZW4gdGhlIHJlc291cmNlIGlzIGNyZWF0ZWQsIHVwZGF0ZWQsIG9yIGRlbGV0ZWQuIiBjb21tZW50PSJUaGUgc2VydmVyIGFzc2lnbnMgdGhpcyB2YWx1ZSwgYW5kIGlnbm9yZXMgd2hhdCB0aGUgY2xpZW50IHNwZWNpZmllcywgZXhjZXB0IGluIHRoZSBjYXNlIHRoYXQgdGhlIHNlcnZlciBpcyBpbXBvc2luZyB2ZXJzaW9uIGludGVncml0eSBvbiB1cGRhdGVzL2RlbGV0ZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RVcGRhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHJlc291cmNlIHZlcnNpb24gbGFzdCBjaGFuZ2VkIiBkZWZpbml0aW9uPSJXaGVuIHRoZSByZXNvdXJjZSBsYXN0IGNoYW5nZWQgLSBlLmcuIHdoZW4gdGhlIHZlcnNpb24gY2hhbmdlZC4iIGNvbW1lbnQ9IlRoaXMgdmFsdWUgaXMgYWx3YXlzIHBvcHVsYXRlZCBleGNlcHQgd2hlbiB0aGUgcmVzb3VyY2UgaXMgZmlyc3QgYmVpbmcgY3JlYXRlZC4gVGhlIHNlcnZlciAvIHJlc291cmNlIG1hbmFnZXIgc2V0cyB0aGlzIHZhbHVlOyB3aGF0IGEgY2xpZW50IHByb3ZpZGVzIGlzIGlycmVsZXZhbnQuIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgSFRUUCBMYXN0LU1vZGlmaWVkIGFuZCBTSE9VTEQgaGF2ZSB0aGUgc2FtZSB2YWx1ZSBvbiBhIFtyZWFkXShodHRwLmh0bWwjcmVhZCkgaW50ZXJhY3Rpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB3aGVyZSB0aGUgcmVzb3VyY2UgY29tZXMgZnJvbSIgZGVmaW5pdGlvbj0iQSB1cmkgdGhhdCBpZGVudGlmaWVzIHRoZSBzb3VyY2Ugc3lzdGVtIG9mIHRoZSByZXNvdXJjZS4gVGhpcyBwcm92aWRlcyBhIG1pbmltYWwgYW1vdW50IG9mIFtQcm92ZW5hbmNlXShwcm92ZW5hbmNlLmh0bWwjKSBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHRyYWNrIG9yIGRpZmZlcmVudGlhdGUgdGhlIHNvdXJjZSBvZiBpbmZvcm1hdGlvbiBpbiB0aGUgcmVzb3VyY2UuIFRoZSBzb3VyY2UgbWF5IGlkZW50aWZ5IGFub3RoZXIgRkhJUiBzZXJ2ZXIsIGRvY3VtZW50LCBtZXNzYWdlLCBkYXRhYmFzZSwgZXRjLiIgY29tbWVudD0iSW4gdGhlIHByb3ZlbmFuY2UgcmVzb3VyY2UsIHRoaXMgY29ycmVzcG9uZHMgdG8gUHJvdmVuYW5jZS5lbnRpdHkud2hhdFt4XS4gVGhlIGV4YWN0IHVzZSBvZiB0aGUgc291cmNlIChhbmQgdGhlIGltcGxpZWQgUHJvdmVuYW5jZS5lbnRpdHkucm9sZSkgaXMgbGVmdCB0byBpbXBsZW1lbnRlciBkaXNjcmV0aW9uLiBPbmx5IG9uZSBub21pbmF0ZWQgc291cmNlIGlzIGFsbG93ZWQ7IGZvciBhZGRpdGlvbmFsIHByb3ZlbmFuY2UgZGV0YWlscywgYSBmdWxsIFByb3ZlbmFuY2UgcmVzb3VyY2Ugc2hvdWxkIGJlIHVzZWQuICYjeGE7JiN4YTtUaGlzIGVsZW1lbnQgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmUgdGhlIGN1cnJlbnQgbWFzdGVyIHNvdXJjZSBvZiBhIHJlc291cmNlIHRoYXQgaGFzIGEgY2Fub25pY2FsIFVSTCBpZiB0aGUgcmVzb3VyY2UgaXMgbm8gbG9uZ2VyIGhvc3RlZCBhdCB0aGUgY2Fub25pY2FsIFVSTC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZmlsZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm9maWxlcyB0aGlzIHJlc291cmNlIGNsYWltcyB0byBjb25mb3JtIHRvIiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgcHJvZmlsZXMgKHJlZmVyZW5jZXMgdG8gW1N0cnVjdHVyZURlZmluaXRpb25dKHN0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpIHJlc291cmNlcykgdGhhdCB0aGlzIHJlc291cmNlIGNsYWltcyB0byBjb25mb3JtIHRvLiBUaGUgVVJMIGlzIGEgcmVmZXJlbmNlIHRvIFtTdHJ1Y3R1cmVEZWZpbml0aW9uLnVybF0oc3RydWN0dXJlZGVmaW5pdGlvbi1kZWZpbml0aW9ucy5odG1sI1N0cnVjdHVyZURlZmluaXRpb24udXJsKS4iIGNvbW1lbnQ9Ikl0IGlzIHVwIHRvIHRoZSBzZXJ2ZXIgYW5kL29yIG90aGVyIGluZnJhc3RydWN0dXJlIG9mIHBvbGljeSB0byBkZXRlcm1pbmUgd2hldGhlci9ob3cgdGhlc2UgY2xhaW1zIGFyZSB2ZXJpZmllZCBhbmQvb3IgdXBkYXRlZCBvdmVyIHRpbWUuICBUaGUgbGlzdCBvZiBwcm9maWxlIFVSTHMgaXMgYSBzZXQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZWN1cml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlY3VyaXR5IExhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UiIGRlZmluaXRpb249IlNlY3VyaXR5IGxhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UuIFRoZXNlIHRhZ3MgY29ubmVjdCBzcGVjaWZpYyByZXNvdXJjZXMgdG8gdGhlIG92ZXJhbGwgc2VjdXJpdHkgcG9saWN5IGFuZCBpbmZyYXN0cnVjdHVyZS4iIGNvbW1lbnQ9IlRoZSBzZWN1cml0eSBsYWJlbHMgY2FuIGJlIHVwZGF0ZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgc3RhdGVkIHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiBUaGUgbGlzdCBvZiBzZWN1cml0eSBsYWJlbHMgaXMgYSBzZXQuIFVuaXF1ZW5lc3MgaXMgYmFzZWQgdGhlIHN5c3RlbS9jb2RlLCBhbmQgdmVyc2lvbiBhbmQgZGlzcGxheSBhcmUgaWdub3JlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VjdXJpdHlMYWJlbHMiIGRlc2NyaXB0aW9uPSJTZWN1cml0eSBMYWJlbHMgZnJvbSB0aGUgSGVhbHRoY2FyZSBQcml2YWN5IGFuZCBTZWN1cml0eSBDbGFzc2lmaWNhdGlvbiBTeXN0ZW0uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRhZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRhZ3MgYXBwbGllZCB0byB0aGlzIHJlc291cmNlIiBkZWZpbml0aW9uPSJUYWdzIGFwcGxpZWQgdG8gdGhpcyByZXNvdXJjZS4gVGFncyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB0byBpZGVudGlmeSBhbmQgcmVsYXRlIHJlc291cmNlcyB0byBwcm9jZXNzIGFuZCB3b3JrZmxvdywgYW5kIGFwcGxpY2F0aW9ucyBhcmUgbm90IHJlcXVpcmVkIHRvIGNvbnNpZGVyIHRoZSB0YWdzIHdoZW4gaW50ZXJwcmV0aW5nIHRoZSBtZWFuaW5nIG9mIGEgcmVzb3VyY2UuIiBjb21tZW50PSJUaGUgdGFncyBjYW4gYmUgdXBkYXRlZCB3aXRob3V0IGNoYW5naW5nIHRoZSBzdGF0ZWQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIFRoZSBsaXN0IG9mIHRhZ3MgaXMgYSBzZXQuIFVuaXF1ZW5lc3MgaXMgYmFzZWQgdGhlIHN5c3RlbS9jb2RlLCBhbmQgdmVyc2lvbiBhbmQgZGlzcGxheSBhcmUgaWdub3JlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFncyIgZGVzY3JpcHRpb249IkNvZGVzIHRoYXQgcmVwcmVzZW50IHZhcmlvdXMgdHlwZXMgb2YgdGFncywgY29tbW9ubHkgd29ya2Zsb3ctcmVsYXRlZDsgZS5nLiAmcXVvdDtOZWVkcyByZXZpZXcgYnkgRHIuIEpvbmVzJnF1b3Q7LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNaW1lVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5hbWVVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTmFycmF0aXZlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTmFycmF0aXZlIiBsYWJlbD0iTmFycmF0aXZlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTmFycmF0aXZlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImdlbmVyYXRlZCB8IGV4dGVuc2lvbnMgfCBhZGRpdGlvbmFsIHwgZW1wdHkiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG5hcnJhdGl2ZSAtIHdoZXRoZXIgaXQncyBlbnRpcmVseSBnZW5lcmF0ZWQgKGZyb20ganVzdCB0aGUgZGVmaW5lZCBkYXRhIG9yIHRoZSBleHRlbnNpb25zIHRvbyksIG9yIHdoZXRoZXIgYSBodW1hbiBhdXRob3JlZCBpdCBhbmQgaXQgbWF5IGNvbnRhaW4gYWRkaXRpb25hbCBkYXRhLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgYSByZXNvdXJjZSBuYXJyYXRpdmUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXYiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxpbWl0ZWQgeGh0bWwgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBuYXJyYXRpdmUgY29udGVudCwgYSBzdHJpcHBlZCBkb3duIHZlcnNpb24gb2YgWEhUTUwuIiBjb21tZW50PSJUaGUgY29udGVudHMgb2YgdGhlIGh0bWwgZWxlbWVudCBhcmUgYW4gWEhUTUwgZnJhZ21lbnQgY29udGFpbmluZyBvbmx5IHRoZSBiYXNpYyBodG1sIGZvcm1hdHRpbmcgZWxlbWVudHMgZGVzY3JpYmVkIGluIGNoYXB0ZXJzIDctMTEgYW5kIDE1IG9mIHRoZSBIVE1MIDQuMCBzdGFuZGFyZCwgJmx0O2E+IGVsZW1lbnRzIChlaXRoZXIgbmFtZSBvciBocmVmKSwgaW1hZ2VzIGFuZCBpbnRlcm5hbGx5IGNvbnRhaW5lZCBzdHlsZXNoZWV0cy4gVGhlIFhIVE1MIGNvbnRlbnQgU0hBTEwgTk9UIGNvbnRhaW4gYSBoZWFkLCBhIGJvZHksIGV4dGVybmFsIHN0eWxlc2hlZXQgcmVmZXJlbmNlcywgc2NyaXB0cywgZm9ybXMsIGJhc2UvbGluay94bGluaywgZnJhbWVzLCBpZnJhbWVzIGFuZCBvYmplY3RzLiI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InR4dC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlRoZSBuYXJyYXRpdmUgU0hBTEwgY29udGFpbiBvbmx5IHRoZSBiYXNpYyBodG1sIGZvcm1hdHRpbmcgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgZGVzY3JpYmVkIGluIGNoYXB0ZXJzIDctMTEgKGV4Y2VwdCBzZWN0aW9uIDQgb2YgY2hhcHRlciA5KSBhbmQgMTUgb2YgdGhlIEhUTUwgNC4wIHN0YW5kYXJkLCAmbHQ7YT4gZWxlbWVudHMgKGVpdGhlciBuYW1lIG9yIGhyZWYpLCBpbWFnZXMgYW5kIGludGVybmFsbHkgY29udGFpbmVkIHN0eWxlIGF0dHJpYnV0ZXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iaHRtbENoZWNrcygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idHh0LTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iVGhlIG5hcnJhdGl2ZSBTSEFMTCBoYXZlIHNvbWUgbm9uLXdoaXRlc3BhY2UgY29udGVudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJodG1sQ2hlY2tzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOb3REb25lUmVhc29uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lUmVhc29uIiBsYWJlbD0iUUlDb3JlIE5vdCBEb25lIFJlYXNvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkRhdGVUaW1lIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90RG9uZVJlY29yZGVkIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCIgbGFiZWw9IlFJQ29yZSBOb3QgRG9uZSBSZWNvcmRlZCIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5vdERvbmVWYWx1ZVNldCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0IiBsYWJlbD0iUUlDb3JlIE5vdCBEb25lIFZhbHVlU2V0IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90ZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1vYnNlcnZhdGlvbiIgbGFiZWw9IlFJQ29yZSBPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlQb3NpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5ib2R5UG9zaXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL29ic2VydmF0aW9uLWJvZHlQb3NpdGlvbiddLnZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBib2R5IHBvc2l0aW9uIGR1cmluZyB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBwb3NpdGlvbiBvZiB0aGUgYm9keSB3aGVuIHRoZSBvYnNlcnZhdGlvbiB3YXMgZG9uZSwgZS5nLiBzdGFuZGluZywgc2l0dGluZy4gVG8gYmUgdXNlZCBvbmx5IHdoZW4gdGhlIGJvZHkgcG9zaXRpb24gaW4gbm90IHByZWNvb3JkaW5hdGVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWTigIsgfCBwcmVsaW1pbmFyeeKAiyB8IGZpbmFs4oCLIHwgYW1lbmRlZOKAiyB8IGNvcnJlY3RlZOKAiyB8IGVudGVyZWQtaW4tZXJyb3LigIsgfCB1bmtub3du4oCLIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcHJvdmlkaW5nIHRoZSBzdGF0dXMgb2YgYW4gb2JzZXJ2YXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBzcGVjaWZpZXMgdGhlIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlNOT01FRCBDVCBmb3IgY29kZWQgcmVzdWx0cyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJkZXZpY2UiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgY29tcG9uZW50IG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtjb2RlJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQgIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIGNvbXBvbmVudCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJVc2VkIHdoZW4gb2JzZXJ2YXRpb24gaGFzIGEgc2V0IG9mIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuIEFuIG9ic2VydmF0aW9uIG1heSBoYXZlIGJvdGggYSB2YWx1ZSAoZS5nLiBhbiAgQXBnYXIgc2NvcmUpICBhbmQgY29tcG9uZW50IG9ic2VydmF0aW9ucyAodGhlIG9ic2VydmF0aW9ucyBmcm9tIHdoaWNoIHRoZSBBcGdhciBzY29yZSB3YXMgZGVyaXZlZCkuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgY29tcG9uZW50IHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLmNvbXBvbmVudC52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iJnF1b3Q7TnVsbCZxdW90OyBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3Rlc3Qgbm90IGRvbmUmcXVvdDsuICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIG9mIGNvbXBvbmVudCByZXN1bHQiIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLkNvbXBvbmVudC5Db25jZW50cmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LkZsb3dSYXRlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LmRpYXN0b2xpYyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLkNvbXBvbmVudC5zeXN0b2xpYyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ciIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTG93IFJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZS4gIFRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZSBlbmRwb2ludCBpcyBpbmNsdXNpdmUgb2YgdGhlIHZhbHVlIChlLmcuICByZWZlcmVuY2UgcmFuZ2UgaXMgPj01IC0gJmx0Oz05KS4gSWYgdGhlIGxvdyBib3VuZCBpcyBvbWl0dGVkLCAgaXQgaXMgYXNzdW1lZCB0byBiZSBtZWFuaW5nbGVzcyAoZS5nLiByZWZlcmVuY2UgcmFuZ2UgaXMgJmx0Oz0yLjMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJoaWdoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2ggUmFuZ2UsIGlmIHJlbGV2YW50IiBkZWZpbml0aW9uPSJUaGUgdmFsdWUgb2YgdGhlIGhpZ2ggYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZS4gIFRoZSBoaWdoIGJvdW5kIG9mIHRoZSByZWZlcmVuY2UgcmFuZ2UgZW5kcG9pbnQgaXMgaW5jbHVzaXZlIG9mIHRoZSB2YWx1ZSAoZS5nLiAgcmVmZXJlbmNlIHJhbmdlIGlzID49NSAtICZsdDs9OSkuIElmIHRoZSBoaWdoIGJvdW5kIGlzIG9taXR0ZWQsICBpdCBpcyBhc3N1bWVkIHRvIGJlIG1lYW5pbmdsZXNzIChlLmcuIHJlZmVyZW5jZSByYW5nZSBpcyA+PSAyLjMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgcmFuZ2UgcXVhbGlmaWVyIiBkZWZpbml0aW9uPSJDb2RlcyB0byBpbmRpY2F0ZSB0aGUgd2hhdCBwYXJ0IG9mIHRoZSB0YXJnZXRlZCByZWZlcmVuY2UgcG9wdWxhdGlvbiBpdCBhcHBsaWVzIHRvLiBGb3IgZXhhbXBsZSwgdGhlIG5vcm1hbCBvciB0aGVyYXBldXRpYyByYW5nZS4iIGNvbW1lbnQ9IlRoaXMgU0hPVUxEIGJlIHBvcHVsYXRlZCBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHJhbmdlLiAgSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBwcmVzZW50IHRoZW4gdGhlIG5vcm1hbCByYW5nZSBpcyBhc3N1bWVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uUmFuZ2VNZWFuaW5nIiBkZXNjcmlwdGlvbj0iQ29kZSBmb3IgdGhlIG1lYW5pbmcgb2YgYSByZWZlcmVuY2UgcmFuZ2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXBwbGllc1RvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHJhbmdlIHBvcHVsYXRpb24iIGRlZmluaXRpb249IkNvZGVzIHRvIGluZGljYXRlIHRoZSB0YXJnZXQgcG9wdWxhdGlvbiB0aGlzIHJlZmVyZW5jZSByYW5nZSBhcHBsaWVzIHRvLiAgRm9yIGV4YW1wbGUsIGEgcmVmZXJlbmNlIHJhbmdlIG1heSBiZSBiYXNlZCBvbiB0aGUgbm9ybWFsIHBvcHVsYXRpb24gb3IgYSBwYXJ0aWN1bGFyIHNleCBvciByYWNlLiAgTXVsdGlwbGUgYGFwcGxpZXNUb2AgIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtBTkQmcXVvdDsgb2YgdGhlIHRhcmdldCBwb3B1bGF0aW9ucy4gIEZvciBleGFtcGxlLCB0byByZXByZXNlbnQgYSB0YXJnZXQgcG9wdWxhdGlvbiBvZiBBZnJpY2FuIEFtZXJpY2FuIGZlbWFsZXMsIGJvdGggYSBjb2RlIG9mIGZlbWFsZSBhbmQgYSBjb2RlIGZvciBBZnJpY2FuIEFtZXJpY2FuIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJUaGlzIFNIT1VMRCBiZSBwb3B1bGF0ZWQgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSByYW5nZS4gIElmIHRoaXMgZWxlbWVudCBpcyBub3QgcHJlc2VudCB0aGVuIHRoZSBub3JtYWwgcG9wdWxhdGlvbiBpcyBhc3N1bWVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblJhbmdlVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIHRoZSBwb3B1bGF0aW9uIHRoZSByZWZlcmVuY2UgcmFuZ2UgYXBwbGllcyB0by4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgYWdlIHJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFnZSBhdCB3aGljaCB0aGlzIHJlZmVyZW5jZSByYW5nZSBpcyBhcHBsaWNhYmxlLiBUaGlzIGlzIGEgbmVvbmF0YWwgYWdlIChlLmcuIG51bWJlciBvZiB3ZWVrcyBhdCB0ZXJtKSBpZiB0aGUgbWVhbmluZyBzYXlzIHNvLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IGJhc2VkIHJlZmVyZW5jZSByYW5nZSBpbiBhbiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGV4dCBiYXNlZCByZWZlcmVuY2UgcmFuZ2UgaW4gYW4gb2JzZXJ2YXRpb24gd2hpY2ggbWF5IGJlIHVzZWQgd2hlbiBhIHF1YW50aXRhdGl2ZSByYW5nZSBpcyBub3QgYXBwcm9wcmlhdGUgZm9yIGFuIG9ic2VydmF0aW9uLiAgQW4gZXhhbXBsZSB3b3VsZCBiZSBhIHJlZmVyZW5jZSB2YWx1ZSBvZiAmcXVvdDtOZWdhdGl2ZSZxdW90OyBvciBhIGxpc3Qgb3IgdGFibGUgb2YgJnF1b3Q7bm9ybWFscyZxdW90Oy4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbkNhbmNlbGxlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb25jYW5jZWxsZWQiIGxhYmVsPSJRSUNvcmUgT2JzZXJ2YXRpb24gQ2FuY2VsbGVkIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90RG9uZVJlYXNvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVSZWFzb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBldmVudCB3YXMgbm90IGRvbmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBwcm92aWRpbmcgdGhlIHN0YXR1cyBvZiBhbiBvYnNlcnZhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2Ygb2JzZXJ2YXRpb24gKGNvZGUgLyB0eXBlKSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBuYW1lcyBvZiBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU29tZSBvYnNlcnZhdGlvbnMgaGF2ZSBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zLiAgVGhlc2UgY29tcG9uZW50IG9ic2VydmF0aW9ucyBhcmUgZXhwcmVzc2VkIGFzIHNlcGFyYXRlIGNvZGUgdmFsdWUgcGFpcnMgdGhhdCBzaGFyZSB0aGUgc2FtZSBhdHRyaWJ1dGVzLiAgRXhhbXBsZXMgaW5jbHVkZSBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGJsb29kIHByZXNzdXJlIG1lYXN1cmVtZW50IGFuZCBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBnZW5ldGljcyBvYnNlcnZhdGlvbnMuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbkNsaW5pY2FsVGVzdFJlc3VsdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb24tY2xpbmljYWwtdGVzdCIgbGFiZWw9IlFJQ29yZSBPYnNlcnZhdGlvbiBDbGluaWNhbCBUZXN0IFJlc3VsdCIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWwtdGVzdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgVGVzdCBOYW1lIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgbm9uLWltYWdpbmcgb3Igbm9uLWxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgb24gYSBwYXRpZW50LiAgQSBMT0lOQyAqKlNIQUxMKiogYmUgdXNlZCBpZiB0aGUgY29uY2VwdCBpcyBwcmVzZW50IGluIExPSU5DLiIgY29tbWVudD0iVGhlIHR5cGljYWwgcGF0dGVybnMgZm9yIGNvZGVzIGFyZTogIDEpICBhIExPSU5DIGNvZGUgZWl0aGVyIGFzIGEgdHJhbnNsYXRpb24gZnJvbSBhICZxdW90O2xvY2FsJnF1b3Q7IGNvZGUgb3IgYXMgYSBwcmltYXJ5IGNvZGUsIG9yIDIpICBhIGxvY2FsIGNvZGUgb25seSBpZiBubyBzdWl0YWJsZSBMT0lOQyBleGlzdHMsICBvciAzKSAgYm90aCB0aGUgbG9jYWwgYW5kIHRoZSBMT0lOQyB0cmFuc2xhdGlvbi4gICBTeXN0ZW1zIFNIQUxMIGJlIGNhcGFibGUgb2Ygc2VuZGluZyB0aGUgbG9jYWwgY29kZSBpZiBvbmUgZXhpc3RzLiAgV2hlbiB1c2luZyBMT0lOQyAsIFVzZSBlaXRoZXIgdGhlIFNIT1JUTkFNRSBvciBMT05HX0NPTU1PTl9OQU1FIGZpZWxkIGZvciB0aGUgZGlzcGxheS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkRhdGV0aW1lIG11c3QgYmUgYXQgbGVhc3QgdG8gZGF5LiI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gMTAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0IFZhbHVlIiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCB1c2UgVUNVTSBmb3IgY29kZWQgcXVhbnRpdHkgdW5pdHMuIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlUXVhbnRpdHkuc3lzdGVtLmVtcHR5KCkgb3IgdmFsdWVRdWFudGl0eS5zeXN0ZW0gPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyciLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbkltYWdpbmdSZXN1bHQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uLWltYWdpbmciIGxhYmVsPSJRSUNvcmUgT2JzZXJ2YXRpb24gSW1hZ2luZyBSZXN1bHQiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBwcm92aWRpbmcgdGhlIHN0YXR1cyBvZiBhbiBvYnNlcnZhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImltYWdpbmciIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkltYWdpbmcgTmFtZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGltYWdpbmcgdGVzdCBwZXJmb3JtZWQgb24gYSBwYXRpZW50LiAgQSBMT0lOQyAqKlNIQUxMKiogYmUgdXNlZCBpZiB0aGUgY29uY2VwdCBpcyBwcmVzZW50IGluIExPSU5DLiIgY29tbWVudD0iVGhlIHR5cGljYWwgcGF0dGVybnMgZm9yIGNvZGVzIGFyZTogIDEpICBhIExPSU5DIGNvZGUgZWl0aGVyIGFzIGEgdHJhbnNsYXRpb24gZnJvbSBhICZxdW90O2xvY2FsJnF1b3Q7IGNvZGUgb3IgYXMgYSBwcmltYXJ5IGNvZGUsIG9yIDIpICBhIGxvY2FsIGNvZGUgb25seSBpZiBubyBzdWl0YWJsZSBMT0lOQyBleGlzdHMsICBvciAzKSAgYm90aCB0aGUgbG9jYWwgYW5kIHRoZSBMT0lOQyB0cmFuc2xhdGlvbi4gICBTeXN0ZW1zIFNIQUxMIGJlIGNhcGFibGUgb2Ygc2VuZGluZyB0aGUgbG9jYWwgY29kZSBpZiBvbmUgZXhpc3RzLiAgV2hlbiB1c2luZyBMT0lOQyAsIFVzZSBlaXRoZXIgdGhlIFNIT1JUTkFNRSBvciBMT05HX0NPTU1PTl9OQU1FIGZpZWxkIGZvciB0aGUgZGlzcGxheS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXN1bHQgVmFsdWUiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIHVzZSBVQ1VNIGZvciBjb2RlZCBxdWFudGl0eSB1bml0cy4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWVRdWFudGl0eS5zeXN0ZW0uZW1wdHkoKSBvciB2YWx1ZVF1YW50aXR5LnN5c3RlbSA9ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJyIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvblN1cnZleSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb24tc3VydmV5IiBsYWJlbD0iUUlDb3JlIE9ic2VydmF0aW9uIFN1cnZleSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VydmV5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGF0ZXRpbWUgbXVzdCBiZSBhdCBsZWFzdCB0byBkYXkuIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IiR0aGlzIGlzIERhdGVUaW1lIGltcGxpZXMgJHRoaXMudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSAxMCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIiBjb21tZW50PSJTb21lIHF1ZXN0aW9ucyBvbiBxdWVzdGlvbm5haXJlcyBhcmUgbm90IGFuc3dlcmVkIGRpcmVjdGx5IChlLmcuLCBhc3NlcnRlZCkgYnkgdGhlIGluZGl2aWR1YWwgY29tcGxldGluZyB0aGUgcXVlc3Rpb25uYWlyZSwgYnV0IGFyZSBkZXJpdmVkIGZyb20gYW5zd2VycyB0byBvbmUgb3IgbW9yZSBvdGhlciBxdWVzdGlvbnMuIEZvciB0eXBlcyBvZiBhbnN3ZXJzLCBgT2JzZXJ2YXRpb24ucGVyZm9ybWVyYCBzaG91bGQgbm90IGJlIHNwZWNpZmllZCBhbmQgYE9ic2VydmF0aW9uLmRlcml2ZWRGcm9tYCBzaG91bGQgcmVmZXJlbmNlIHRoZSByZWxldmFudCBTY3JlZW5pbmcgUmVzcG9uc2UgT2JzZXJ2YXRpb24ocykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlIGEgdmFsdWUgaWYgaXQgcmVwcmVzZW50cyBhbiBpbmRpdmlkdWFsIHN1cnZleSBxdWVzdGlvbiBhbmQgYW5zd2VyIHBhaXIuIEFuIG9ic2VydmF0aW9uIHNob3VsZCBub3QgaGF2ZSBhIHZhbHVlIGlmIGl0IHJlcHJlc2VudHMgYSBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgb3IgbXVsdGktc2VsZWN0IOKAnGNoZWNrIGFsbCB0aGF0IGFwcGx54oCdIHF1ZXN0aW9uLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSImcXVvdDtOdWxsJnF1b3Q7IG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIFRoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gRm9yIGEgZ2l2ZW4gTE9JTkMgcXVlc3Rpb24sIGlmIHRoZSBMT0lOQyBhbnN3ZXIgbGlzdCBpbmNsdWRlcyBjb25jZXB0cyBzdWNoIGFzICd1bmtub3duJyBvciAnbm90IGF2YWlsYWJsZScsIHRoZXkgc2hvdWxkIGJlIHVzZWQgZm9yIE9ic2VydmF0aW9uLnZhbHVlLiBXaGVyZSB0aGVzZSBjb25jZXB0cyBhcmUgbm90IHBhcnQgb2YgdGhlIHZhbHVlIHNldCBmb3IgT2JzZXJ2YXRpb24udmFsdWUsIHRoZSBPYnNlcnZhdGlvbi5kYXRhQWJzZW50UmVhc29uIGNhbiBiZSB1c2VkIGlmIG5lY2Vzc2FyeSBhbmQgYXBwcm9wcmlhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIHBhbmVsIG9yIG11bHRpLXNlbGVjdCByZXNwb25zZXMiIGRlZmluaXRpb249IkFnZ3JlZ2F0ZSBzZXQgb2YgT2JzZXJ2YXRpb25zIHRoYXQgcmVwcmVzZW50IHF1ZXN0aW9uIGFuc3dlciBwYWlycyBmb3IgYm90aCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXlzIGFuZCBtdWx0aS1zZWxlY3QgcXVlc3Rpb25zLiIgY29tbWVudD0iVGhpcyBncm91cGluZyBlbGVtZW50IGlzIHVzZWQgdG8gcmVwcmVzZW50IHN1cnZleXMgdGhhdCBncm91cCBzZXZlcmFsIHF1ZXN0aW9ucyB0b2dldGhlciBvciBpbmRpdmlkdWFsIHF1ZXN0aW9ucyB3aXRoICDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSByZXNwb25zZXMuIEZvciBleGFtcGxlIGluIHRoZSBzaW1wbGVzdCBjYXNlIGEgZmxhdCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgd2hlcmUgdGhlICZxdW90O3BhbmVsJnF1b3Q7IG9ic2VydmF0aW9uIGlzIHRoZSBzdXJ2ZXkgaW5zdHJ1bWVudCBpdHNlbGYgYW5kIGluc3RlYWQgb2YgYW4gYE9ic2VydmF0aW9uLnZhbHVlYCB0aGUgYGhhc01lbWJlcmAgZWxlbWVudCByZWZlcmVuY2VzIG90aGVyIE9ic2VydmF0aW9uIHRoYXQgcmVwcmVzZW50IHRoZSBpbmRpdmlkdWFsIHF1ZXN0aW9ucyBhbnN3ZXIgcGFpcnMuIEluIGEgc3VydmV5IHRoYXQgaGFzIGEgaGVpcmFyY2hpY2FsIGdyb3VwaW5nIG9mIHF1ZXN0aW9ucywgdGhlIG9ic2VydmF0aW9uICZxdW90O3BhbmVscyZxdW90OyBjYW4gYmUgbmVzdGVkLiBCZWNhdXNlIHN1cnZleXMgY2FuIGJlIGFyYml0cmFyaWx5IGNvbXBsZXggc3RydWN0dXJhbGx5LCBub3QgYWxsIHN1cnZleSBzdHJ1Y3R1cmVzIGNhbiBiZSByZXByZXNlbnRlZCB1c2luZyB0aGlzIE9ic2VydmF0aW9uIGdyb3VwaW5nIHBhdHRlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIE9ic2VydmF0aW9ucyBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2VzIHRoYXQgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iT2JzZXJ2YXRpb25zIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZXMgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5EZWNpbWFsIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT3JkaW5hbCBWYWx1ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxWYWx1ZSIgbGFiZWw9Ik9yZGluYWwgVmFsdWUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9yZ2FuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb3JnYW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIE9yZ2FuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoaXMgb3JnYW5pemF0aW9uICBhY3Jvc3MgbXVsdGlwbGUgc3lzdGVtcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJOUEkgcHJlZmVycmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJOUEkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249Ik5hdGlvbmFsIFByb3ZpZGVyIElkZW50aWZpZXIgKE5QSSkiIGRlZmluaXRpb249IklkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb24gdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBvcmdhbml6YXRpb24gYWNyb3NzIG11bHRpcGxlIGRpc3BhcmF0ZSBzeXN0ZW1zLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iQ0xJQSIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgTGFib3JhdG9yeSBJbXByb3ZlbWVudCBBbWVuZG1lbnRzIChDTElBKSBOdW1iZXIgZm9yIGxhYm9yYXRvcmllcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2NuIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoaXMgb3JnYW5pemF0aW9uICBhY3Jvc3MgbXVsdGlwbGUgc3lzdGVtcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJOUEkgcHJlZmVycmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWluIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJUaGVyZSBpcyBub3QgYSBnZW5lcmFsIFRheCBJZGVudGlmaWVyIE51bWVyIChUSU4pIE9JRC4gVGhlcmUgaXMgYW4gU1NOLCBhIFBUSU4sIGFuZCBhbiBJVElOLCBidXQgbm8gVElOIGdlbmVyYWxseS4gU28gdGhlIG9ubHkgc2xpY2Ugc3BlY2lmaWVkIGhlcmUgaXMgRUlOLCBpZiBjb25zdW1lcnMgZGV0ZXJtaW5lIGEgbmVlZCBmb3IgYW4gU1NOLCBzdWJtaXQgYSBjb21tZW50IHRvIHRoYXQgZWZmZWN0LiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJOUEkgcHJlZmVycmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgb3JnYW5pemF0aW9uJ3MgcmVjb3JkIGlzIHN0aWxsIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIG9yZ2FuaXphdGlvbidzIHJlY29yZCBpcyBzdGlsbCBpbiBhY3RpdmUgdXNlLiIgY29tbWVudD0iVGhpcyBhY3RpdmUgZmxhZyBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCB0byBtYXJrIGFuIG9yZ2FuaXphdGlvbiBhcyB0ZW1wb3JhcmlseSBjbG9zZWQgb3IgdW5kZXIgY29uc3RydWN0aW9uLiBJbnN0ZWFkIHRoZSBMb2NhdGlvbihzKSB3aXRoaW4gdGhlIE9yZ2FuaXphdGlvbiBzaG91bGQgaGF2ZSB0aGUgc3VzcGVuZGVkIHN0YXR1cy4gSWYgZnVydGhlciBkZXRhaWxzIG9mIHRoZSByZWFzb24gZm9yIHRoZSBzdXNwZW5zaW9uIGFyZSByZXF1aXJlZCwgdGhlbiBhbiBleHRlbnNpb24gb24gdGhpcyBlbGVtZW50IHNob3VsZCBiZSB1c2VkLiYjeGE7JiN4YTtUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgaXQgbWF5IGJlIHVzZWQgdG8gbWFyayB0aGF0IHRoZSByZXNvdXJjZSB3YXMgY3JlYXRlZCBpbiBlcnJvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJLaW5kIG9mIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGtpbmQocykgb2Ygb3JnYW5pemF0aW9uIHRoYXQgdGhpcyBpcy4iIGNvbW1lbnQ9Ik9yZ2FuaXphdGlvbnMgY2FuIGJlIGNvcnBvcmF0aW9ucywgd2FyZHMsIHNlY3Rpb25zLCBjbGluaWNhbCB0ZWFtcywgZ292ZXJubWVudCBkZXBhcnRtZW50cywgZXRjLiBOb3RlIHRoYXQgY29kZSBpcyBnZW5lcmFsbHkgYSBjbGFzc2lmaWVyIG9mIHRoZSB0eXBlIG9mIG9yZ2FuaXphdGlvbjsgaW4gbWFueSBhcHBsaWNhdGlvbnMsIGNvZGVzIGFyZSB1c2VkIHRvIGlkZW50aXR5IGEgcGFydGljdWxhciBvcmdhbml6YXRpb24gKHNheSwgd2FyZCkgYXMgb3Bwb3NlZCB0byBhbm90aGVyIG9mIHRoZSBzYW1lIHR5cGUgLSB0aGVzZSBhcmUgaWRlbnRpZmllcnMsIG5vdCBjb2RlcyYjeGE7JiN4YTtXaGVuIGNvbnNpZGVyaW5nIGlmIG11bHRpcGxlIHR5cGVzIGFyZSBhcHByb3ByaWF0ZSwgeW91IHNob3VsZCBldmFsdWF0ZSBpZiBjaGlsZCBvcmdhbml6YXRpb25zIHdvdWxkIGJlIGEgbW9yZSBhcHByb3ByaWF0ZSB1c2Ugb2YgdGhlIGNvbmNlcHQsIGFzIGRpZmZlcmVudCB0eXBlcyBsaWtlbHkgYXJlIGluIGRpZmZlcmVudCBzdWItYXJlYXMgb2YgdGhlIG9yZ2FuaXphdGlvbi4gVGhpcyBpcyBtb3N0IGxpa2VseSB0byBiZSB1c2VkIHdoZXJlIHR5cGUgdmFsdWVzIGhhdmUgb3J0aG9nb25hbCB2YWx1ZXMsIHN1Y2ggYXMgYSByZWxpZ2lvdXMsIGFjYWRlbWljIGFuZCBtZWRpY2FsIGNlbnRlci4mI3hhOyYjeGE7V2UgZXhwZWN0IHRoYXQgc29tZSBqdXJpc2RpY3Rpb25zIHdpbGwgcHJvZmlsZSB0aGlzIG9wdGlvbmFsaXR5IHRvIGJlIGEgc2luZ2xlIGNhcmRpbmFsaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlVzZWQgdG8gY2F0ZWdvcml6ZSB0aGUgb3JnYW5pemF0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSB1c2VkIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBvcmdhbml6YXRpb24uIiBjb21tZW50PSJJZiB0aGUgbmFtZSBvZiBhbiBvcmdhbml6YXRpb24gY2hhbmdlcywgY29uc2lkZXIgcHV0dGluZyB0aGUgb2xkIG5hbWUgaW4gdGhlIGFsaWFzIGNvbHVtbiBzbyB0aGF0IGl0IGNhbiBzdGlsbCBiZSBsb2NhdGVkIHRocm91Z2ggc2VhcmNoZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbGlhcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0IiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0LiIgY29tbWVudD0iVGhlcmUgYXJlIG5vIGRhdGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWxpYXMvaGlzdG9yaWMgbmFtZXMsIGFzIHRoaXMgaXMgbm90IGludGVuZGVkIHRvIHRyYWNrIHdoZW4gbmFtZXMgd2VyZSB1c2VkLCBidXQgdG8gYXNzaXN0IGluIHNlYXJjaGluZyBzbyB0aGF0IG9sZGVyIG5hbWVzIGNhbiBzdGlsbCByZXN1bHQgaW4gaWRlbnRpZnlpbmcgdGhlIG9yZ2FuaXphdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgb3JnYW5pemF0aW9uLiIgY29tbWVudD0iVGhlIHVzZSBjb2RlICdob21lJyBpcyBub3QgdG8gYmUgdXNlZC4gTm90ZSB0aGF0IHRoZXNlIGNvbnRhY3RzIGFyZSBub3QgdGhlIGNvbnRhY3QgZGV0YWlscyBvZiBwZW9wbGUgd2hvIGFyZSBlbXBsb3llZCBieSBvciByZXByZXNlbnQgdGhlIG9yZ2FuaXphdGlvbiwgYnV0IG9mZmljaWFsIGNvbnRhY3RzIGZvciB0aGUgb3JnYW5pemF0aW9uIGl0c2VsZi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib3JnLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iVGhlIHRlbGVjb20gb2YgYW4gb3JnYW5pemF0aW9uIGNhbiBuZXZlciBiZSBvZiB1c2UgJ2hvbWUnIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IndoZXJlKHVzZSA9ICdob21lJykuZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBjb21tZW50PSJPcmdhbml6YXRpb24gbWF5IGhhdmUgbXVsdGlwbGUgYWRkcmVzc2VzIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiBUaGUgdXNlIGNvZGUgJ2hvbWUnIGlzIG5vdCB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib3JnLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQW4gYWRkcmVzcyBvZiBhbiBvcmdhbml6YXRpb24gY2FuIG5ldmVyIGJlIG9mIHVzZSAnaG9tZSciPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0id2hlcmUodXNlID0gJ2hvbWUnKS5lbXB0eSgpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiBvZiB3aGljaCB0aGlzIG9yZ2FuaXphdGlvbiBmb3JtcyBhIHBhcnQiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gb2Ygd2hpY2ggdGhpcyBvcmdhbml6YXRpb24gZm9ybXMgYSBwYXJ0LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJDb250YWN0IGZvciB0aGUgb3JnYW5pemF0aW9uIGZvciBhIGNlcnRhaW4gcHVycG9zZSIgZGVmaW5pdGlvbj0iQ29udGFjdCBmb3IgdGhlIG9yZ2FuaXphdGlvbiBmb3IgYSBjZXJ0YWluIHB1cnBvc2UuIiBjb21tZW50PSJXaGVyZSBtdWx0aXBsZSBjb250YWN0cyBmb3IgdGhlIHNhbWUgcHVycG9zZSBhcmUgcHJvdmlkZWQgdGhlcmUgaXMgYSBzdGFuZGFyZCBleHRlbnNpb24gdGhhdCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggb25lIGlzIHRoZSBwcmVmZXJyZWQgY29udGFjdCB0byB1c2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT3JnYW5pemF0aW9uLkNvbnRhY3QiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT3JnYW5pemF0aW9uLkNvbnRhY3QiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InB1cnBvc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGNvbnRhY3QiIGRlZmluaXRpb249IkluZGljYXRlcyBhIHB1cnBvc2UgZm9yIHdoaWNoIHRoZSBjb250YWN0IGNhbiBiZSByZWFjaGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RQYXJ0eVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgcHVycG9zZSBmb3Igd2hpY2ggeW91IHdvdWxkIGNvbnRhY3QgYSBjb250YWN0IHBhcnR5LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iUUlDb3JlLkh1bWFuTmFtZSIgZGVzY3JpcHRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QiIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgKHRlbGVwaG9uZSwgZW1haWwsIGV0Yy4pICBmb3IgYSBjb250YWN0IiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIChlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzKSBieSB3aGljaCB0aGUgcGFydHkgbWF5IGJlIGNvbnRhY3RlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWRkcmVzcyIgZGVzY3JpcHRpb249IlZpc2l0aW5nIG9yIHBvc3RhbCBhZGRyZXNzZXMgZm9yIHRoZSBjb250YWN0IiBkZWZpbml0aW9uPSJWaXNpdGluZyBvciBwb3N0YWwgYWRkcmVzc2VzIGZvciB0aGUgY29udGFjdC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXJhbWV0ZXJEZWZpbml0aW9uIiBsYWJlbD0iUGFyYW1ldGVyRGVmaW5pdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSB1c2VkIHRvIGFjY2VzcyB0aGUgcGFyYW1ldGVyIHZhbHVlIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIHVzZWQgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyIGluIGV2YWx1YXRpb24gY29udGV4dHMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXJhbWV0ZXJVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4gfCBvdXQiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHBhcmFtZXRlciBpcyBpbnB1dCBvciBvdXRwdXQgZm9yIHRoZSBtb2R1bGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGFyYW1ldGVyVXNlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgcGFyYW1ldGVyIGlzIGlucHV0IG9yIG91dHB1dC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1pbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik1pbmltdW0gY2FyZGluYWxpdHkiIGRlZmluaXRpb249IlRoZSBtaW5pbXVtIG51bWJlciBvZiB0aW1lcyB0aGlzIHBhcmFtZXRlciBTSEFMTCBhcHBlYXIgaW4gdGhlIHJlcXVlc3Qgb3IgcmVzcG9uc2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWF4aW11bSBjYXJkaW5hbGl0eSAoYSBudW1iZXIgb2YgKikiIGRlZmluaXRpb249IlRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGlzIGVsZW1lbnQgaXMgcGVybWl0dGVkIHRvIGFwcGVhciBpbiB0aGUgcmVxdWVzdCBvciByZXNwb25zZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9jdW1lbnRhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyIiBkZWZpbml0aW9uPSJBIGJyaWVmIGRpc2N1c3Npb24gb2Ygd2hhdCB0aGUgcGFyYW1ldGVyIGlzIGZvciBhbmQgaG93IGl0IGlzIHVzZWQgYnkgdGhlIG1vZHVsZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5GSElSQWxsVHlwZXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hhdCB0eXBlIG9mIHZhbHVlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiB0aGUgcGFyYW1ldGVyLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJBbGxUeXBlcyIgZGVzY3JpcHRpb249IkEgbGlzdCBvZiBhbGwgdGhlIGNvbmNyZXRlIHR5cGVzIGRlZmluZWQgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBGSElSIHNwZWNpZmljYXRpb24gLSBBYnN0cmFjdCBUeXBlcywgRGF0YSBUeXBlcyBhbmQgUmVzb3VyY2UgVHlwZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9maWxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGF0IHByb2ZpbGUgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIiBkZWZpbml0aW9uPSJJZiBzcGVjaWZpZWQsIHRoaXMgaW5kaWNhdGVzIGEgcHJvZmlsZSB0aGF0IHRoZSBpbnB1dCBkYXRhIG11c3QgY29uZm9ybSB0bywgb3IgdGhhdCB0aGUgb3V0cHV0IGRhdGEgd2lsbCBjb25mb3JtIHRvLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXJhbWV0ZXJVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhdGllbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXBhdGllbnQiIGxhYmVsPSJRSUNvcmUgUGF0aWVudCIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyYWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZVJhY2VFeHRlbnNpb24iIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UnXSIgZGVzY3JpcHRpb249IlVTIENvcmUgUmFjZSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNvbmNlcHRzIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24gaW50byBhIG5hbWVkIGNhdGVnb3J5IG9mIGh1bWFucyBzaGFyaW5nIGNvbW1vbiBoaXN0b3J5LCB0cmFpdHMsIGdlb2dyYXBoaWNhbCBvcmlnaW4gb3IgbmF0aW9uYWxpdHkuICBUaGUgcmFjZSBjb2RlcyB1c2VkIHRvIHJlcHJlc2VudCB0aGVzZSBjb25jZXB0cyBhcmUgYmFzZWQgdXBvbiB0aGUgW0NEQyBSYWNlIGFuZCBFdGhuaWNpdHkgQ29kZSBTZXQgVmVyc2lvbiAxLjBdKGh0dHA6Ly93d3cuY2RjLmdvdi9waGluL3Jlc291cmNlcy92b2NhYnVsYXJ5L2luZGV4Lmh0bWwpIHdoaWNoIGluY2x1ZGVzIG92ZXIgOTAwIGNvbmNlcHRzIGZvciByZXByZXNlbnRpbmcgcmFjZSBhbmQgZXRobmljaXR5IG9mIHdoaWNoIDkyMSByZWZlcmVuY2UgcmFjZS4gIFRoZSByYWNlIGNvbmNlcHRzIGFyZSBncm91cGVkIGJ5IGFuZCBwcmUtbWFwcGVkIHRvIHRoZSA1IE9NQiByYWNlIGNhdGVnb3JpZXM6JiN4YTsmI3hhOyAgIC0gQW1lcmljYW4gSW5kaWFuIG9yIEFsYXNrYSBOYXRpdmUmI3hhOyAgIC0gQXNpYW4mI3hhOyAgIC0gQmxhY2sgb3IgQWZyaWNhbiBBbWVyaWNhbiYjeGE7ICAgLSBOYXRpdmUgSGF3YWlpYW4gb3IgT3RoZXIgUGFjaWZpYyBJc2xhbmRlciYjeGE7ICAgLSBXaGl0ZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJldGhuaWNpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVVNDb3JlRXRobmljaXR5RXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1ldGhuaWNpdHknXSIgZGVzY3JpcHRpb249IlVTIENvcmUgZXRobmljaXR5IEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQ29uY2VwdHMgY2xhc3NpZnlpbmcgdGhlIHBlcnNvbiBpbnRvIGEgbmFtZWQgY2F0ZWdvcnkgb2YgaHVtYW5zIHNoYXJpbmcgY29tbW9uIGhpc3RvcnksIHRyYWl0cywgZ2VvZ3JhcGhpY2FsIG9yaWdpbiBvciBuYXRpb25hbGl0eS4gIFRoZSBldGhuaWNpdHkgY29kZXMgdXNlZCB0byByZXByZXNlbnQgdGhlc2UgY29uY2VwdHMgYXJlIGJhc2VkIHVwb24gdGhlIFtDREMgZXRobmljaXR5IGFuZCBFdGhuaWNpdHkgQ29kZSBTZXQgVmVyc2lvbiAxLjBdKGh0dHA6Ly93d3cuY2RjLmdvdi9waGluL3Jlc291cmNlcy92b2NhYnVsYXJ5L2luZGV4Lmh0bWwpIHdoaWNoIGluY2x1ZGVzIG92ZXIgOTAwIGNvbmNlcHRzIGZvciByZXByZXNlbnRpbmcgcmFjZSBhbmQgZXRobmljaXR5IG9mIHdoaWNoIDQzIHJlZmVyZW5jZSBldGhuaWNpdHkuICBUaGUgZXRobmljaXR5IGNvbmNlcHRzIGFyZSBncm91cGVkIGJ5IGFuZCBwcmUtbWFwcGVkIHRvIHRoZSAyIE9NQiBldGhuaWNpdHkgY2F0ZWdvcmllczogLSBIaXNwYW5pYyBvciBMYXRpbm8gLSBOb3QgSGlzcGFuaWMgb3IgTGF0aW5vLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoc2V4IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZUJpcnRoU2V4RXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgY2xhc3NpZnlpbmcgdGhlIHBlcnNvbidzIHNleCBhc3NpZ25lZCBhdCBiaXJ0aCAgYXMgc3BlY2lmaWVkIGJ5IHRoZSBbT2ZmaWNlIG9mIHRoZSBOYXRpb25hbCBDb29yZGluYXRvciBmb3IgSGVhbHRoIElUIChPTkMpXShodHRwczovL3d3dy5oZWFsdGhpdC5nb3YvbmV3c3Jvb20vYWJvdXQtb25jKS4iIGNvbW1lbnQ9IlRoZSBjb2RlcyByZXF1aXJlZCBhcmUgaW50ZW5kZWQgdG8gcHJlc2VudCBiaXJ0aCBzZXggKGkuZS4sIHRoZSBzZXggcmVjb3JkZWQgb24gdGhlIHBhdGllbnTigJlzIGJpcnRoIGNlcnRpZmljYXRlKSBhbmQgbm90IGdlbmRlciBpZGVudGl0eSBvciByZWFzc2lnbmVkIHNleC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJnZW5kZXJJZGVudGl0eSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZ2VuZGVySWRlbnRpdHknXSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQW4gRXh0ZW5zaW9uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsaWdpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUucmVsaWdpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3BhdGllbnQtcmVsaWdpb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCdzIHByb2Zlc3NlZCByZWxpZ2lvdXMgYWZmaWxpYXRpb25zIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCdzIHByb2Zlc3NlZCByZWxpZ2lvdXMgYWZmaWxpYXRpb25zLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoUGxhY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuYmlydGhQbGFjZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LWJpcnRoUGxhY2UnXSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIEJpcnRoIGZvciBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcmVnaXN0ZXJlZCBwbGFjZSBvZiBiaXJ0aCBvZiB0aGUgcGF0aWVudC4gQSBzeXRlbSBtYXkgdXNlIHRoZSBhZGRyZXNzLnRleHQgaWYgdGhleSBkb24ndCBzdG9yZSB0aGUgYmlydGhQbGFjZSBhZGRyZXNzIGluIGRpc2NyZXRlIGVsZW1lbnRzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hdGlvbmFsaXR5IiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3BhdGllbnQtbmF0aW9uYWxpdHknXSIgZGVzY3JpcHRpb249Ik5hdGlvbmFsaXR5IiBkZWZpbml0aW9uPSJUaGUgbmF0aW9uYWxpdHkgb2YgdGhlIHBhdGllbnQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5uYXRpb25hbGl0eSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FkYXZlcmljRG9ub3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuY2FkYXZlcmljRG9ub3IiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcGF0aWVudC1jYWRhdmVyaWNEb25vciddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUG9zdC1tb3J0ZW0gZG9ub3Igc3RhdHVzIiBkZWZpbml0aW9uPSJGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgcGF0aWVudCBhdXRob3JpemVkIHRoZSBkb25hdGlvbiBvZiBib2R5IHBhcnRzIGFmdGVyIGRlYXRoLiIgY29tbWVudD0iRG8gYXMgc3RhbmRhcmQgZXh0ZW5zaW9uIG9uIFBhdGllbnQ/IiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmlydGhUaW1lIiBlbGVtZW50VHlwZT0iUUlDb3JlLmJpcnRoVGltZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LWJpcnRoVGltZSddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGltZSBvZiBkYXkgb2YgYmlydGgiIGRlZmluaXRpb249IlRoZSB0aW1lIG9mIGRheSB0aGF0IHRoZSBQYXRpZW50IHdhcyBib3JuLiBUaGlzIGluY2x1ZGVzIHRoZSBkYXRlIHRvIGVuc3VyZSB0aGF0IHRoZSB0aW1lem9uZSBpbmZvcm1hdGlvbiBjYW4gYmUgY29tbXVuaWNhdGVkIGVmZmVjdGl2ZWx5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcGF0aWVudCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBwYXRpZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcGF0aWVudCdzIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcGF0aWVudCByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4gJiN4YTtNYW55IHN5c3RlbXMgdXNlIHRoaXMgcHJvcGVydHkgdG8gbWFyayBhcyBub24tY3VycmVudCBwYXRpZW50cywgc3VjaCBhcyB0aG9zZSB0aGF0IGhhdmUgbm90IGJlZW4gc2VlbiBmb3IgYSBwZXJpb2Qgb2YgdGltZSBiYXNlZCBvbiBhbiBvcmdhbml6YXRpb24ncyBidXNpbmVzcyBydWxlcy4mI3hhOyYjeGE7SXQgaXMgb2Z0ZW4gdXNlZCB0byBmaWx0ZXIgcGF0aWVudCBsaXN0cyB0byBleGNsdWRlIGluYWN0aXZlIHBhdGllbnRzJiN4YTsmI3hhO0RlY2Vhc2VkIHBhdGllbnRzIG1heSBhbHNvIGJlIG1hcmtlZCBhcyBpbmFjdGl2ZSBmb3IgdGhlIHNhbWUgcmVhc29ucywgYnV0IG1heSBiZSBhY3RpdmUgZm9yIHNvbWUgdGltZSBhZnRlciBkZWF0aC4iIGNvbW1lbnQ9IklmIGEgcmVjb3JkIGlzIGluYWN0aXZlLCBhbmQgbGlua2VkIHRvIGFuIGFjdGl2ZSByZWNvcmQsIHRoZW4gZnV0dXJlIHBhdGllbnQvcmVjb3JkIHVwZGF0ZXMgc2hvdWxkIG9jY3VyIG9uIHRoZSBvdGhlciBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5kaXZpZHVhbC4iIGNvbW1lbnQ9IkEgcGF0aWVudCBtYXkgaGF2ZSBtdWx0aXBsZSBuYW1lcyB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gRm9yIGFuaW1hbHMsIHRoZSBuYW1lIGlzIGEgJnF1b3Q7SHVtYW5OYW1lJnF1b3Q7IGluIHRoZSBzZW5zZSB0aGF0IGlzIGFzc2lnbmVkIGFuZCB1c2VkIGJ5IGh1bWFucyBhbmQgaGFzIHRoZSBzYW1lIHBhdHRlcm5zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCAoZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcykgYnkgd2hpY2ggdGhlIGluZGl2aWR1YWwgbWF5IGJlIGNvbnRhY3RlZC4iIGNvbW1lbnQ9IkEgUGF0aWVudCBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5IGFuZCBhbHNvIHRvIGhlbHAgd2l0aCBpZGVudGlmaWNhdGlvbi4gVGhlIGFkZHJlc3MgbWlnaHQgbm90IGdvIGRpcmVjdGx5IHRvIHRoZSBpbmRpdmlkdWFsLCBidXQgbWF5IHJlYWNoIGFub3RoZXIgcGFydHkgdGhhdCBpcyBhYmxlIHRvIHByb3h5IGZvciB0aGUgcGF0aWVudCAoaS5lLiBob21lIHBob25lLCBvciBwZXQgb3duZXIncyBwaG9uZSkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuVGVsZWNvbSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtYWxlIHwgZmVtYWxlIHwgb3RoZXIgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgLSB0aGUgZ2VuZGVyIHRoYXQgdGhlIHBhdGllbnQgaXMgY29uc2lkZXJlZCB0byBoYXZlIGZvciBhZG1pbmlzdHJhdGlvbiBhbmQgcmVjb3JkIGtlZXBpbmcgcHVycG9zZXMuIiBjb21tZW50PSJUaGUgZ2VuZGVyIG1pZ2h0IG5vdCBtYXRjaCB0aGUgYmlvbG9naWNhbCBzZXggYXMgZGV0ZXJtaW5lZCBieSBnZW5ldGljcyBvciB0aGUgaW5kaXZpZHVhbCdzIHByZWZlcnJlZCBpZGVudGlmaWNhdGlvbi4gTm90ZSB0aGF0IGZvciBib3RoIGh1bWFucyBhbmQgcGFydGljdWxhcmx5IGFuaW1hbHMsIHRoZXJlIGFyZSBvdGhlciBsZWdpdGltYXRlIHBvc3NpYmlsaXRpZXMgdGhhbiBtYWxlIGFuZCBmZW1hbGUsIHRob3VnaCB0aGUgdmFzdCBtYWpvcml0eSBvZiBzeXN0ZW1zIGFuZCBjb250ZXh0cyBvbmx5IHN1cHBvcnQgbWFsZSBhbmQgZmVtYWxlLiAgU3lzdGVtcyBwcm92aWRpbmcgZGVjaXNpb24gc3VwcG9ydCBvciBlbmZvcmNpbmcgYnVzaW5lc3MgcnVsZXMgc2hvdWxkIGlkZWFsbHkgZG8gdGhpcyBvbiB0aGUgYmFzaXMgb2YgT2JzZXJ2YXRpb25zIGRlYWxpbmcgd2l0aCB0aGUgc3BlY2lmaWMgc2V4IG9yIGdlbmRlciBhc3BlY3Qgb2YgaW50ZXJlc3QgKGFuYXRvbWljYWwsIGNocm9tb3NvbWFsLCBzb2NpYWwsIGV0Yy4pICBIb3dldmVyLCBiZWNhdXNlIHRoZXNlIG9ic2VydmF0aW9ucyBhcmUgaW5mcmVxdWVudGx5IHJlY29yZGVkLCBkZWZhdWx0aW5nIHRvIHRoZSBhZG1pbmlzdHJhdGl2ZSBnZW5kZXIgaXMgY29tbW9uIHByYWN0aWNlLiAgV2hlcmUgc3VjaCBkZWZhdWx0aW5nIG9jY3VycywgcnVsZSBlbmZvcmNlbWVudCBzaG91bGQgYWxsb3cgZm9yIHRoZSB2YXJpYXRpb24gYmV0d2VlbiBhZG1pbmlzdHJhdGl2ZSBhbmQgYmlvbG9naWNhbCwgY2hyb21vc29tYWwgYW5kIG90aGVyIGdlbmRlciBhc3BlY3RzLiAgRm9yIGV4YW1wbGUsIGFuIGFsZXJ0IGFib3V0IGEgaHlzdGVyZWN0b215IG9uIGEgbWFsZSBzaG91bGQgYmUgaGFuZGxlZCBhcyBhIHdhcm5pbmcgb3Igb3ZlcnJpZGFibGUgZXJyb3IsIG5vdCBhICZxdW90O2hhcmQmcXVvdDsgZXJyb3IuICBTZWUgdGhlIFBhdGllbnQgR2VuZGVyIGFuZCBTZXggc2VjdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCBjb21tdW5pY2F0aW5nIHBhdGllbnQgZ2VuZGVyIGFuZCBzZXguIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBkYXRlIG9mIGJpcnRoIGZvciB0aGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBpbmRpdmlkdWFsLiIgY29tbWVudD0iQXQgbGVhc3QgYW4gZXN0aW1hdGVkIHllYXIgc2hvdWxkIGJlIHByb3ZpZGVkIGFzIGEgZ3Vlc3MgaWYgdGhlIHJlYWwgRE9CIGlzIHVua25vd24gIFRoZXJlIGlzIGEgc3RhbmRhcmQgZXh0ZW5zaW9uICZxdW90O3BhdGllbnQtYmlydGhUaW1lJnF1b3Q7IGF2YWlsYWJsZSB0aGF0IHNob3VsZCBiZSB1c2VkIHdoZXJlIFRpbWUgaXMgcmVxdWlyZWQgKHN1Y2ggYXMgaW4gbWF0ZXJuaXR5L2luZmFudCBjYXJlIHN5c3RlbXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVjZWFzZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdC4iIGNvbW1lbnQ9IlRoZSAmcXVvdDtDYXVzZSBvZiBkZWF0aCZxdW90OyBmb3IgYSBwYXRpZW50IGlzIHR5cGljYWxseSBjYXB0dXJlZCBhcyBhbiBPYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGRlc2NyaXB0aW9uPSJBbiBhZGRyZXNzIGZvciB0aGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iQW4gYWRkcmVzcyBmb3IgdGhlIGluZGl2aWR1YWwuIiBjb21tZW50PSJQYXRpZW50IG1heSBoYXZlIG11bHRpcGxlIGFkZHJlc3NlcyB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUGF0aWVudC5BZGRyZXNzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYXJpdGFsU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNYXJpdGFsIChjaXZpbCkgc3RhdHVzIG9mIGEgcGF0aWVudCIgZGVmaW5pdGlvbj0iVGhpcyBmaWVsZCBjb250YWlucyBhIHBhdGllbnQncyBtb3N0IHJlY2VudCBtYXJpdGFsIChjaXZpbCkgc3RhdHVzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1hcml0YWxTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgZG9tZXN0aWMgcGFydG5lcnNoaXAgc3RhdHVzIG9mIGEgcGVyc29uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtdWx0aXBsZUJpcnRoIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXRoZXIgcGF0aWVudCBpcyBwYXJ0IG9mIGEgbXVsdGlwbGUgYmlydGgiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBwYXRpZW50IGlzIHBhcnQgb2YgYSBtdWx0aXBsZSAoYm9vbGVhbikgb3IgaW5kaWNhdGVzIHRoZSBhY3R1YWwgYmlydGggb3JkZXIgKGludGVnZXIpLiIgY29tbWVudD0iV2hlcmUgdGhlIHZhbHVlSW50ZWdlciBpcyBwcm92aWRlZCwgdGhlIG51bWJlciBpcyB0aGUgYmlydGggbnVtYmVyIGluIHRoZSBzZXF1ZW5jZS4gRS5nLiBUaGUgbWlkZGxlIGJpcnRoIGluIHRyaXBsZXRzIHdvdWxkIGJlIHZhbHVlSW50ZWdlcj0yIGFuZCB0aGUgdGhpcmQgYm9ybiB3b3VsZCBoYXZlIHZhbHVlSW50ZWdlcj0zIElmIGEgYm9vbGVhbiB2YWx1ZSB3YXMgcHJvdmlkZWQgZm9yIHRoaXMgdHJpcGxldHMgZXhhbXBsZSwgdGhlbiBhbGwgMyBwYXRpZW50IHJlY29yZHMgd291bGQgaGF2ZSB2YWx1ZUJvb2xlYW49dHJ1ZSAodGhlIG9yZGVyaW5nIGlzIG5vdCBpbmRpY2F0ZWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBob3RvIiBkZXNjcmlwdGlvbj0iSW1hZ2Ugb2YgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IkltYWdlIG9mIHRoZSBwYXRpZW50LiIgY29tbWVudD0iR3VpZGVsaW5lczomI3hhOyogVXNlIGlkIHBob3Rvcywgbm90IGNsaW5pY2FsIHBob3Rvcy4mI3hhOyogTGltaXQgZGltZW5zaW9ucyB0byB0aHVtYm5haWwuJiN4YTsqIEtlZXAgYnl0ZSBjb3VudCBsb3cgdG8gZWFzZSByZXNvdXJjZSB1cGRhdGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgcGFydHkgKGUuZy4gZ3VhcmRpYW4sIHBhcnRuZXIsIGZyaWVuZCkgZm9yIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgcGFydHkgKGUuZy4gZ3VhcmRpYW4sIHBhcnRuZXIsIGZyaWVuZCkgZm9yIHRoZSBwYXRpZW50LiIgY29tbWVudD0iQ29udGFjdCBjb3ZlcnMgYWxsIGtpbmRzIG9mIGNvbnRhY3QgcGFydGllczogZmFtaWx5IG1lbWJlcnMsIGJ1c2luZXNzIGNvbnRhY3RzLCBndWFyZGlhbnMsIGNhcmVnaXZlcnMuIE5vdCBhcHBsaWNhYmxlIHRvIHJlZ2lzdGVyIHBlZGlncmVlIGFuZCBmYW1pbHkgdGllcyBiZXlvbmQgdXNlIG9mIGhhdmluZyBjb250YWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuQ29udGFjdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InBhdC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIGF0IGxlYXN0IGNvbnRhaW4gYSBjb250YWN0J3MgZGV0YWlscyBvciBhIHJlZmVyZW5jZSB0byBhbiBvcmdhbml6YXRpb24iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibmFtZS5leGlzdHMoKSBvciB0ZWxlY29tLmV4aXN0cygpIG9yIGFkZHJlc3MuZXhpc3RzKCkgb3Igb3JnYW5pemF0aW9uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21tdW5pY2F0aW9uIiBkZXNjcmlwdGlvbj0iQSBsYW5ndWFnZSB3aGljaCBtYXkgYmUgdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBwYXRpZW50IGFib3V0IGhpcyBvciBoZXIgaGVhbHRoIiBkZWZpbml0aW9uPSJBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGguIiBjb21tZW50PSJJZiBubyBsYW5ndWFnZSBpcyBzcGVjaWZpZWQsIHRoaXMgKmltcGxpZXMqIHRoYXQgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UgaXMgc3Bva2VuLiAgSWYgeW91IG5lZWQgdG8gY29udmV5IHByb2ZpY2llbmN5IGZvciBtdWx0aXBsZSBtb2RlcywgdGhlbiB5b3UgbmVlZCBtdWx0aXBsZSBQYXRpZW50LkNvbW11bmljYXRpb24gYXNzb2NpYXRpb25zLiAgIEZvciBhbmltYWxzLCBsYW5ndWFnZSBpcyBub3QgYSByZWxldmFudCBmaWVsZCwgYW5kIHNob3VsZCBiZSBhYnNlbnQgZnJvbSB0aGUgaW5zdGFuY2UuIElmIHRoZSBQYXRpZW50IGRvZXMgbm90IHNwZWFrIHRoZSBkZWZhdWx0IGxvY2FsIGxhbmd1YWdlLCB0aGVuIHRoZSBJbnRlcnByZXRlciBSZXF1aXJlZCBTdGFuZGFyZCBjYW4gYmUgdXNlZCB0byBleHBsaWNpdGx5IGRlY2xhcmUgdGhhdCBhbiBpbnRlcnByZXRlciBpcyByZXF1aXJlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuQ29tbXVuaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZXJhbFByYWN0aXRpb25lciIgZGVzY3JpcHRpb249IlBhdGllbnQncyBub21pbmF0ZWQgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIiBkZWZpbml0aW9uPSJQYXRpZW50J3Mgbm9taW5hdGVkIGNhcmUgcHJvdmlkZXIuIiBjb21tZW50PSJUaGlzIG1heSBiZSB0aGUgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIChpbiBhIEdQIGNvbnRleHQpLCBvciBpdCBtYXkgYmUgYSBwYXRpZW50IG5vbWluYXRlZCBjYXJlIG1hbmFnZXIgaW4gYSBjb21tdW5pdHkvZGlzYWJpbGl0eSBzZXR0aW5nLCBvciBldmVuIG9yZ2FuaXphdGlvbiB0aGF0IHdpbGwgcHJvdmlkZSBwZW9wbGUgdG8gcGVyZm9ybSB0aGUgY2FyZSBwcm92aWRlciByb2xlcy4gIEl0IGlzIG5vdCB0byBiZSB1c2VkIHRvIHJlY29yZCBDYXJlIFRlYW1zLCB0aGVzZSBzaG91bGQgYmUgaW4gYSBDYXJlVGVhbSByZXNvdXJjZSB0aGF0IG1heSBiZSBsaW5rZWQgdG8gdGhlIENhcmVQbGFuIG9yIEVwaXNvZGVPZkNhcmUgcmVzb3VyY2VzLiYjeGE7TXVsdGlwbGUgR1BzIG1heSBiZSByZWNvcmRlZCBhZ2FpbnN0IHRoZSBwYXRpZW50IGZvciB2YXJpb3VzIHJlYXNvbnMsIHN1Y2ggYXMgYSBzdHVkZW50IHRoYXQgaGFzIGhpcyBob21lIEdQIGxpc3RlZCBhbG9uZyB3aXRoIHRoZSBHUCBhdCB1bml2ZXJzaXR5IGR1cmluZyB0aGUgc2Nob29sIHNlbWVzdGVycywgb3IgYSAmcXVvdDtmbHktaW4vZmx5LW91dCZxdW90OyB3b3JrZXIgdGhhdCBoYXMgdGhlIG9uc2l0ZSBHUCBhbHNvIGluY2x1ZGVkIHdpdGggaGlzIGhvbWUgR1AgdG8gcmVtYWluIGF3YXJlIG9mIG1lZGljYWwgaXNzdWVzLiYjeGE7JiN4YTtKdXJpc2RpY3Rpb25zIG1heSBkZWNpZGUgdGhhdCB0aGV5IGNhbiBwcm9maWxlIHRoaXMgZG93biB0byAxIGlmIGRlc2lyZWQsIG9yIDEgcGVyIHR5cGUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbmFnaW5nT3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzIHRoZSBjdXN0b2RpYW4gb2YgdGhlIHBhdGllbnQgcmVjb3JkIiBkZWZpbml0aW9uPSJPcmdhbml6YXRpb24gdGhhdCBpcyB0aGUgY3VzdG9kaWFuIG9mIHRoZSBwYXRpZW50IHJlY29yZC4iIGNvbW1lbnQ9IlRoZXJlIGlzIG9ubHkgb25lIG1hbmFnaW5nIG9yZ2FuaXphdGlvbiBmb3IgYSBzcGVjaWZpYyBwYXRpZW50IHJlY29yZC4gT3RoZXIgb3JnYW5pemF0aW9ucyB3aWxsIGhhdmUgdGhlaXIgb3duIFBhdGllbnQgcmVjb3JkLCBhbmQgbWF5IHVzZSB0aGUgTGluayBwcm9wZXJ0eSB0byBqb2luIHRoZSByZWNvcmRzIHRvZ2V0aGVyIChvciBhIFBlcnNvbiByZXNvdXJjZSB3aGljaCBjYW4gaW5jbHVkZSBjb25maWRlbmNlIHJhdGluZ3MgZm9yIHRoZSBhc3NvY2lhdGlvbikuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGluayIgZGVzY3JpcHRpb249IkxpbmsgdG8gYW5vdGhlciBwYXRpZW50IHJlc291cmNlIHRoYXQgY29uY2VybnMgdGhlIHNhbWUgYWN0dWFsIHBlcnNvbiIgZGVmaW5pdGlvbj0iTGluayB0byBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UgdGhhdCBjb25jZXJucyB0aGUgc2FtZSBhY3R1YWwgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZXJlIGlzIG5vIGFzc3VtcHRpb24gdGhhdCBsaW5rZWQgcGF0aWVudCByZWNvcmRzIGhhdmUgbXV0dWFsIGxpbmtzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUGF0aWVudC5MaW5rIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJnZW5lcmFsUHJhY3RpdGlvbmVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJvdGhlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ib3RoZXIiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkFkZHJlc3MiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxiYXNlVHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzLXByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5wcmVmZXJyZWQiIHRhcmdldD0iJXBhcmVudC5hZGRyZXNzLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByZWZlcnJlZCIgZGVmaW5pdGlvbj0iRmxhZyBkZW5vdGluZyB3aGV0aGVyIHBhcmVudCBpdGVtIGlzIHByZWZlcnJlZCAtIGUuZy4sIGEgcHJlZmVycmVkIGFkZHJlc3Mgb3IgdGVsZXBob25lIG51bWJlci4iIGNvbW1lbnQ9Ik1ha2UgZ2VuZXJhbCBleHRlbnNpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5Db21tdW5pY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGxhbmd1YWdlIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGgiIGRlZmluaXRpb249IlRoZSBJU08tNjM5LTEgYWxwaGEgMiBjb2RlIGluIGxvd2VyIGNhc2UgZm9yIHRoZSBsYW5ndWFnZSwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGh5cGhlbiBhbmQgdGhlIElTTy0zMTY2LTEgYWxwaGEgMiBjb2RlIGZvciB0aGUgcmVnaW9uIGluIHVwcGVyIGNhc2U7IGUuZy4gJnF1b3Q7ZW4mcXVvdDsgZm9yIEVuZ2xpc2gsIG9yICZxdW90O2VuLVVTJnF1b3Q7IGZvciBBbWVyaWNhbiBFbmdsaXNoIHZlcnN1cyAmcXVvdDtlbi1FTiZxdW90OyBmb3IgRW5nbGFuZCBFbmdsaXNoLiIgY29tbWVudD0iVGhlIHN0cnVjdHVyZSBhYS1CQiB3aXRoIHRoaXMgZXhhY3QgY2FzaW5nIGlzIG9uZSB0aGUgbW9zdCB3aWRlbHkgdXNlZCBub3RhdGlvbnMgZm9yIGxvY2FsZS4gSG93ZXZlciBub3QgYWxsIHN5c3RlbXMgYWN0dWFsbHkgY29kZSB0aGlzIGJ1dCBpbnN0ZWFkIGhhdmUgaXQgYXMgZnJlZSB0ZXh0LiBIZW5jZSBDb2RlYWJsZUNvbmNlcHQgaW5zdGVhZCBvZiBjb2RlIGFzIHRoZSBkYXRhIHR5cGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlZmVycmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTGFuZ3VhZ2UgcHJlZmVyZW5jZSBpbmRpY2F0b3IiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgcGF0aWVudCBwcmVmZXJzIHRoaXMgbGFuZ3VhZ2UgKG92ZXIgb3RoZXIgbGFuZ3VhZ2VzIGhlIG1hc3RlcnMgdXAgYSBjZXJ0YWluIGxldmVsKS4iIGNvbW1lbnQ9IlRoaXMgbGFuZ3VhZ2UgaXMgc3BlY2lmaWNhbGx5IGlkZW50aWZpZWQgZm9yIGNvbW11bmljYXRpbmcgaGVhbHRoY2FyZSBpbmZvcm1hdGlvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5Db250YWN0IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWxhdGlvbnNoaXAiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiByZWxhdGlvbnNoaXAiIGRlZmluaXRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBwYXRpZW50IGFuZCB0aGUgY29udGFjdCBwZXJzb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RSZWxhdGlvbnNoaXAiIGRlc2NyaXB0aW9uPSJUaGUgbmF0dXJlIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBhIHBhdGllbnQgYW5kIGEgY29udGFjdCBwZXJzb24gZm9yIHRoYXQgcGF0aWVudC4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiIGRlc2NyaXB0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250YWN0IHBlcnNvbiIgZGVmaW5pdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udGFjdCBwZXJzb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uLCBlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzLiIgY29tbWVudD0iQ29udGFjdCBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5LCBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiIGRlc2NyaXB0aW9uPSJBZGRyZXNzIGZvciB0aGUgY29udGFjdCBwZXJzb24iIGRlZmluaXRpb249IkFkZHJlc3MgZm9yIHRoZSBjb250YWN0IHBlcnNvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgY29udGFjdCBwZXJzb24gaXMgY29uc2lkZXJlZCB0byBoYXZlIGZvciBhZG1pbmlzdHJhdGlvbiBhbmQgcmVjb3JkIGtlZXBpbmcgcHVycG9zZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRtaW5pc3RyYXRpdmVHZW5kZXIiIGRlc2NyaXB0aW9uPSJUaGUgZ2VuZGVyIG9mIGEgcGVyc29uIHVzZWQgZm9yIGFkbWluaXN0cmF0aXZlIHB1cnBvc2VzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udGFjdCIgZGVmaW5pdGlvbj0iT3JnYW5pemF0aW9uIG9uIGJlaGFsZiBvZiB3aGljaCB0aGUgY29udGFjdCBpcyBhY3Rpbmcgb3IgZm9yIHdoaWNoIHRoZSBjb250YWN0IGlzIHdvcmtpbmcuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkxpbmsiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im90aGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBvdGhlciBwYXRpZW50IG9yIHJlbGF0ZWQgcGVyc29uIHJlc291cmNlIHRoYXQgdGhlIGxpbmsgcmVmZXJzIHRvIiBkZWZpbml0aW9uPSJUaGUgb3RoZXIgcGF0aWVudCByZXNvdXJjZSB0aGF0IHRoZSBsaW5rIHJlZmVycyB0by4iIGNvbW1lbnQ9IlJlZmVyZW5jaW5nIGEgUmVsYXRlZFBlcnNvbiBoZXJlIHJlbW92ZXMgdGhlIG5lZWQgdG8gdXNlIGEgUGVyc29uIHJlY29yZCB0byBhc3NvY2lhdGUgYSBQYXRpZW50IGFuZCBSZWxhdGVkUGVyc29uIGFzIHRoZSBzYW1lIGluZGl2aWR1YWwuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5MaW5rVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZXBsYWNlZC1ieSB8IHJlcGxhY2VzIHwgcmVmZXIgfCBzZWVhbHNvIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGlua1R5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhdGllbnQuVGVsZWNvbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbS1wcmVmZXJyZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUucHJlZmVycmVkIiB0YXJnZXQ9IiVwYXJlbnQudGVsZWNvbS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vaXNvMjEwOTAtcHJlZmVycmVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVmZXJyZWQiIGRlZmluaXRpb249IkZsYWcgZGVub3Rpbmcgd2hldGhlciBwYXJlbnQgaXRlbSBpcyBwcmVmZXJyZWQgLSBlLmcuLCBhIHByZWZlcnJlZCBhZGRyZXNzIG9yIHRlbGVwaG9uZSBudW1iZXIuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcmFjdGl0aW9uZXIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXByYWN0aXRpb25lciIgbGFiZWw9IlFJQ29yZSBQcmFjdGl0aW9uZXIiIHJldHJpZXZhYmxlPSJ0cnVlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFuIGlkZW50aWZpZXIgZm9yIHRoZSBwZXJzb24gYXMgdGhpcyBhZ2VudCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciB0aGF0IGFwcGxpZXMgdG8gdGhpcyBwZXJzb24gaW4gdGhpcyByb2xlLiIgY29tbWVudD0iTlBJIG11c3QgYmUgc3VwcG9ydGVkIGFzIHRoZSBpZGVudGlmaWVyIHN5c3RlbSBpbiB0aGUgVVMsIFRheCBpZCBpcyBhbGxvd2VkLCBMb2NhbCBpZCBpcyBhbGxvd2VkIGluIGFkZGl0aW9uIHRvIGFub3RoZXIgaWRlbnRpZmllciBzdXBwbGllZCBieSBhIGp1cmlzZGljdGlvbmFsIGF1dGhvcml0eSBzdWNoIGFzIGEgcHJhY3RpdGlvbmVyJ3MgKkRydWcgRW5mb3JjZW1lbnQgQWRtaW5pc3RyYXRpb24gKERFQSkqIG51bWJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iTlBJIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBbiBpZGVudGlmaWVyIGZvciB0aGUgcGVyc29uIGFzIHRoaXMgYWdlbnQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBhcHBsaWVzIHRvIHRoaXMgcGVyc29uIGluIHRoaXMgcm9sZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVpbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVGhlcmUgaXMgbm90IGEgZ2VuZXJhbCBUYXggSWRlbnRpZmllciBOdW1lciAoVElOKSBPSUQuIFRoZXJlIGlzIGFuIFNTTiwgYSBQVElOLCBhbmQgYW4gSVRJTiwgYnV0IG5vIFRJTiBnZW5lcmFsbHkuIFNvIHRoZSBvbmx5IHNsaWNlIHNwZWNpZmllZCBoZXJlIGlzIEVJTiwgaWYgY29uc3VtZXJzIGRldGVybWluZSBhIG5lZWQgZm9yIGFuIFNTTiwgc3VibWl0IGEgY29tbWVudCB0byB0aGF0IGVmZmVjdC4iIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBhcHBsaWVzIHRvIHRoaXMgcGVyc29uIGluIHRoaXMgcm9sZS4iIGNvbW1lbnQ9Ik5QSSBtdXN0IGJlIHN1cHBvcnRlZCBhcyB0aGUgaWRlbnRpZmllciBzeXN0ZW0gaW4gdGhlIFVTLCBUYXggaWQgaXMgYWxsb3dlZCwgTG9jYWwgaWQgaXMgYWxsb3dlZCBpbiBhZGRpdGlvbiB0byBhbm90aGVyIGlkZW50aWZpZXIgc3VwcGxpZWQgYnkgYSBqdXJpc2RpY3Rpb25hbCBhdXRob3JpdHkgc3VjaCBhcyBhIHByYWN0aXRpb25lcidzICpEcnVnIEVuZm9yY2VtZW50IEFkbWluaXN0cmF0aW9uIChERUEpKiBudW1iZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyJ3MgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBwcmFjdGl0aW9uZXIncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IklmIHRoZSBwcmFjdGl0aW9uZXIgaXMgbm90IGluIHVzZSBieSBvbmUgb3JnYW5pemF0aW9uLCB0aGVuIGl0IHNob3VsZCBtYXJrIHRoZSBwZXJpb2Qgb24gdGhlIFByYWN0aXRvbmVyUm9sZSB3aXRoIGFuIGVuZCBkYXRlIChldmVuIGlmIHRoZXkgYXJlIGFjdGl2ZSkgYXMgdGhleSBtYXkgYmUgYWN0aXZlIGluIGFub3RoZXIgcm9sZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lKHMpIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJUaGUgbmFtZShzKSBhc3NvY2lhdGVkIHdpdGggdGhlIHByYWN0aXRpb25lci4iIGNvbW1lbnQ9IlRoZSBzZWxlY3Rpb24gb2YgdGhlIHVzZSBwcm9wZXJ0eSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlcmUgaXMgYSBzaW5nbGUgdXN1YWwgbmFtZSBzcGVjaWZpZWQsIGFuZCBvdGhlcnMgdXNlIHRoZSBuaWNrbmFtZSAoYWxpYXMpLCBvbGQsIG9yIG90aGVyIHZhbHVlcyBhcyBhcHByb3ByaWF0ZS4gICYjeGQ7JiN4ZDtJbiBnZW5lcmFsLCBzZWxlY3QgdGhlIHZhbHVlIHRvIGJlIHVzZWQgaW4gdGhlIFJlc291cmNlUmVmZXJlbmNlLmRpc3BsYXkgYmFzZWQgb24gdGhpczomI3hkOyYjeGQ7MS4gVGhlcmUgaXMgbW9yZSB0aGFuIDEgbmFtZSYjeGQ7Mi4gVXNlID0gdXN1YWwmI3hkOzMuIFBlcmlvZCBpcyBjdXJyZW50IHRvIHRoZSBkYXRlIG9mIHRoZSB1c2FnZSYjeGQ7NC4gVXNlID0gb2ZmaWNpYWwmI3hkOzUuIE90aGVyIG9yZGVyIGFzIGRlY2lkZWQgYnkgaW50ZXJuYWwgYnVzaW5lc3MgcnVsZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkh1bWFuTmFtZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkEgY29udGFjdCBkZXRhaWwgZm9yIHRoZSBwcmFjdGl0aW9uZXIgKHRoYXQgYXBwbHkgdG8gYWxsIHJvbGVzKSIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHByYWN0aXRpb25lciwgZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcy4iIGNvbW1lbnQ9IlBlcnNvbiBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5IGFuZCB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uICBUaGVzZSB0eXBpY2FsbHkgd2lsbCBoYXZlIGhvbWUgbnVtYmVycywgb3IgbW9iaWxlIG51bWJlcnMgdGhhdCBhcmUgbm90IHJvbGUgc3BlY2lmaWMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFkZHJlc3MoZXMpIG9mIHRoZSBwcmFjdGl0aW9uZXIgdGhhdCBhcmUgbm90IHJvbGUgc3BlY2lmaWMgKHR5cGljYWxseSBob21lIGFkZHJlc3MpIiBkZWZpbml0aW9uPSJBZGRyZXNzKGVzKSBvZiB0aGUgcHJhY3RpdGlvbmVyIHRoYXQgYXJlIG5vdCByb2xlIHNwZWNpZmljICh0eXBpY2FsbHkgaG9tZSBhZGRyZXNzKS4gJiN4ZDtXb3JrIGFkZHJlc3NlcyBhcmUgbm90IHR5cGljYWxseSBlbnRlcmVkIGluIHRoaXMgcHJvcGVydHkgYXMgdGhleSBhcmUgdXN1YWxseSByb2xlIGRlcGVuZGVudC4iIGNvbW1lbnQ9IlRoZSBQcmFjdGl0aW9uZXJSb2xlIGRvZXMgbm90IGhhdmUgYW4gYWRkcmVzcyB2YWx1ZSBvbiBpdCwgYXMgaXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgbG9jYXRpb24gcHJvcGVydHkgYmUgdXNlZCBmb3IgdGhpcyBwdXJwb3NlICh3aGljaCBoYXMgYW4gYWRkcmVzcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImdlbmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZG1pbmlzdHJhdGl2ZUdlbmRlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtYWxlIHwgZmVtYWxlIHwgb3RoZXIgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgLSB0aGUgZ2VuZGVyIHRoYXQgdGhlIHBlcnNvbiBpcyBjb25zaWRlcmVkIHRvIGhhdmUgZm9yIGFkbWluaXN0cmF0aW9uIGFuZCByZWNvcmQga2VlcGluZyBwdXJwb3Nlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZG1pbmlzdHJhdGl2ZUdlbmRlciIgZGVzY3JpcHRpb249IlRoZSBnZW5kZXIgb2YgYSBwZXJzb24gdXNlZCBmb3IgYWRtaW5pc3RyYXRpdmUgcHVycG9zZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSAgb24gd2hpY2ggdGhlIHByYWN0aXRpb25lciB3YXMgYm9ybiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBwcmFjdGl0aW9uZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBob3RvIiBkZXNjcmlwdGlvbj0iSW1hZ2Ugb2YgdGhlIHBlcnNvbiIgZGVmaW5pdGlvbj0iSW1hZ2Ugb2YgdGhlIHBlcnNvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5BdHRhY2htZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFsaWZpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ2VydGlmaWNhdGlvbiwgbGljZW5zZXMsIG9yIHRyYWluaW5nIHBlcnRhaW5pbmcgdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIiBkZWZpbml0aW9uPSJUaGUgb2ZmaWNpYWwgY2VydGlmaWNhdGlvbnMsIHRyYWluaW5nLCBhbmQgbGljZW5zZXMgdGhhdCBhdXRob3JpemUgb3Igb3RoZXJ3aXNlIHBlcnRhaW4gdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIGJ5IHRoZSBwcmFjdGl0aW9uZXIuICBGb3IgZXhhbXBsZSwgYSBtZWRpY2FsIGxpY2Vuc2UgaXNzdWVkIGJ5IGEgbWVkaWNhbCBib2FyZCBhdXRob3JpemluZyB0aGUgcHJhY3RpdGlvbmVyIHRvIHByYWN0aWNlIG1lZGljaW5lIHdpdGhpbiBhIGNlcnRpYW4gbG9jYWxpdHkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5QcmFjdGl0aW9uZXIuUXVhbGlmaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tbXVuaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkEgbGFuZ3VhZ2UgdGhlIHByYWN0aXRpb25lciBjYW4gdXNlIGluIHBhdGllbnQgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBsYW5ndWFnZSB0aGUgcHJhY3RpdGlvbmVyIGNhbiB1c2UgaW4gcGF0aWVudCBjb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhlIHN0cnVjdHVyZSBhYS1CQiB3aXRoIHRoaXMgZXhhY3QgY2FzaW5nIGlzIG9uZSB0aGUgbW9zdCB3aWRlbHkgdXNlZCBub3RhdGlvbnMgZm9yIGxvY2FsZS4gSG93ZXZlciBub3QgYWxsIHN5c3RlbXMgY29kZSB0aGlzIGJ1dCBpbnN0ZWFkIGhhdmUgaXQgYXMgZnJlZSB0ZXh0LiBIZW5jZSBDb2RlYWJsZUNvbmNlcHQgaW5zdGVhZCBvZiBjb2RlIGFzIHRoZSBkYXRhIHR5cGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ikxhbmd1YWdlIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcmFjdGl0aW9uZXIuUXVhbGlmaWNhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcXVhbGlmaWNhdGlvbiBmb3IgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciB0aGF0IGFwcGxpZXMgdG8gdGhpcyBwZXJzb24ncyBxdWFsaWZpY2F0aW9uIGluIHRoaXMgcm9sZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVhbGlmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHF1YWxpZmljYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVhbGlmaWNhdGlvbiIgZGVzY3JpcHRpb249IlNwZWNpZmljIHF1YWxpZmljYXRpb24gdGhlIHByYWN0aXRpb25lciBoYXMgdG8gcHJvdmlkZSBhIHNlcnZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBxdWFsaWZpY2F0aW9uIGlzIHZhbGlkIiBkZWZpbml0aW9uPSJQZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBxdWFsaWZpY2F0aW9uIGlzIHZhbGlkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgcmVndWxhdGVzIGFuZCBpc3N1ZXMgdGhlIHF1YWxpZmljYXRpb24iIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IHJlZ3VsYXRlcyBhbmQgaXNzdWVzIHRoZSBxdWFsaWZpY2F0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyUm9sZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJhY3RpdGlvbmVycm9sZSIgbGFiZWw9IlFJQ29yZSBQcmFjdGl0aW9uZXJSb2xlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXJzIHRoYXQgYXJlIHNwZWNpZmljIHRvIGEgcm9sZS9sb2NhdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllcnMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gYSByb2xlL2xvY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyIHJvbGUgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBwcmFjdGl0aW9uZXIgcm9sZSByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IklmIHRoaXMgdmFsdWUgaXMgZmFsc2UsIHlvdSBtYXkgcmVmZXIgdG8gdGhlIHBlcmlvZCB0byBzZWUgd2hlbiB0aGUgcm9sZSB3YXMgaW4gYWN0aXZlIHVzZS4gSWYgdGhlcmUgaXMgbm8gcGVyaW9kIHNwZWNpZmllZCwgbm8gaW5mZXJlbmNlIGNhbiBiZSBtYWRlIGFib3V0IHdoZW4gaXQgd2FzIGFjdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcHJhY3RpdGlvbmVyIGlzIGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBpbiB0aGVzZSByb2xlKHMpIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcGVyc29uIGlzIGF1dGhvcml6ZWQgdG8gYWN0IGFzIGEgcHJhY3RpdGlvbmVyIGluIHRoZXNlIHJvbGUocykgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmFjdGl0aW9uZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUHJhY3RpdGlvbmVyIHRoYXQgaXMgYWJsZSB0byBwcm92aWRlIHRoZSBkZWZpbmVkIHNlcnZpY2VzIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJQcmFjdGl0aW9uZXIgdGhhdCBpcyBhYmxlIHRvIHByb3ZpZGUgdGhlIGRlZmluZWQgc2VydmljZXMgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvcmdhbml6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHdoZXJlIHRoZSByb2xlcyBhcmUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIHdoZXJlIHRoZSBQcmFjdGl0aW9uZXIgcGVyZm9ybXMgdGhlIHJvbGVzIGFzc29jaWF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZXMgd2hpY2ggdGhpcyBwcmFjdGl0aW9uZXIgbWF5IHBlcmZvcm0iIGRlZmluaXRpb249IlJvbGVzIHdoaWNoIHRoaXMgcHJhY3RpdGlvbmVyIGlzIGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4iIGNvbW1lbnQ9IkEgcGVyc29uIG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgcm9sZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJQcm92aWRlciByb2xlIGNvZGVzIGNvbnNpc3Rpbmcgb2YgTlVDQyBIZWFsdGggQ2FyZSBQcm92aWRlciBUYXhvbm9teSBDb2RlIFNldCBmb3IgcHJvdmlkZXJzLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTcGVjaWZpYyBzcGVjaWFsdHkgb2YgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgc3BlY2lhbHR5IG9mIHRoZSBwcmFjdGl0aW9uZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGxvY2F0aW9uKHMpIGF0IHdoaWNoIHRoaXMgcHJhY3RpdGlvbmVyIHByb3ZpZGVzIGNhcmUiIGRlZmluaXRpb249IlRoZSBsb2NhdGlvbihzKSBhdCB3aGljaCB0aGlzIHByYWN0aXRpb25lciBwcm92aWRlcyBjYXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImhlYWx0aGNhcmVTZXJ2aWNlIiBkZXNjcmlwdGlvbj0iVGhlIGxpc3Qgb2YgaGVhbHRoY2FyZSBzZXJ2aWNlcyB0aGF0IHRoaXMgd29ya2VyIHByb3ZpZGVzIGZvciB0aGlzIHJvbGUncyBPcmdhbml6YXRpb24vTG9jYXRpb24ocykiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGhlYWx0aGNhcmUgc2VydmljZXMgdGhhdCB0aGlzIHdvcmtlciBwcm92aWRlcyBmb3IgdGhpcyByb2xlJ3MgT3JnYW5pemF0aW9uL0xvY2F0aW9uKHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgcm9sZS9sb2NhdGlvbi9zZXJ2aWNlIiBkZWZpbml0aW9uPSJDb250YWN0IGRldGFpbHMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIHJvbGUvbG9jYXRpb24vc2VydmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFibGVUaW1lIiBkZXNjcmlwdGlvbj0iVGltZXMgdGhlIFNlcnZpY2UgU2l0ZSBpcyBhdmFpbGFibGUiIGRlZmluaXRpb249IkEgY29sbGVjdGlvbiBvZiB0aW1lcyB0aGUgcHJhY3RpdGlvbmVyIGlzIGF2YWlsYWJsZSBvciBwZXJmb3JtaW5nIHRoaXMgcm9sZSBhdCB0aGUgbG9jYXRpb24gYW5kL29yIGhlYWx0aGNhcmVzZXJ2aWNlLiIgY29tbWVudD0iTW9yZSBkZXRhaWxlZCBhdmFpbGFiaWxpdHkgaW5mb3JtYXRpb24gbWF5IGJlIHByb3ZpZGVkIGluIGFzc29jaWF0ZWQgU2NoZWR1bGUvU2xvdCByZXNvdXJjZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJhY3RpdGlvbmVyUm9sZS5BdmFpbGFibGVUaW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RBdmFpbGFibGUiIGRlc2NyaXB0aW9uPSJOb3QgYXZhaWxhYmxlIGR1cmluZyB0aGlzIHRpbWUgZHVlIHRvIHByb3ZpZGVkIHJlYXNvbiIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBpcyBub3QgYXZhaWxhYmxlIG9yIHBlcmZvcm1pbmcgdGhpcyByb2xlIGR1cmluZyB0aGlzIHBlcmlvZCBvZiB0aW1lIGR1ZSB0byB0aGUgcHJvdmlkZWQgcmVhc29uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlByYWN0aXRpb25lclJvbGUuTm90QXZhaWxhYmxlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFiaWxpdHlFeGNlcHRpb25zIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiBhdmFpbGFiaWxpdHkgZXhjZXB0aW9ucyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiBzaXRlIGF2YWlsYWJpbGl0eSBleGNlcHRpb25zLCBlLmcuIHB1YmxpYyBob2xpZGF5IGF2YWlsYWJpbGl0eS4gU3VjY2luY3RseSBkZXNjcmliaW5nIGFsbCBwb3NzaWJsZSBleGNlcHRpb25zIHRvIG5vcm1hbCBzaXRlIGF2YWlsYWJpbGl0eSBhcyBkZXRhaWxzIGluIHRoZSBhdmFpbGFibGUgVGltZXMgYW5kIG5vdCBhdmFpbGFibGUgVGltZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgcHJhY3RpdGlvbmVyIHdpdGggdGhpcyByb2xlIiBkZWZpbml0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBwcmFjdGl0aW9uZXIgd2l0aCB0aGlzIHJvbGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJhY3RpdGlvbmVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByYWN0aXRpb25lclJvbGUuQXZhaWxhYmxlVGltZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF5c09mV2VlayIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtb24gfCB0dWUgfCB3ZWQgfCB0aHUgfCBmcmkgfCBzYXQgfCBzdW4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGljaCBkYXlzIG9mIHRoZSB3ZWVrIGFyZSBhdmFpbGFibGUgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCBUaW1lcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXlzT2ZXZWVrIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGF5c09mV2VlayIgZGVzY3JpcHRpb249IlRoZSBkYXlzIG9mIHRoZSB3ZWVrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWxsRGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWx3YXlzIGF2YWlsYWJsZT8gZS5nLiAyNCBob3VyIHNlcnZpY2UiIGRlZmluaXRpb249IklzIHRoaXMgYWx3YXlzIGF2YWlsYWJsZT8gKGhlbmNlIHRpbWVzIGFyZSBpcnJlbGV2YW50KSBlLmcuIDI0IGhvdXIgc2VydmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXZhaWxhYmxlU3RhcnRUaW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iT3BlbmluZyB0aW1lIG9mIGRheSAoaWdub3JlZCBpZiBhbGxEYXkgPSB0cnVlKSIgZGVmaW5pdGlvbj0iVGhlIG9wZW5pbmcgdGltZSBvZiBkYXkuIE5vdGU6IElmIHRoZSBBbGxEYXkgZmxhZyBpcyBzZXQsIHRoZW4gdGhpcyB0aW1lIGlzIGlnbm9yZWQuIiBjb21tZW50PSJUaGUgdGltZXpvbmUgaXMgZXhwZWN0ZWQgdG8gYmUgZm9yIHdoZXJlIHRoaXMgSGVhbHRoY2FyZVNlcnZpY2UgaXMgcHJvdmlkZWQgYXQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJsZUVuZFRpbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbG9zaW5nIHRpbWUgb2YgZGF5IChpZ25vcmVkIGlmIGFsbERheSA9IHRydWUpIiBkZWZpbml0aW9uPSJUaGUgY2xvc2luZyB0aW1lIG9mIGRheS4gTm90ZTogSWYgdGhlIEFsbERheSBmbGFnIGlzIHNldCwgdGhlbiB0aGlzIHRpbWUgaXMgaWdub3JlZC4iIGNvbW1lbnQ9IlRoZSB0aW1lem9uZSBpcyBleHBlY3RlZCB0byBiZSBmb3Igd2hlcmUgdGhpcyBIZWFsdGhjYXJlU2VydmljZSBpcyBwcm92aWRlZCBhdC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyUm9sZS5Ob3RBdmFpbGFibGUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWFzb24gcHJlc2VudGVkIHRvIHRoZSB1c2VyIGV4cGxhaW5pbmcgd2h5IHRpbWUgbm90IGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIHJlYXNvbiB0aGF0IGNhbiBiZSBwcmVzZW50ZWQgdG8gdGhlIHVzZXIgYXMgdG8gd2h5IHRoaXMgdGltZSBpcyBub3QgYXZhaWxhYmxlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJpbmciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBub3QgYXZhaWxhYmxlIGZyb20gdGhpcyBkYXRlIiBkZWZpbml0aW9uPSJTZXJ2aWNlIGlzIG5vdCBhdmFpbGFibGUgKHNlYXNvbmFsbHkgb3IgZm9yIGEgcHVibGljIGhvbGlkYXkpIGZyb20gdGhpcyBkYXRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByb2NlZHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJvY2VkdXJlIiBsYWJlbD0iUUlDb3JlIFByb2NlZHVyZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFwcHJvYWNoQm9keVN0cnVjdHVyZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wcm9jZWR1cmUtYXBwcm9hY2hCb2R5U3RydWN0dXJlJ10iIGRlc2NyaXB0aW9uPSJUaGUgYWNjZXNzIHBvaW50IG9yIHBvaW50cyB1c2VkIGZvciB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIGFwcHJvYWNoIGJvZHkgc2l0ZSB1c2VkIGZvciB0aGlzIHByb2NlZHVyZS4gIE11bHRpcGxlIGxvY2F0aW9ucyBhcmUgYWxsb3dlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLmFwcHJvYWNoQm9keVN0cnVjdHVyZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5jaXNpb25EYXRlVGltZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5pbmNpc2lvbkRhdGVUaW1lIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1pbmNpc2lvbkRhdGVUaW1lJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZmlyc3QgaW5jaXNpb24gdGltZSIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb2YgdGhlIGZpcnN0IGluY2lzaW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5vdERvbmVSZWNvcmRlZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlY29yZGVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSBzdWJqZWN0J3MgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgcHJvY2VkdXJlIHdhcyBmaXJzdCBjYXB0dXJlZCBpbiB0aGUgcmVjb3JkIHJlZ2FyZGxlc3Mgb2YgUHJvY2VkdXJlLnN0YXR1cyAocG90ZW50aWFsbHkgYWZ0ZXIgdGhlIG9jY3VycmVuY2Ugb2YgdGhlIGV2ZW50KS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZGVudGlmaWVycyBmb3IgdGhpcyBwcm9jZWR1cmUiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcHJvY2VkdXJlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIGlzIHByb3BhZ2F0ZWQgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZXMgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyIHNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUHJvY2VkdXJlLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iQSByZXF1ZXN0IGZvciB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQSByZWZlcmVuY2UgdG8gYSByZXNvdXJjZSB0aGF0IGNvbnRhaW5zIGRldGFpbHMgb2YgdGhlIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgcHJvY2VkdXJlIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIiBjb21tZW50PSJUaGUgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIHJlc291cmNlIGhhcyBhIHBhcnRPZiByZWZlcmVuY2UgdG8gUHJvY2VkdXJlLCBidXQgdGhpcyBpcyBub3QgYSBjaXJjdWxhciByZWZlcmVuY2UuICAgRm9yIGV4YW1wbGUsIHRoZSBhbmVzdGhlc2lhIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBpcyBwYXJ0IG9mIHRoZSBzdXJnaWNhbCBQcm9jZWR1cmUgKE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5wYXJ0T2YgPSBQcm9jZWR1cmUpLiAgRm9yIGV4YW1wbGUsIHRoZSBwcm9jZWR1cmUgdG8gaW5zZXJ0IHRoZSBJViBwb3J0IGZvciBhbiBJViBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gKFByb2NlZHVyZS5wYXJ0T2YgPSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24pLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcmVwYXJhdGlvbiB8IGluLXByb2dyZXNzIHwg4oCLb24taG9sZOKAiyB8IHN0b3BwZWTigIsgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9y4oCLIHwgdW5rbm93buKAiyIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIHRoZSBpbi1wcm9ncmVzcyBvciBjb21wbGV0ZWQgc3RhdGUuIiBjb21tZW50PSJUaGUgJnF1b3Q7dW5rbm93biZxdW90OyBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSAmcXVvdDt1bmtub3duJnF1b3Q7IGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHByb2NlZHVyZS4mI3hhOyYjeGE7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O25vdC1kb25lJnF1b3Q7LCAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7YWJvcnRlZCZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZU5lZ2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIHdhcyBub3QgcGVyZm9ybWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMgKGUuZy4gJnF1b3Q7U3VyZ2ljYWwgUHJvY2VkdXJlJnF1b3Q7KS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgYSBwcm9jZWR1cmUgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpZmljIHByb2NlZHVyZSB0aGF0IGlzIHBlcmZvcm1lZC4gVXNlIHRleHQgaWYgdGhlIGV4YWN0IG5hdHVyZSBvZiB0aGUgcHJvY2VkdXJlIGNhbm5vdCBiZSBjb2RlZCAoZS5nLiAmcXVvdDtMYXBhcm9zY29waWMgQXBwZW5kZWN0b215JnF1b3Q7KS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgIFByb2NlZHVyZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24sIGFuaW1hbCBvciBncm91cCBvbiB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBQcm9jZWR1cmUgd2FzIGNyZWF0ZWQgb3IgcGVyZm9ybWVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsIGRhdGUtdGltZSwgcGVyaW9kLCBvciBhZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuICBBbGxvd3MgYSBwZXJpb2QgdG8gc3VwcG9ydCBjb21wbGV4IHByb2NlZHVyZXMgdGhhdCBzcGFuIG1vcmUgdGhhbiBvbmUgZGF0ZSwgYW5kIGFsc28gYWxsb3dzIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9jZWR1cmUgdG8gYmUgY2FwdHVyZWQuIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFJhbmdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgcmFuZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQsIHN1Y2ggYXMgc29tZXRpbWUgYmV0d2VlbiAyMC0yNSB5ZWFycyBvbGQuICBkYXRlVGltZSBzdXBwb3J0cyBhIHJhbmdlIG9mIHByZWNpc2lvbiBkdWUgdG8gc29tZSBwcm9jZWR1cmVzIGJlaW5nIHJlcG9ydGVkIGFzIHBhc3QgcHJvY2VkdXJlcyB0aGF0IG1pZ2h0IG5vdCBoYXZlIG1pbGxpc2Vjb25kIHByZWNpc2lvbiB3aGlsZSBvdGhlciBwcm9jZWR1cmVzIHBlcmZvcm1lZCBhbmQgZG9jdW1lbnRlZCBkdXJpbmcgdGhlIGVuY291bnRlciBtaWdodCBoYXZlIG1vcmUgcHJlY2lzZSBVVEMgdGltZXN0YW1wcyB3aXRoIHRpbWV6b25lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBwcm9jZWR1cmUgc3RhdGVtZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJUaGUgcGVvcGxlIHdobyBwZXJmb3JtZWQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iTGltaXRlZCB0byAmcXVvdDtyZWFsJnF1b3Q7IHBlb3BsZSByYXRoZXIgdGhhbiBlcXVpcG1lbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlByb2NlZHVyZS5QZXJmb3JtZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBwcm9jZWR1cmUgaGFwcGVuZWQiIGRlZmluaXRpb249IlRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgcHJvY2VkdXJlIGFjdHVhbGx5IGhhcHBlbmVkLiAgRS5nLiBhIG5ld2Jvcm4gYXQgaG9tZSwgYSB0cmFjaGVvc3RvbXkgYXQgYSByZXN0YXVyYW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZWFzb24gcHJvY2VkdXJlIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVkIHJlYXNvbiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiBUaGlzIG1heSBiZSBhIGNvZGVkIGVudGl0eSBvZiBzb21lIHR5cGUsIG9yIG1heSBzaW1wbHkgYmUgcHJlc2VudCBhcyB0ZXh0LiIgY29tbWVudD0iVXNlIFByb2NlZHVyZS5yZWFzb25Db2RlIHdoZW4gYSBjb2RlIHN1ZmZpY2llbnRseSBkZXNjcmliZXMgdGhlIHJlYXNvbi4gIFVzZSBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIHdoZW4gcmVmZXJlbmNpbmcgYSByZXNvdXJjZSwgd2hpY2ggYWxsb3dzIG1vcmUgaW5mb3JtYXRpb24gdG8gYmUgY29udmV5ZWQsIHN1Y2ggYXMgb25zZXQgZGF0ZS4gUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgYXJlIG5vdCBtZWFudCB0byBiZSBkdXBsaWNhdGl2ZS4gIEZvciBhIHNpbmdsZSByZWFzb24sIGVpdGhlciBQcm9jZWR1cmUucmVhc29uQ29kZSBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkLiAgUHJvY2VkdXJlLnJlYXNvbkNvZGUgbWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIG1heSBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSByZWFzb24gdXNpbmcgQ29uZGl0aW9uIHwgT2JzZXJ2YXRpb24gfCBQcm9jZWR1cmUgfCBEaWFnbm9zdGljUmVwb3J0IHwgRG9jdW1lbnRSZWZlcmVuY2UuICBCb3RoIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkIGlmIHRoZXkgYXJlIGRlc2NyaWJpbmcgZGlmZmVyZW50IHJlYXNvbnMgZm9yIHRoZSBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIGlzIHJlcXVpcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmI3hhO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRhcmdldCBib2R5IHNpdGVzIiBkZWZpbml0aW9uPSJEZXRhaWxlZCBhbmQgc3RydWN0dXJlZCBhbmF0b21pY2FsIGxvY2F0aW9uIGluZm9ybWF0aW9uLiBNdWx0aXBsZSBsb2NhdGlvbnMgYXJlIGFsbG93ZWQgLSBlLmcuIG11bHRpcGxlIHB1bmNoIGJpb3BzaWVzIG9mIGEgbGVzaW9uLiIgY29tbWVudD0iSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW3Byb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1wcm9jZWR1cmUtdGFyZ2V0Ym9keXN0cnVjdHVyZS5odG1sKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5IiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBwcm9jZWR1cmUgLSBkaWQgaXQgcmVzb2x2ZSB0aGUgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZSBiZWluZyBwZXJmb3JtZWQ/IiBjb21tZW50PSJJZiBvdXRjb21lIGNvbnRhaW5zIG5hcnJhdGl2ZSB0ZXh0IG9ubHksIGl0IGNhbiBiZSBjYXB0dXJlZCB1c2luZyB0aGUgQ29kZWFibGVDb25jZXB0LnRleHQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVPdXRjb21lIiBkZXNjcmlwdGlvbj0iQW4gb3V0Y29tZSBvZiBhIHByb2NlZHVyZSAtIHdoZXRoZXIgaXQgd2FzIHJlc29sdmVkIG9yIG90aGVyd2lzZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0IiBkZXNjcmlwdGlvbj0iQW55IHJlcG9ydCByZXN1bHRpbmcgZnJvbSB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGlzIGNvdWxkIGJlIGEgaGlzdG9sb2d5IHJlc3VsdCwgcGF0aG9sb2d5IHJlcG9ydCwgc3VyZ2ljYWwgcmVwb3J0LCBldGMuIiBjb21tZW50PSJUaGVyZSBjb3VsZCBwb3RlbnRpYWxseSBiZSBtdWx0aXBsZSByZXBvcnRzIC0gZS5nLiBpZiB0aGlzIHdhcyBhIHByb2NlZHVyZSB3aGljaCB0b29rIG11bHRpcGxlIGJpb3BzaWVzIHJlc3VsdGluZyBpbiBhIG51bWJlciBvZiBhbmF0b21pY2FsIHBhdGhvbG9neSByZXBvcnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbXBsaWNhdGlvbiBmb2xsb3dpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4gVGhlc2UgYXJlIGdlbmVyYWxseSB0cmFja2VkIHNlcGFyYXRlbHkgZnJvbSB0aGUgbm90ZXMsIHdoaWNoIHdpbGwgdHlwaWNhbGx5IGRlc2NyaWJlIHRoZSBwcm9jZWR1cmUgaXRzZWxmIHJhdGhlciB0aGFuIGFueSAncG9zdCBwcm9jZWR1cmUnIGlzc3Vlcy4iIGNvbW1lbnQ9IklmIGNvbXBsaWNhdGlvbnMgYXJlIG9ubHkgZXhwcmVzc2VkIGJ5IHRoZSBuYXJyYXRpdmUgdGV4dCwgdGhleSBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgdGhlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVDb21wbGljYXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGNvbXBsaWNhdGlvbnMgdGhhdCByZXN1bHRlZCBmcm9tIGEgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb25EZXRhaWwiIGRlc2NyaXB0aW9uPSJBIGNvbmRpdGlvbiB0aGF0IGlzIGEgcmVzdWx0IG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IG90aGVyIG5vdGVzIGFuZCBjb21tZW50cyBhYm91dCB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY2FsRGV2aWNlIiBkZXNjcmlwdGlvbj0iTWFuaXB1bGF0ZWQsIGltcGxhbnRlZCwgb3IgcmVtb3ZlZCBkZXZpY2UiIGRlZmluaXRpb249IkEgZGV2aWNlIHRoYXQgaXMgaW1wbGFudGVkLCByZW1vdmVkIG9yIG90aGVyd2lzZSBtYW5pcHVsYXRlZCAoY2FsaWJyYXRpb24sIGJhdHRlcnkgcmVwbGFjZW1lbnQsIGZpdHRpbmcgYSBwcm9zdGhlc2lzLCBhdHRhY2hpbmcgYSB3b3VuZC12YWMsIGV0Yy4pIGFzIGEgZm9jYWwgcG9ydGlvbiBvZiB0aGUgUHJvY2VkdXJlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJvY2VkdXJlLkZvY2FsRGV2aWNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ1c2VkUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSXRlbXMgdXNlZCBkdXJpbmcgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIG1lZGljYXRpb25zLCBkZXZpY2VzIGFuZCBhbnkgb3RoZXIgc3Vic3RhbmNlIHVzZWQgYXMgcGFydCBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIGRldmljZXMgYWN0dWFsbHkgaW1wbGFudGVkIG9yIHJlbW92ZWQsIHVzZSBQcm9jZWR1cmUuZGV2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZWRDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgaXRlbXMgdXNlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBjb2RlZCBpdGVtcyB0aGF0IHdlcmUgdXNlZCBhcyBwYXJ0IG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJGb3IgZGV2aWNlcyBhY3R1YWxseSBpbXBsYW50ZWQgb3IgcmVtb3ZlZCwgdXNlIFByb2NlZHVyZS5kZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBpdGVtcyB1c2VkIGR1cmluZyBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcm9jZWR1cmUuRm9jYWxEZXZpY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBjaGFuZ2UgdG8gZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBjaGFuZ2UgdGhhdCBoYXBwZW5lZCB0byB0aGUgZGV2aWNlIGR1cmluZyB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZUFjdGlvbktpbmQiIGRlc2NyaXB0aW9uPSJBIGtpbmQgb2YgY2hhbmdlIHRoYXQgaGFwcGVuZWQgdG8gdGhlIGRldmljZSBkdXJpbmcgdGhlIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW5pcHVsYXRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdGhhdCB3YXMgY2hhbmdlZCIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB0aGF0IHdhcyBtYW5pcHVsYXRlZCAoY2hhbmdlZCkgZHVyaW5nIHRoZSBwcm9jZWR1cmUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByb2NlZHVyZS5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBlcmZvcm1hbmNlIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIgaW4gdGhlIHByb2NlZHVyZS4gRm9yIGV4YW1wbGUsIHN1cmdlb24sIGFuYWVzdGhldGlzdCwgZW5kb3Njb3Bpc3QuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlUGVyZm9ybWVyUm9sZSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHJvbGUgb2YgYSBwZXJmb3JtZXIgb2YgdGhlIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIHdobyB3YXMgaW52b2x2ZWQgaW4gdGhlIHByb2NlZHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25CZWhhbGZPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gdGhlIGRldmljZSBvciBwcmFjdGl0aW9uZXIgd2FzIGFjdGluZyBmb3IiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gdGhlIGRldmljZSBvciBwcmFjdGl0aW9uZXIgd2FzIGFjdGluZyBvbiBiZWhhbGYgb2YuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJvY2VkdXJlTm90RG9uZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJvY2VkdXJlbm90ZG9uZSIgbGFiZWw9IlFJQ29yZSBQcm9jZWR1cmUgTm90IERvbmUiIHRhcmdldD0iUHJvY2VkdXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTm90RG9uZVJlY29yZGVkIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcmVjb3JkZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgcmVnYXJkbGVzcyBvZiBQcm9jZWR1cmUuc3RhdHVzIChwb3RlbnRpYWxseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkZW50aWZpZXJzIGZvciB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBwcm9jZWR1cmUgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgaXMgcHJvcGFnYXRlZCBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgUGVyc29uIHJlc291cmNlIGluc3RhbmNlcyBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlciBzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFByb2NlZHVyZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJBIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHJlc291cmNlIHRoYXQgY29udGFpbnMgZGV0YWlscyBvZiB0aGUgcmVxdWVzdCBmb3IgdGhpcyBwcm9jZWR1cmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBwcm9jZWR1cmUgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iIGNvbW1lbnQ9IlRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gcmVzb3VyY2UgaGFzIGEgcGFydE9mIHJlZmVyZW5jZSB0byBQcm9jZWR1cmUsIGJ1dCB0aGlzIGlzIG5vdCBhIGNpcmN1bGFyIHJlZmVyZW5jZS4gICBGb3IgZXhhbXBsZSwgdGhlIGFuZXN0aGVzaWEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIHN1cmdpY2FsIFByb2NlZHVyZSAoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLnBhcnRPZiA9IFByb2NlZHVyZSkuICBGb3IgZXhhbXBsZSwgdGhlIHByb2NlZHVyZSB0byBpbnNlcnQgdGhlIElWIHBvcnQgZm9yIGFuIElWIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gaXMgcGFydCBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiAoUHJvY2VkdXJlLnBhcnRPZiA9IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSB0aGUgaW4tcHJvZ3Jlc3Mgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhlICZxdW90O3Vua25vd24mcXVvdDsgY29kZSBpcyBub3QgdG8gYmUgdXNlZCB0byBjb252ZXkgb3RoZXIgc3RhdHVzZXMuICBUaGUgJnF1b3Q7dW5rbm93biZxdW90OyBjb2RlIHNob3VsZCBiZSB1c2VkIHdoZW4gb25lIG9mIHRoZSBzdGF0dXNlcyBhcHBsaWVzLCBidXQgdGhlIGF1dGhvcmluZyBzeXN0ZW0gZG9lc24ndCBrbm93IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuJiN4YTsmI3hhO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSByZWFzb24gdGhlIHByb2NlZHVyZSB3YXMgbm90IGRvbmUiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIGEgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwcm9jZWR1cmUgdGhhdCBpcyBwZXJmb3JtZWQuIFVzZSB0ZXh0IGlmIHRoZSBleGFjdCBuYXR1cmUgb2YgdGhlIHByb2NlZHVyZSBjYW5ub3QgYmUgY29kZWQgKGUuZy4gJnF1b3Q7TGFwYXJvc2NvcGljIEFwcGVuZGVjdG9teSZxdW90OykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgIFByb2NlZHVyZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24sIGFuaW1hbCBvciBncm91cCBvbiB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBQcm9jZWR1cmUgd2FzIGNyZWF0ZWQgb3IgcGVyZm9ybWVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsIGRhdGUtdGltZSwgcGVyaW9kLCBvciBhZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuICBBbGxvd3MgYSBwZXJpb2QgdG8gc3VwcG9ydCBjb21wbGV4IHByb2NlZHVyZXMgdGhhdCBzcGFuIG1vcmUgdGhhbiBvbmUgZGF0ZSwgYW5kIGFsc28gYWxsb3dzIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9jZWR1cmUgdG8gYmUgY2FwdHVyZWQuIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFJhbmdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgcmFuZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQsIHN1Y2ggYXMgc29tZXRpbWUgYmV0d2VlbiAyMC0yNSB5ZWFycyBvbGQuICBkYXRlVGltZSBzdXBwb3J0cyBhIHJhbmdlIG9mIHByZWNpc2lvbiBkdWUgdG8gc29tZSBwcm9jZWR1cmVzIGJlaW5nIHJlcG9ydGVkIGFzIHBhc3QgcHJvY2VkdXJlcyB0aGF0IG1pZ2h0IG5vdCBoYXZlIG1pbGxpc2Vjb25kIHByZWNpc2lvbiB3aGlsZSBvdGhlciBwcm9jZWR1cmVzIHBlcmZvcm1lZCBhbmQgZG9jdW1lbnRlZCBkdXJpbmcgdGhlIGVuY291bnRlciBtaWdodCBoYXZlIG1vcmUgcHJlY2lzZSBVVEMgdGltZXN0YW1wcyB3aXRoIHRpbWV6b25lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBwcm9jZWR1cmUgc3RhdGVtZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJUaGUgcGVvcGxlIHdobyBwZXJmb3JtZWQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iTGltaXRlZCB0byAmcXVvdDtyZWFsJnF1b3Q7IHBlb3BsZSByYXRoZXIgdGhhbiBlcXVpcG1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJvY2VkdXJlLlBlcmZvcm1lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIHByb2NlZHVyZSBoYXBwZW5lZCIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgYWN0dWFsbHkgaGFwcGVuZWQuICBFLmcuIGEgbmV3Ym9ybiBhdCBob21lLCBhIHRyYWNoZW9zdG9teSBhdCBhIHJlc3RhdXJhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZWFzb24gcHJvY2VkdXJlIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVkIHJlYXNvbiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiBUaGlzIG1heSBiZSBhIGNvZGVkIGVudGl0eSBvZiBzb21lIHR5cGUsIG9yIG1heSBzaW1wbHkgYmUgcHJlc2VudCBhcyB0ZXh0LiIgY29tbWVudD0iVXNlIFByb2NlZHVyZS5yZWFzb25Db2RlIHdoZW4gYSBjb2RlIHN1ZmZpY2llbnRseSBkZXNjcmliZXMgdGhlIHJlYXNvbi4gIFVzZSBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIHdoZW4gcmVmZXJlbmNpbmcgYSByZXNvdXJjZSwgd2hpY2ggYWxsb3dzIG1vcmUgaW5mb3JtYXRpb24gdG8gYmUgY29udmV5ZWQsIHN1Y2ggYXMgb25zZXQgZGF0ZS4gUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgYXJlIG5vdCBtZWFudCB0byBiZSBkdXBsaWNhdGl2ZS4gIEZvciBhIHNpbmdsZSByZWFzb24sIGVpdGhlciBQcm9jZWR1cmUucmVhc29uQ29kZSBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkLiAgUHJvY2VkdXJlLnJlYXNvbkNvZGUgbWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIG1heSBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSByZWFzb24gdXNpbmcgQ29uZGl0aW9uIHwgT2JzZXJ2YXRpb24gfCBQcm9jZWR1cmUgfCBEaWFnbm9zdGljUmVwb3J0IHwgRG9jdW1lbnRSZWZlcmVuY2UuICBCb3RoIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkIGlmIHRoZXkgYXJlIGRlc2NyaWJpbmcgZGlmZmVyZW50IHJlYXNvbnMgZm9yIHRoZSBwcm9jZWR1cmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZVJlYXNvbiIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHJlYXNvbiBhIHByb2NlZHVyZSBpcyAgcmVxdWlyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmI3hhO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUYXJnZXQgYm9keSBzaXRlcyIgZGVmaW5pdGlvbj0iRGV0YWlsZWQgYW5kIHN0cnVjdHVyZWQgYW5hdG9taWNhbCBsb2NhdGlvbiBpbmZvcm1hdGlvbi4gTXVsdGlwbGUgbG9jYXRpb25zIGFyZSBhbGxvd2VkIC0gZS5nLiBtdWx0aXBsZSBwdW5jaCBiaW9wc2llcyBvZiBhIGxlc2lvbi4iIGNvbW1lbnQ9IklmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBhdHRyaWJ1dGVzIGZyb20gdGhlIEJvZHlTaXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtwcm9jZWR1cmUtdGFyZ2V0Ym9keXN0cnVjdHVyZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBwcm9jZWR1cmUgLSBkaWQgaXQgcmVzb2x2ZSB0aGUgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZSBiZWluZyBwZXJmb3JtZWQ/IiBjb21tZW50PSJJZiBvdXRjb21lIGNvbnRhaW5zIG5hcnJhdGl2ZSB0ZXh0IG9ubHksIGl0IGNhbiBiZSBjYXB0dXJlZCB1c2luZyB0aGUgQ29kZWFibGVDb25jZXB0LnRleHQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlT3V0Y29tZSIgZGVzY3JpcHRpb249IkFuIG91dGNvbWUgb2YgYSBwcm9jZWR1cmUgLSB3aGV0aGVyIGl0IHdhcyByZXNvbHZlZCBvciBvdGhlcndpc2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydCIgZGVzY3JpcHRpb249IkFueSByZXBvcnQgcmVzdWx0aW5nIGZyb20gdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhpcyBjb3VsZCBiZSBhIGhpc3RvbG9neSByZXN1bHQsIHBhdGhvbG9neSByZXBvcnQsIHN1cmdpY2FsIHJlcG9ydCwgZXRjLiIgY29tbWVudD0iVGhlcmUgY291bGQgcG90ZW50aWFsbHkgYmUgbXVsdGlwbGUgcmVwb3J0cyAtIGUuZy4gaWYgdGhpcyB3YXMgYSBwcm9jZWR1cmUgd2hpY2ggdG9vayBtdWx0aXBsZSBiaW9wc2llcyByZXN1bHRpbmcgaW4gYSBudW1iZXIgb2YgYW5hdG9taWNhbCBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbXBsaWNhdGlvbiBmb2xsb3dpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4gVGhlc2UgYXJlIGdlbmVyYWxseSB0cmFja2VkIHNlcGFyYXRlbHkgZnJvbSB0aGUgbm90ZXMsIHdoaWNoIHdpbGwgdHlwaWNhbGx5IGRlc2NyaWJlIHRoZSBwcm9jZWR1cmUgaXRzZWxmIHJhdGhlciB0aGFuIGFueSAncG9zdCBwcm9jZWR1cmUnIGlzc3Vlcy4iIGNvbW1lbnQ9IklmIGNvbXBsaWNhdGlvbnMgYXJlIG9ubHkgZXhwcmVzc2VkIGJ5IHRoZSBuYXJyYXRpdmUgdGV4dCwgdGhleSBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgdGhlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVDb21wbGljYXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGNvbXBsaWNhdGlvbnMgdGhhdCByZXN1bHRlZCBmcm9tIGEgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb25EZXRhaWwiIGRlc2NyaXB0aW9uPSJBIGNvbmRpdGlvbiB0aGF0IGlzIGEgcmVzdWx0IG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IG90aGVyIG5vdGVzIGFuZCBjb21tZW50cyBhYm91dCB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY2FsRGV2aWNlIiBkZXNjcmlwdGlvbj0iTWFuaXB1bGF0ZWQsIGltcGxhbnRlZCwgb3IgcmVtb3ZlZCBkZXZpY2UiIGRlZmluaXRpb249IkEgZGV2aWNlIHRoYXQgaXMgaW1wbGFudGVkLCByZW1vdmVkIG9yIG90aGVyd2lzZSBtYW5pcHVsYXRlZCAoY2FsaWJyYXRpb24sIGJhdHRlcnkgcmVwbGFjZW1lbnQsIGZpdHRpbmcgYSBwcm9zdGhlc2lzLCBhdHRhY2hpbmcgYSB3b3VuZC12YWMsIGV0Yy4pIGFzIGEgZm9jYWwgcG9ydGlvbiBvZiB0aGUgUHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlByb2NlZHVyZS5Gb2NhbERldmljZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlZFJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ikl0ZW1zIHVzZWQgZHVyaW5nIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBtZWRpY2F0aW9ucywgZGV2aWNlcyBhbmQgYW55IG90aGVyIHN1YnN0YW5jZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBkZXZpY2VzIGFjdHVhbGx5IGltcGxhbnRlZCBvciByZW1vdmVkLCB1c2UgUHJvY2VkdXJlLmRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZWRDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgaXRlbXMgdXNlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBjb2RlZCBpdGVtcyB0aGF0IHdlcmUgdXNlZCBhcyBwYXJ0IG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJGb3IgZGV2aWNlcyBhY3R1YWxseSBpbXBsYW50ZWQgb3IgcmVtb3ZlZCwgdXNlIFByb2NlZHVyZS5kZXZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZVVzZWQiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGl0ZW1zIHVzZWQgZHVyaW5nIGEgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQdWJsaWNhdGlvblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1YW50aXR5Q29tcGFyYXRvciIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1F1ZXN0aW9ubmFpcmUiIGxhYmVsPSJRdWVzdGlvbm5haXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJuYW1lIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDYW5vbmljYWwgaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbm5haXJlLCByZXByZXNlbnRlZCBhcyBhIFVSSSAoZ2xvYmFsbHkgdW5pcXVlKSIgZGVmaW5pdGlvbj0iQW4gYWJzb2x1dGUgVVJJIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBhbiBpbnN0YW5jZTsgYWxzbyBjYWxsZWQgaXRzIGNhbm9uaWNhbCBpZGVudGlmaWVyLiBUaGlzIFNIT1VMRCBiZSBnbG9iYWxseSB1bmlxdWUgYW5kIFNIT1VMRCBiZSBhIGxpdGVyYWwgYWRkcmVzcyBhdCB3aGljaCBhdCB3aGljaCBhbiBhdXRob3JpdGF0aXZlIGluc3RhbmNlIG9mIHRoaXMgcXVlc3Rpb25uYWlyZSBpcyAob3Igd2lsbCBiZSkgcHVibGlzaGVkLiBUaGlzIFVSTCBjYW4gYmUgdGhlIHRhcmdldCBvZiBhIGNhbm9uaWNhbCByZWZlcmVuY2UuIEl0IFNIQUxMIHJlbWFpbiB0aGUgc2FtZSB3aGVuIHRoZSBxdWVzdGlvbm5haXJlIGlzIHN0b3JlZCBvbiBkaWZmZXJlbnQgc2VydmVycy4iIGNvbW1lbnQ9IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHF1ZXN0aW9ubmFpcmUgY2FuIGJlIGNvbnZleWVkIHVzaW5nIHRoZSBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlzcGxheSBleHRlbnNpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGlkZW50aWZpZXIgZm9yIHRoZSBxdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJBIGZvcm1hbCBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZXByZXNlbnRlZCBpbiBvdGhlciBmb3JtYXRzLCBvciByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBhbiBpbnN0YW5jZS4iIGNvbW1lbnQ9IlR5cGljYWxseSwgdGhpcyBpcyB1c2VkIGZvciBpZGVudGlmaWVycyB0aGF0IGNhbiBnbyBpbiBhbiBITDcgVjMgSUkgKGluc3RhbmNlIGlkZW50aWZpZXIpIGRhdGEgdHlwZSwgYW5kIGNhbiB0aGVuIGlkZW50aWZ5IHRoaXMgcXVlc3Rpb25uYWlyZSBvdXRzaWRlIG9mIEZISVIsIHdoZXJlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGxvZ2ljYWwgVVJJLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkJ1c2luZXNzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IlRoZSBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBpbnN0YW5jZS4gVGhpcyBpcyBhbiBhcmJpdHJhcnkgdmFsdWUgbWFuYWdlZCBieSB0aGUgcXVlc3Rpb25uYWlyZSBhdXRob3IgYW5kIGlzIG5vdCBleHBlY3RlZCB0byBiZSBnbG9iYWxseSB1bmlxdWUuIEZvciBleGFtcGxlLCBpdCBtaWdodCBiZSBhIHRpbWVzdGFtcCAoZS5nLiB5eXl5bW1kZCkgaWYgYSBtYW5hZ2VkIHZlcnNpb24gaXMgbm90IGF2YWlsYWJsZS4gVGhlcmUgaXMgYWxzbyBubyBleHBlY3RhdGlvbiB0aGF0IHZlcnNpb25zIGNhbiBiZSBwbGFjZWQgaW4gYSBsZXhpY29ncmFwaGljYWwgc2VxdWVuY2UuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgZGlmZmVyZW50IHF1ZXN0aW9ubmFpcmUgaW5zdGFuY2VzIHRoYXQgaGF2ZSB0aGUgc2FtZSBpZGVudGlmaWVyIGJ1dCBkaWZmZXJlbnQgdmVyc2lvbnMuICBUaGUgdmVyc2lvbiBjYW4gYmUgYXBwZW5kZWQgdG8gdGhlIHVybCBpbiBhIHJlZmVyZW5jZSB0byBhbGxvdyBhIHJlZmVyZW5jZSB0byBhIHBhcnRpY3VsYXIgYnVzaW5lc3MgdmVyc2lvbiBvZiB0aGUgcXVlc3Rpb25uYWlyZSB3aXRoIHRoZSBmb3JtYXQgW3VybF18W3ZlcnNpb25dLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIGZvciB0aGlzIHF1ZXN0aW9ubmFpcmUgKGNvbXB1dGVyIGZyaWVuZGx5KSIgZGVmaW5pdGlvbj0iQSBuYXR1cmFsIGxhbmd1YWdlIG5hbWUgaWRlbnRpZnlpbmcgdGhlIHF1ZXN0aW9ubmFpcmUuIFRoaXMgbmFtZSBzaG91bGQgYmUgdXNhYmxlIGFzIGFuIGlkZW50aWZpZXIgZm9yIHRoZSBtb2R1bGUgYnkgbWFjaGluZSBwcm9jZXNzaW5nIGFwcGxpY2F0aW9ucyBzdWNoIGFzIGNvZGUgZ2VuZXJhdGlvbi4iIGNvbW1lbnQ9IlRoZSBuYW1lIGlzIG5vdCBleHBlY3RlZCB0byBiZSBnbG9iYWxseSB1bmlxdWUuIFRoZSBuYW1lIHNob3VsZCBiZSBhIHNpbXBsZSBhbHBoYW51bWVyaWMgdHlwZSBuYW1lIHRvIGVuc3VyZSB0aGF0IGl0IGlzIG1hY2hpbmUtcHJvY2Vzc2luZyBmcmllbmRseS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGl0bGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgZm9yIHRoaXMgcXVlc3Rpb25uYWlyZSAoaHVtYW4gZnJpZW5kbHkpIiBkZWZpbml0aW9uPSJBIHNob3J0LCBkZXNjcmlwdGl2ZSwgdXNlci1mcmllbmRseSB0aXRsZSBmb3IgdGhlIHF1ZXN0aW9ubmFpcmUuIiBjb21tZW50PSJUaGlzIG5hbWUgZG9lcyBub3QgbmVlZCB0byBiZSBtYWNoaW5lLXByb2Nlc3NpbmcgZnJpZW5kbHkgYW5kIG1heSBjb250YWluIHB1bmN0dWF0aW9uLCB3aGl0ZS1zcGFjZSwgZXRjLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBvZiBhIFF1ZXN0aW9ubmFpcmUgdGhhdCB0aGlzIFF1ZXN0aW9ubmFpcmUgaXMgYmFzZWQgb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHVibGljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZHJhZnQgfCBhY3RpdmUgfCByZXRpcmVkIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGlzIHF1ZXN0aW9ubmFpcmUuIEVuYWJsZXMgdHJhY2tpbmcgdGhlIGxpZmUtY3ljbGUgb2YgdGhlIGNvbnRlbnQuIiBjb21tZW50PSJBbGxvd3MgZmlsdGVyaW5nIG9mIHF1ZXN0aW9ubmFpcmVzIHRoYXQgYXJlIGFwcHJvcHJpYXRlIGZvciB1c2UgdmVyc3VzIG5vdC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQdWJsaWNhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBsaWZlY3ljbGUgc3RhdHVzIG9mIGFuIGFydGlmYWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwZXJpbWVudGFsIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRm9yIHRlc3RpbmcgcHVycG9zZXMsIG5vdCByZWFsIHVzYWdlIiBkZWZpbml0aW9uPSJBIEJvb2xlYW4gdmFsdWUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHF1ZXN0aW9ubmFpcmUgaXMgYXV0aG9yZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgKG9yIGVkdWNhdGlvbi9ldmFsdWF0aW9uL21hcmtldGluZykgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBnZW51aW5lIHVzYWdlLiIgY29tbWVudD0iQWxsb3dzIGZpbHRlcmluZyBvZiBxdWVzdGlvbm5haXJlcyB0aGF0IGFyZSBhcHByb3ByaWF0ZSBmb3IgdXNlIHZlcnN1cyBub3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3RUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlc291cmNlIHRoYXQgY2FuIGJlIHN1YmplY3Qgb2YgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIiBkZWZpbml0aW9uPSJUaGUgdHlwZXMgb2Ygc3ViamVjdHMgdGhhdCBjYW4gYmUgdGhlIHN1YmplY3Qgb2YgcmVzcG9uc2VzIGNyZWF0ZWQgZm9yIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iSWYgbm9uZSBhcmUgc3BlY2lmaWVkLCB0aGVuIHRoZSBzdWJqZWN0IGlzIHVubGltaXRlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXNvdXJjZVR5cGUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXNvdXJjZVR5cGUiIGRlc2NyaXB0aW9uPSJPbmUgb2YgdGhlIHJlc291cmNlIHR5cGVzIGRlZmluZWQgYXMgcGFydCBvZiB0aGlzIHZlcnNpb24gb2YgRkhJUi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSBsYXN0IGNoYW5nZWQiIGRlZmluaXRpb249IlRoZSBkYXRlICAoYW5kIG9wdGlvbmFsbHkgdGltZSkgd2hlbiB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgcHVibGlzaGVkLiBUaGUgZGF0ZSBtdXN0IGNoYW5nZSB3aGVuIHRoZSBidXNpbmVzcyB2ZXJzaW9uIGNoYW5nZXMgYW5kIGl0IG11c3QgY2hhbmdlIGlmIHRoZSBzdGF0dXMgY29kZSBjaGFuZ2VzLiBJbiBhZGRpdGlvbiwgaXQgc2hvdWxkIGNoYW5nZSB3aGVuIHRoZSBzdWJzdGFudGl2ZSBjb250ZW50IG9mIHRoZSBxdWVzdGlvbm5haXJlIGNoYW5nZXMuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIHJlc291cmNlIGxhc3QtbW9kaWZpZWQtZGF0ZSwgc2luY2UgdGhlIHJlc291cmNlIG1heSBiZSBhIHNlY29uZGFyeSByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVlc3Rpb25uYWlyZS4gQWRkaXRpb25hbCBzcGVjaWZpYyBkYXRlcyBtYXkgYmUgYWRkZWQgYXMgZXh0ZW5zaW9ucyBvciBiZSBmb3VuZCBieSBjb25zdWx0aW5nIFByb3ZlbmFuY2VzIGFzc29jaWF0ZWQgd2l0aCBwYXN0IHZlcnNpb25zIG9mIHRoZSByZXNvdXJjZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHVibGlzaGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHRoZSBwdWJsaXNoZXIgKG9yZ2FuaXphdGlvbiBvciBpbmRpdmlkdWFsKSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbiBvciBpbmRpdmlkdWFsIHRoYXQgcHVibGlzaGVkIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVXN1YWxseSBhbiBvcmdhbml6YXRpb24gYnV0IG1heSBiZSBhbiBpbmRpdmlkdWFsLiBUaGUgcHVibGlzaGVyIChvciBzdGV3YXJkKSBvZiB0aGUgcXVlc3Rpb25uYWlyZSBpcyB0aGUgb3JnYW5pemF0aW9uIG9yIGluZGl2aWR1YWwgcHJpbWFyaWx5IHJlc3BvbnNpYmxlIGZvciB0aGUgbWFpbnRlbmFuY2UgYW5kIHVwa2VlcCBvZiB0aGUgcXVlc3Rpb25uYWlyZS4gVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgaW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24gdGhhdCBkZXZlbG9wZWQgYW5kIGluaXRpYWxseSBhdXRob3JlZCB0aGUgY29udGVudC4gVGhlIHB1Ymxpc2hlciBpcyB0aGUgcHJpbWFyeSBwb2ludCBvZiBjb250YWN0IGZvciBxdWVzdGlvbnMgb3IgaXNzdWVzIHdpdGggdGhlIHF1ZXN0aW9ubmFpcmUuIFRoaXMgaXRlbSBTSE9VTEQgYmUgcG9wdWxhdGVkIHVubGVzcyB0aGUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGZyb20gY29udGV4dC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyBmb3IgdGhlIHB1Ymxpc2hlciIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIHRvIGFzc2lzdCBhIHVzZXIgaW4gZmluZGluZyBhbmQgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBwdWJsaXNoZXIuIiBjb21tZW50PSJNYXkgYmUgYSB3ZWIgc2l0ZSwgYW4gZW1haWwgYWRkcmVzcywgYSB0ZWxlcGhvbmUgbnVtYmVyLCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdERldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hdHVyYWwgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkEgZnJlZSB0ZXh0IG5hdHVyYWwgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgZnJvbSBhIGNvbnN1bWVyJ3MgcGVyc3BlY3RpdmUuIiBjb21tZW50PSJUaGlzIGRlc2NyaXB0aW9uIGNhbiBiZSB1c2VkIHRvIGNhcHR1cmUgZGV0YWlscyBzdWNoIGFzIHdoeSB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgYnVpbHQsIGNvbW1lbnRzIGFib3V0IG1pc3VzZSwgaW5zdHJ1Y3Rpb25zIGZvciBjbGluaWNhbCB1c2UgYW5kIGludGVycHJldGF0aW9uLCBsaXRlcmF0dXJlIHJlZmVyZW5jZXMsIGV4YW1wbGVzIGZyb20gdGhlIHBhcGVyIHdvcmxkLCBldGMuIEl0IGlzIG5vdCBhIHJlbmRlcmluZyBvZiB0aGUgcXVlc3Rpb25uYWlyZSBhcyBjb252ZXllZCBpbiB0aGUgJ3RleHQnIGZpZWxkIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuIFRoaXMgaXRlbSBTSE9VTEQgYmUgcG9wdWxhdGVkIHVubGVzcyB0aGUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGZyb20gY29udGV4dCAoZS5nLiB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIHF1ZXN0aW9ubmFpcmUgaXMgcHJlc3VtZWQgdG8gYmUgdGhlIHByZWRvbWluYW50IGxhbmd1YWdlIGluIHRoZSBwbGFjZSB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgY3JlYXRlZCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZUNvbnRleHQiIGRlc2NyaXB0aW9uPSJUaGUgY29udGV4dCB0aGF0IHRoZSBjb250ZW50IGlzIGludGVuZGVkIHRvIHN1cHBvcnQiIGRlZmluaXRpb249IlRoZSBjb250ZW50IHdhcyBkZXZlbG9wZWQgd2l0aCBhIGZvY3VzIGFuZCBpbnRlbnQgb2Ygc3VwcG9ydGluZyB0aGUgY29udGV4dHMgdGhhdCBhcmUgbGlzdGVkLiBUaGVzZSBjb250ZXh0cyBtYXkgYmUgZ2VuZXJhbCBjYXRlZ29yaWVzIChnZW5kZXIsIGFnZSwgLi4uKSBvciBtYXkgYmUgcmVmZXJlbmNlcyB0byBzcGVjaWZpYyBwcm9ncmFtcyAoaW5zdXJhbmNlIHBsYW5zLCBzdHVkaWVzLCAuLi4pIGFuZCBtYXkgYmUgdXNlZCB0byBhc3Npc3Qgd2l0aCBpbmRleGluZyBhbmQgc2VhcmNoaW5nIGZvciBhcHByb3ByaWF0ZSBxdWVzdGlvbm5haXJlIGluc3RhbmNlcy4iIGNvbW1lbnQ9IldoZW4gbXVsdGlwbGUgdXNlQ29udGV4dHMgYXJlIHNwZWNpZmllZCwgdGhlcmUgaXMgbm8gZXhwZWN0YXRpb24gdGhhdCBhbGwgb3IgYW55IG9mIHRoZSBjb250ZXh0cyBhcHBseS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Vc2FnZUNvbnRleHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imp1cmlzZGljdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkludGVuZGVkIGp1cmlzZGljdGlvbiBmb3IgcXVlc3Rpb25uYWlyZSAoaWYgYXBwbGljYWJsZSkiIGRlZmluaXRpb249IkEgbGVnYWwgb3IgZ2VvZ3JhcGhpYyByZWdpb24gaW4gd2hpY2ggdGhlIHF1ZXN0aW9ubmFpcmUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZC4iIGNvbW1lbnQ9Ikl0IG1heSBiZSBwb3NzaWJsZSBmb3IgdGhlIHF1ZXN0aW9ubmFpcmUgdG8gYmUgdXNlZCBpbiBqdXJpc2RpY3Rpb25zIG90aGVyIHRoYW4gdGhvc2UgZm9yIHdoaWNoIGl0IHdhcyBvcmlnaW5hbGx5IGRlc2lnbmVkIG9yIGludGVuZGVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJKdXJpc2RpY3Rpb24iIGRlc2NyaXB0aW9uPSJDb3VudHJpZXMgYW5kIHJlZ2lvbnMgd2l0aGluIHdoaWNoIHRoaXMgYXJ0aWZhY3QgaXMgdGFyZ2V0ZWQgZm9yIHVzZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHVycG9zZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2h5IHRoaXMgcXVlc3Rpb25uYWlyZSBpcyBkZWZpbmVkIiBkZWZpbml0aW9uPSJFeHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBxdWVzdGlvbm5haXJlIGlzIG5lZWRlZCBhbmQgd2h5IGl0IGhhcyBiZWVuIGRlc2lnbmVkIGFzIGl0IGhhcy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgdXNhZ2Ugb2YgdGhlIHF1ZXN0aW9ubmFpcmUuIEluc3RlYWQsIGl0IHByb3ZpZGVzIHRyYWNlYWJpbGl0eSBvZiAnJ3doeScnIHRoZSByZXNvdXJjZSBpcyBlaXRoZXIgbmVlZGVkIG9yICcnd2h5JycgaXQgaXMgZGVmaW5lZCBhcyBpdCBpcy4gIFRoaXMgbWF5IGJlIHVzZWQgdG8gcG9pbnQgdG8gc291cmNlIG1hdGVyaWFscyBvciBzcGVjaWZpY2F0aW9ucyB0aGF0IGRyb3ZlIHRoZSBzdHJ1Y3R1cmUgb2YgdGhpcyBxdWVzdGlvbm5haXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3B5cmlnaHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVzZSBhbmQvb3IgcHVibGlzaGluZyByZXN0cmljdGlvbnMiIGRlZmluaXRpb249IkEgY29weXJpZ2h0IHN0YXRlbWVudCByZWxhdGluZyB0byB0aGUgcXVlc3Rpb25uYWlyZSBhbmQvb3IgaXRzIGNvbnRlbnRzLiBDb3B5cmlnaHQgc3RhdGVtZW50cyBhcmUgZ2VuZXJhbGx5IGxlZ2FsIHJlc3RyaWN0aW9ucyBvbiB0aGUgdXNlIGFuZCBwdWJsaXNoaW5nIG9mIHRoZSBxdWVzdGlvbm5haXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ZhbERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBxdWVzdGlvbm5haXJlIHdhcyBhcHByb3ZlZCBieSBwdWJsaXNoZXIiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZXNvdXJjZSBjb250ZW50IHdhcyBhcHByb3ZlZCBieSB0aGUgcHVibGlzaGVyLiBBcHByb3ZhbCBoYXBwZW5zIG9uY2Ugd2hlbiB0aGUgY29udGVudCBpcyBvZmZpY2lhbGx5IGFwcHJvdmVkIGZvciB1c2FnZS4iIGNvbW1lbnQ9IlRoZSAnZGF0ZScgZWxlbWVudCBtYXkgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgYXBwcm92YWwgZGF0ZSBiZWNhdXNlIG9mIG1pbm9yIGNoYW5nZXMgb3IgZWRpdG9yaWFsIGNvcnJlY3Rpb25zLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYXN0UmV2aWV3RGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHF1ZXN0aW9ubmFpcmUgd2FzIGxhc3QgcmV2aWV3ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZXNvdXJjZSBjb250ZW50IHdhcyBsYXN0IHJldmlld2VkLiBSZXZpZXcgaGFwcGVucyBwZXJpb2RpY2FsbHkgYWZ0ZXIgYXBwcm92YWwgYnV0IGRvZXMgbm90IGNoYW5nZSB0aGUgb3JpZ2luYWwgYXBwcm92YWwgZGF0ZS4iIGNvbW1lbnQ9IklmIHNwZWNpZmllZCwgdGhpcyBkYXRlIGZvbGxvd3MgdGhlIG9yaWdpbmFsIGFwcHJvdmFsIGRhdGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZVBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBxdWVzdGlvbm5haXJlIGlzIGV4cGVjdGVkIHRvIGJlIHVzZWQiIGRlZmluaXRpb249IlRoZSBwZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBxdWVzdGlvbm5haXJlIGNvbnRlbnQgd2FzIG9yIGlzIHBsYW5uZWQgdG8gYmUgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoZSBlZmZlY3RpdmUgcGVyaW9kIGZvciBhIHF1ZXN0aW9ubmFpcmUgIGRldGVybWluZXMgd2hlbiB0aGUgY29udGVudCBpcyBhcHBsaWNhYmxlIGZvciB1c2FnZSBhbmQgaXMgaW5kZXBlbmRlbnQgb2YgcHVibGljYXRpb24gYW5kIHJldmlldyBkYXRlcy4gRm9yIGV4YW1wbGUsIGEgbWVhc3VyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciB0aGUgeWVhciAyMDE2IG1pZ2h0IGJlIHB1Ymxpc2hlZCBpbiAyMDE1LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29uY2VwdCB0aGF0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgcXVlc3Rpb25uYWlyZSIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbiBvciBncm91cCBvZiBxdWVzdGlvbnMgaW4gYSBwYXJ0aWN1bGFyIHRlcm1pbm9sb2d5IHN1Y2ggYXMgTE9JTkMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVDb25jZXB0IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHF1ZXN0aW9ubmFpcmVzLCBncm91cHMgYW5kIGluZGl2aWR1YWwgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iUXVlc3Rpb25zIGFuZCBzZWN0aW9ucyB3aXRoaW4gdGhlIFF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkEgcGFydGljdWxhciBxdWVzdGlvbiwgcXVlc3Rpb24gZ3JvdXBpbmcgb3IgZGlzcGxheSB0ZXh0IHRoYXQgaXMgcGFydCBvZiB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlRoZSBjb250ZW50IG9mIHRoZSBxdWVzdGlvbm5haXJlIGlzIGNvbnN0cnVjdGVkIGZyb20gYW4gb3JkZXJlZCwgaGllcmFyY2hpY2FsIGNvbGxlY3Rpb24gb2YgaXRlbXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iR3JvdXAgaXRlbXMgbXVzdCBoYXZlIG5lc3RlZCBpdGVtcywgZGlzcGxheSBpdGVtcyBjYW5ub3QgaGF2ZSBuZXN0ZWQgaXRlbXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKHR5cGU9J2dyb3VwJyBpbXBsaWVzIGl0ZW0uZW1wdHkoKS5ub3QoKSkgYW5kICh0eXBlLnRyYWNlKCd0eXBlJyk9J2Rpc3BsYXknIGltcGxpZXMgaXRlbS50cmFjZSgnaXRlbScpLmVtcHR5KCkpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGlzcGxheSBpdGVtcyBjYW5ub3QgaGF2ZSBhICZxdW90O2NvZGUmcXVvdDsgYXNzZXJ0ZWQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idHlwZSE9J2Rpc3BsYXknIG9yIGNvZGUuZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS00IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkEgcXVlc3Rpb24gY2Fubm90IGhhdmUgYm90aCBhbnN3ZXJPcHRpb24gYW5kIGFuc3dlclZhbHVlU2V0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImFuc3dlck9wdGlvbi5lbXB0eSgpIG9yIGFuc3dlclZhbHVlU2V0LmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtNSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJPbmx5ICdjaG9pY2UnIGFuZCAnb3Blbi1jaG9pY2UnIGl0ZW1zIGNhbiBoYXZlIGFuc3dlclZhbHVlU2V0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Iih0eXBlID0nY2hvaWNlJyBvciB0eXBlID0gJ29wZW4tY2hvaWNlJyBvciB0eXBlID0gJ2RlY2ltYWwnIG9yIHR5cGUgPSAnaW50ZWdlcicgb3IgdHlwZSA9ICdkYXRlJyBvciB0eXBlID0gJ2RhdGVUaW1lJyBvciB0eXBlID0gJ3RpbWUnIG9yIHR5cGUgPSAnc3RyaW5nJyBvciB0eXBlID0gJ3F1YW50aXR5Jykgb3IgKGFuc3dlclZhbHVlU2V0LmVtcHR5KCkgYW5kIGFuc3dlck9wdGlvbi5lbXB0eSgpKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS02IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlJlcXVpcmVkIGFuZCByZXBlYXQgYXJlbid0IHBlcm1pdHRlZCBmb3IgZGlzcGxheSBpdGVtcyI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0eXBlIT0nZGlzcGxheScgb3IgKHJlcXVpcmVkLmVtcHR5KCkgYW5kIHJlcGVhdHMuZW1wdHkoKSkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJbml0aWFsIHZhbHVlcyBjYW4ndCBiZSBzcGVjaWZpZWQgZm9yIGdyb3VwcyBvciBkaXNwbGF5IGl0ZW1zIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Iih0eXBlIT0nZ3JvdXAnIGFuZCB0eXBlIT0nZGlzcGxheScpIG9yIGluaXRpYWwuZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS05IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlJlYWQtb25seSBjYW4ndCBiZSBzcGVjaWZpZWQgZm9yICZxdW90O2Rpc3BsYXkmcXVvdDsgaXRlbXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idHlwZSE9J2Rpc3BsYXknIG9yIHJlYWRPbmx5LmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtMTAiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTWF4aW11bSBsZW5ndGggY2FuIG9ubHkgYmUgZGVjbGFyZWQgZm9yIHNpbXBsZSBxdWVzdGlvbiB0eXBlcyI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZSBpbiAoJ2Jvb2xlYW4nIHwgJ2RlY2ltYWwnIHwgJ2ludGVnZXInIHwgJ3N0cmluZycgfCAndGV4dCcgfCAndXJsJyB8ICdvcGVuLWNob2ljZScpKSBvciBtYXhMZW5ndGguZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiBvbmUgb3IgbW9yZSBhbnN3ZXJPcHRpb24gaXMgcHJlc2VudCwgaW5pdGlhbFt4XSBtdXN0IGJlIG1pc3NpbmciPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iYW5zd2VyT3B0aW9uLmVtcHR5KCkgb3IgaW5pdGlhbC5lbXB0eSgpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTEyIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIGVuYWJsZVdoZW4sIGVuYWJsZUJlaGF2aW9yIG11c3QgYmUgc3BlY2lmaWVkIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImVuYWJsZVdoZW4uY291bnQoKSA+IDIgaW1wbGllcyBlbmFibGVCZWhhdmlvci5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJDYW4gb25seSBoYXZlIG11bHRpcGxlIGluaXRpYWwgdmFsdWVzIGZvciByZXBlYXRpbmcgaXRlbXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icmVwZWF0cz10cnVlIG9yIGluaXRpYWwuY291bnQoKSAmbHQ7PSAxIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlLkl0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxpbmtJZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpdGVtIGluIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBpcyB1bmlxdWUgd2l0aGluIHRoZSBRdWVzdGlvbm5haXJlIGFsbG93aW5nIGxpbmthZ2UgdG8gdGhlIGVxdWl2YWxlbnQgaXRlbSBpbiBhIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSByZXNvdXJjZS4iIGNvbW1lbnQ9IlRoaXMgJydjYW4nJyBiZSBhIG1lYW5pbmdmdWwgaWRlbnRpZmllciAoZS5nLiBhIExPSU5DIGNvZGUpIGJ1dCBpcyBub3QgaW50ZW5kZWQgdG8gaGF2ZSBhbnkgbWVhbmluZy4gIEdVSURzIG9yIHNlcXVlbnRpYWwgbnVtYmVycyBhcmUgYXBwcm9wcmlhdGUgaGVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVmaW5pdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWxlbWVudERlZmluaXRpb24gLSBkZXRhaWxzIGZvciB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iVGhpcyBlbGVtZW50IGlzIGEgVVJJIHRoYXQgcmVmZXJzIHRvIGFuIFtFbGVtZW50RGVmaW5pdGlvbl0oZWxlbWVudGRlZmluaXRpb24uaHRtbCkgdGhhdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGl0ZW0sIGluY2x1ZGluZyBpbmZvcm1hdGlvbiB0aGF0IG1pZ2h0IG90aGVyd2lzZSBiZSBpbmNsdWRlZCBpbiB0aGUgaW5zdGFuY2Ugb2YgdGhlIFF1ZXN0aW9ubmFpcmUgcmVzb3VyY2UuIEEgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIGNvbnN0cnVjdGlvbiBvZiB0aGUgVVJJIGlzIHNob3duIGluIENvbW1lbnRzLCBiZWxvdy4gSWYgdGhpcyBlbGVtZW50IGlzIHByZXNlbnQgdGhlbiB0aGUgZm9sbG93aW5nIGVsZW1lbnQgdmFsdWVzIE1BWSBiZSBkZXJpdmVkIGZyb20gdGhlIEVsZW1lbnQgRGVmaW5pdGlvbiBpZiB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50cyBvZiB0aGlzIFF1ZXN0aW9ubmFpcmUgcmVzb3VyY2UgaW5zdGFuY2UgaGF2ZSBubyB2YWx1ZTomI3hhOyYjeGE7KiBjb2RlIChFbGVtZW50RGVmaW5pdGlvbi5jb2RlKSAmI3hhOyogdHlwZSAoRWxlbWVudERlZmluaXRpb24udHlwZSkgJiN4YTsqIHJlcXVpcmVkIChFbGVtZW50RGVmaW5pdGlvbi5taW4pICYjeGE7KiByZXBlYXRzIChFbGVtZW50RGVmaW5pdGlvbi5tYXgpICYjeGE7KiBtYXhMZW5ndGggKEVsZW1lbnREZWZpbml0aW9uLm1heExlbmd0aCkgJiN4YTsqIGFuc3dlclZhbHVlU2V0IChFbGVtZW50RGVmaW5pdGlvbi5iaW5kaW5nKSYjeGE7KiBvcHRpb25zIChFbGVtZW50RGVmaW5pdGlvbi5iaW5kaW5nKS4iIGNvbW1lbnQ9IlRoZSB1cmkgcmVmZXJzIHRvIGFuIEVsZW1lbnREZWZpbml0aW9uIGluIGEgW1N0cnVjdHVyZURlZmluaXRpb25dKHN0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpIGFuZCBhbHdheXMgc3RhcnRzIHdpdGggdGhlIFtjYW5vbmljYWwgVVJMXShyZWZlcmVuY2VzLmh0bWwjY2Fub25pY2FsKSBmb3IgdGhlIHRhcmdldCByZXNvdXJjZS4gV2hlbiByZWZlcnJpbmcgdG8gYSBTdHJ1Y3R1cmVEZWZpbml0aW9uLCBhIGZyYWdtZW50IGlkZW50aWZpZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBlbGVtZW50IGRlZmluaXRpb24gYnkgaXRzIGlkIFtFbGVtZW50LmlkXShlbGVtZW50LWRlZmluaXRpb25zLmh0bWwjRWxlbWVudC5pZCkuIEUuZy4gaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uI09ic2VydmF0aW9uLnZhbHVlW3hdLiBJbiB0aGUgYWJzZW5jZSBvZiBhIGZyYWdtZW50IGlkZW50aWZpZXIsIHRoZSBmaXJzdC9yb290IGVsZW1lbnQgZGVmaW5pdGlvbiBpbiB0aGUgdGFyZ2V0IGlzIHRoZSBtYXRjaGluZyBlbGVtZW50IGRlZmluaXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3JyZXNwb25kaW5nIGNvbmNlcHQgZm9yIHRoaXMgaXRlbSBpbiBhIHRlcm1pbm9sb2d5IiBkZWZpbml0aW9uPSJBIHRlcm1pbm9sb2d5IGNvZGUgdGhhdCBjb3JyZXNwb25kcyB0byB0aGlzIGdyb3VwIG9yIHF1ZXN0aW9uIChlLmcuIGEgY29kZSBmcm9tIExPSU5DLCB3aGljaCBkZWZpbmVzIG1hbnkgcXVlc3Rpb25zIGFuZCBhbnN3ZXJzKS4iIGNvbW1lbnQ9IlRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZUNvbmNlcHQiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgcXVlc3Rpb25uYWlyZXMsIGdyb3VwcyBhbmQgaW5kaXZpZHVhbCBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZWZpeCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRS5nLiAmcXVvdDsxKGEpJnF1b3Q7LCAmcXVvdDsyLjUuMyZxdW90OyIgZGVmaW5pdGlvbj0iQSBzaG9ydCBsYWJlbCBmb3IgYSBwYXJ0aWN1bGFyIGdyb3VwLCBxdWVzdGlvbiBvciBzZXQgb2YgZGlzcGxheSB0ZXh0IHdpdGhpbiB0aGUgcXVlc3Rpb25uYWlyZSB1c2VkIGZvciByZWZlcmVuY2UgYnkgdGhlIGluZGl2aWR1YWwgY29tcGxldGluZyB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlRoZXNlIGFyZSBnZW5lcmFsbHkgdW5pcXVlIHdpdGhpbiBhIHF1ZXN0aW9ubmFpcmUsIHRob3VnaCB0aGlzIGlzIG5vdCBndWFyYW50ZWVkLiBTb21lIHF1ZXN0aW9ubmFpcmVzIG1heSBoYXZlIG11bHRpcGxlIHF1ZXN0aW9ucyB3aXRoIHRoZSBzYW1lIGxhYmVsIHdpdGggbG9naWMgdG8gY29udHJvbCB3aGljaCBnZXRzIGV4cG9zZWQuICBUeXBpY2FsbHksIHRoZXNlIHdvbid0IGJlIHVzZWQgZm9yICZxdW90O2Rpc3BsYXkmcXVvdDsgaXRlbXMsIHRob3VnaCBzdWNoIHVzZSBpcyBub3QgcHJvaGliaXRlZC4gIFN5c3RlbXMgU0hPVUxEIE5PVCBnZW5lcmF0ZSB0aGVpciBvd24gcHJlZml4ZXMgaWYgcHJlZml4ZXMgYXJlIGRlZmluZWQgZm9yIGFueSBpdGVtcyB3aXRoaW4gYSBRdWVzdGlvbm5haXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmltYXJ5IHRleHQgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiBhIHNlY3Rpb24sIHRoZSB0ZXh0IG9mIGEgcXVlc3Rpb24gb3IgdGV4dCBjb250ZW50IGZvciBhIGRpc3BsYXkgaXRlbS4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50IHRvIHJlcHJlc2VudCB0aGUgbmFtZSBvZiBhIHNlY3Rpb24sIHVzZSBncm91cCB0eXBlIGl0ZW0gYW5kIGFsc28gbWFrZSBzdXJlIHRvIGxpbWl0IHRoZSB0ZXh0IGVsZW1lbnQgdG8gYSBzaG9ydCBzdHJpbmcgc3VpdGFibGUgZm9yIGRpc3BsYXkgYXMgYSBzZWN0aW9uIGhlYWRpbmcuICBHcm91cCBpdGVtIGluc3RydWN0aW9ucyBzaG91bGQgYmUgaW5jbHVkZWQgYXMgYSBkaXNwbGF5IHR5cGUgaXRlbSB3aXRoaW4gdGhlIGdyb3VwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJncm91cCB8IGRpc3BsYXkgfCBib29sZWFuIHwgZGVjaW1hbCB8IGludGVnZXIgfCBkYXRlIHwgZGF0ZVRpbWUgKyIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcXVlc3Rpb25uYWlyZSBpdGVtIHRoaXMgaXMgLSB3aGV0aGVyIHRleHQgZm9yIGRpc3BsYXksIGEgZ3JvdXBpbmcgb2Ygb3RoZXIgaXRlbXMgb3IgYSBwYXJ0aWN1bGFyIHR5cGUgb2YgZGF0YSB0byBiZSBjYXB0dXJlZCAoc3RyaW5nLCBpbnRlZ2VyLCBjb2RlZCBjaG9pY2UsIGV0Yy4pLiIgY29tbWVudD0iQWRkaXRpb25hbCBjb25zdHJhaW50cyBvbiB0aGUgdHlwZSBvZiBhbnN3ZXIgY2FuIGJlIGNvbnZleWVkIGJ5IGV4dGVuc2lvbnMuIFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlSXRlbVR5cGUiIGRlc2NyaXB0aW9uPSJEaXN0aW5ndWlzaGVzIGdyb3VwcyBmcm9tIHF1ZXN0aW9ucyBhbmQgZGlzcGxheSB0ZXh0IGFuZCBpbmRpY2F0ZXMgZGF0YSB0eXBlIGZvciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmFibGVXaGVuIiBkZXNjcmlwdGlvbj0iT25seSBhbGxvdyBkYXRhIHdoZW4iIGRlZmluaXRpb249IkEgY29uc3RyYWludCBpbmRpY2F0aW5nIHRoYXQgdGhpcyBpdGVtIHNob3VsZCBvbmx5IGJlIGVuYWJsZWQgKGRpc3BsYXllZC9hbGxvdyBhbnN3ZXJzIHRvIGJlIGNhcHR1cmVkKSB3aGVuIHRoZSBzcGVjaWZpZWQgY29uZGl0aW9uIGlzIHRydWUuIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXBldGl0aW9ucyBvZiB0aGlzIGV4dGVuc2lvbiBhcmUgcHJlc2VudCwgdGhlIGl0ZW0gc2hvdWxkIGJlIGVuYWJsZWQgd2hlbiB0aGUgY29uZGl0aW9uIGZvciAqYW55KiBvZiB0aGUgcmVwZXRpdGlvbnMgaXMgdHJ1ZS4gIEkuZS4gdHJlYXQgJnF1b3Q7ZW5hYmxlV2hlbiZxdW90O3MgYXMgYmVpbmcgam9pbmVkIGJ5IGFuICZxdW90O29yJnF1b3Q7IGNsYXVzZS4gIFRoaXMgZWxlbWVudCBpcyBhIG1vZGlmaWVyIGJlY2F1c2UgaWYgZW5hYmxlV2hlbiBpcyBwcmVzZW50IGZvciBhbiBpdGVtLCAmcXVvdDtyZXF1aXJlZCZxdW90OyBpcyBpZ25vcmVkIHVubGVzcyBvbmUgb2YgdGhlIGVuYWJsZVdoZW4gY29uZGl0aW9ucyBpcyBtZXQuIFdoZW4gYW4gaXRlbSBpcyBkaXNhYmxlZCwgYWxsIG9mIGl0cyBkZXNjZW5kYW50cyBhcmUgZGlzYWJsZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGVpciBvd24gZW5hYmxlV2hlbiBsb2dpYyBtaWdodCBldmFsdWF0ZSB0by4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uRW5hYmxlV2hlbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS03IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZSBvcGVyYXRvciBpcyAnZXhpc3RzJywgdGhlIHZhbHVlIG11c3QgYmUgYSBib29sZWFuIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9wZXJhdG9yID0gJ2V4aXN0cycgaW1wbGllcyAoYW5zd2VyIGlzIEJvb2xlYW4pIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmFibGVCZWhhdmlvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmFibGVXaGVuQmVoYXZpb3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWxsIHwgYW55IiBkZWZpbml0aW9uPSJDb250cm9scyBob3cgbXVsdGlwbGUgZW5hYmxlV2hlbiB2YWx1ZXMgYXJlIGludGVycHJldGVkIC0gIHdoZXRoZXIgYWxsIG9yIGFueSBtdXN0IGJlIHRydWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgbXVzdCBiZSBzcGVjaWZpZWQgaWYgbW9yZSB0aGFuIG9uZSBlbmFibGVXaGVuIHZhbHVlIGlzIHByb3ZpZGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuYWJsZVdoZW5CZWhhdmlvciIgZGVzY3JpcHRpb249IkNvbnRyb2xzIGhvdyBtdWx0aXBsZSBlbmFibGVXaGVuIHZhbHVlcyBhcmUgaW50ZXJwcmV0ZWQgLSAgd2hldGhlciBhbGwgb3IgYW55IG11c3QgYmUgdHJ1ZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVpcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgaXRlbSBtdXN0IGJlIGluY2x1ZGVkIGluIGRhdGEgcmVzdWx0cyIgZGVmaW5pdGlvbj0iQW4gaW5kaWNhdGlvbiwgaWYgdHJ1ZSwgdGhhdCB0aGUgaXRlbSBtdXN0IGJlIHByZXNlbnQgaW4gYSAmcXVvdDtjb21wbGV0ZWQmcXVvdDsgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgSWYgZmFsc2UsIHRoZSBpdGVtIG1heSBiZSBza2lwcGVkIHdoZW4gYW5zd2VyaW5nIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iUXVlc3Rpb25uYWlyZS5pdGVtLnJlcXVpcmVkIG9ubHkgaGFzIG1lYW5pbmcgZm9yIGVsZW1lbnRzIHRoYXQgYXJlIGNvbmRpdGlvbmFsbHkgZW5hYmxlZCB3aXRoIGVuYWJsZVdoZW4gaWYgdGhlIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gdHJ1ZS4gIElmIGFuIGl0ZW0gdGhhdCBjb250YWlucyBvdGhlciBpdGVtcyBpcyBtYXJrZWQgYXMgcmVxdWlyZWQsIHRoYXQgZG9lcyBub3QgYXV0b21hdGljYWxseSBtYWtlIHRoZSBjb250YWluZWQgZWxlbWVudHMgcmVxdWlyZWQgKHRob3VnaCByZXF1aXJlZCBncm91cHMgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBjaGlsZCBlbGVtZW50KS4gVGhlIHZhbHVlIG1heSBjb21lIGZyb20gdGhlIEVsZW1lbnREZWZpbml0aW9uIHJlZmVycmVkIHRvIGJ5IC5kZWZpbml0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXRzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgaXRlbSBtYXkgcmVwZWF0IiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uLCBpZiB0cnVlLCB0aGF0IHRoZSBpdGVtIG1heSBvY2N1ciBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgcmVzcG9uc2UsIGNvbGxlY3RpbmcgbXVsdGlwbGUgYW5zd2VycyBmb3IgcXVlc3Rpb25zIG9yIG11bHRpcGxlIHNldHMgb2YgYW5zd2VycyBmb3IgZ3JvdXBzLiIgY29tbWVudD0iSWYgYSBxdWVzdGlvbiBpcyBtYXJrZWQgYXMgcmVwZWF0cz10cnVlLCB0aGVuIG11bHRpcGxlIGFuc3dlcnMgY2FuIGJlIHByb3ZpZGVkIGZvciB0aGUgcXVlc3Rpb24gaW4gdGhlIGNvcnJlc3BvbmRpbmcgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgV2hlbiByZW5kZXJpbmcgdGhlIHF1ZXN0aW9ubmFpcmUsIGl0IGlzIHVwIHRvIHRoZSByZW5kZXJpbmcgc29mdHdhcmUgd2hldGhlciB0byByZW5kZXIgdGhlIHF1ZXN0aW9uIHRleHQgZm9yIGVhY2ggYW5zd2VyIHJlcGV0aXRpb24gKGkuZS4gJnF1b3Q7cmVwZWF0IHRoZSBxdWVzdGlvbiZxdW90Oykgb3IgdG8gc2ltcGx5IGFsbG93IGVudHJ5L3NlbGVjdGlvbiBvZiBtdWx0aXBsZSBhbnN3ZXJzIGZvciB0aGUgcXVlc3Rpb24gKHJlcGVhdCB0aGUgYW5zd2VycykuICBXaGljaCBpcyBtb3N0IGFwcHJvcHJpYXRlIHZpc3VhbGx5IG1heSBkZXBlbmQgb24gdGhlIHR5cGUgb2YgYW5zd2VyIGFzIHdlbGwgYXMgd2hldGhlciB0aGVyZSBhcmUgbmVzdGVkIGl0ZW1zLiYjeGE7JiN4YTtUaGUgcmVzdWx0aW5nIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSB3aWxsIGJlIHBvcHVsYXRlZCB0aGUgc2FtZSB3YXkgcmVnYXJkbGVzcyBvZiByZW5kZXJpbmcgLSBvbmUgJ3F1ZXN0aW9uJyBpdGVtIHdpdGggbXVsdGlwbGUgYW5zd2VyIHZhbHVlcy4mI3hhOyYjeGE7IFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhZE9ubHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEb24ndCBhbGxvdyBodW1hbiBlZGl0aW5nIiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uLCB3aGVuIHRydWUsIHRoYXQgdGhlIHZhbHVlIGNhbm5vdCBiZSBjaGFuZ2VkIGJ5IGEgaHVtYW4gcmVzcG9uZGVudCB0byB0aGUgUXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlRoZSB2YWx1ZSBvZiByZWFkT25seSBlbGVtZW50cyBjYW4gYmUgZXN0YWJsaXNoZWQgYnkgYXNzZXJ0aW5nICBleHRlbnNpb25zIGZvciBkZWZhdWx0VmFsdWVzLCBsaW5rYWdlcyB0aGF0IHN1cHBvcnQgcHJlLXBvcHVsYXRpb24gYW5kL29yIGV4dGVuc2lvbnMgdGhhdCBzdXBwb3J0IGNhbGN1bGF0aW9uIGJhc2VkIG9uIG90aGVyIGFuc3dlcnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1heExlbmd0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5vIG1vcmUgdGhhbiB0aGlzIG1hbnkgY2hhcmFjdGVycyIgZGVmaW5pdGlvbj0iVGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCBhcmUgcGVybWl0dGVkIGluIHRoZSBhbnN3ZXIgdG8gYmUgY29uc2lkZXJlZCBhICZxdW90O3ZhbGlkJnF1b3Q7IFF1ZXN0aW9ubmFpcmVSZXNwb25zZS4iIGNvbW1lbnQ9IkZvciBiYXNlNjRiaW5hcnksIHJlZmxlY3RzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyByZXByZXNlbnRpbmcgdGhlIGVuY29kZWQgZGF0YSwgbm90IHRoZSBudW1iZXIgb2YgYnl0ZXMgb2YgdGhlIGJpbmFyeSBkYXRhLiBUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlclZhbHVlU2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCBjb250YWluaW5nIHBlcm1pdHRlZCBhbnN3ZXJzIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHZhbHVlIHNldCBjb250YWluaW5nIGEgbGlzdCBvZiBjb2RlcyByZXByZXNlbnRpbmcgcGVybWl0dGVkIGFuc3dlcnMgZm9yIGEgJnF1b3Q7Y2hvaWNlJnF1b3Q7IG9yICZxdW90O29wZW4tY2hvaWNlJnF1b3Q7IHF1ZXN0aW9uLiIgY29tbWVudD0iTE9JTkMgZGVmaW5lcyBtYW55IHVzZWZ1bCB2YWx1ZSBzZXRzIGZvciBxdWVzdGlvbm5haXJlIHJlc3BvbnNlcy4gU2VlIFtMT0lOQyBBbnN3ZXIgTGlzdHNdKGxvaW5jLmh0bWwjYWxpc3QpLiBUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlck9wdGlvbiIgZGVzY3JpcHRpb249IlBlcm1pdHRlZCBhbnN3ZXIiIGRlZmluaXRpb249Ik9uZSBvZiB0aGUgcGVybWl0dGVkIGFuc3dlcnMgZm9yIGEgJnF1b3Q7Y2hvaWNlJnF1b3Q7IG9yICZxdW90O29wZW4tY2hvaWNlJnF1b3Q7IHF1ZXN0aW9uLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGNhbiBiZSB1c2VkIHdoZW4gdGhlIHZhbHVlIHNldCBtYWNoaW5lcnkgb2YgYW5zd2VyVmFsdWVTZXQgaXMgZGVlbWVkIHRvbyBjdW1iZXJzb21lIG9yIHdoZW4gdGhlcmUncyBhIG5lZWQgdG8gY2FwdHVyZSBwb3NzaWJsZSBhbnN3ZXJzIHRoYXQgYXJlIG5vdCBjb2Rlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uQW5zd2VyT3B0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsIiBkZXNjcmlwdGlvbj0iSW5pdGlhbCB2YWx1ZShzKSB3aGVuIGl0ZW0gaXMgZmlyc3QgcmVuZGVyZWQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIHZhbHVlcyB0aGF0IHNob3VsZCBiZSBwcmUtcG9wdWxhdGVkIGluIHRoZSBhbnN3ZXIgd2hlbiBpbml0aWFsbHkgcmVuZGVyaW5nIHRoZSBxdWVzdGlvbm5haXJlIGZvciB1c2VyIGlucHV0LiIgY29tbWVudD0iVGhlIHVzZXIgaXMgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIGFuZCBvdmVycmlkZSB0aGUgZGVmYXVsdCAodW5sZXNzIG1hcmtlZCBhcyByZWFkLW9ubHkpLiBJZiB0aGUgdXNlciBkb2Vzbid0IGNoYW5nZSB0aGUgdmFsdWUsIHRoZW4gdGhpcyBpbml0aWFsIHZhbHVlIHdpbGwgYmUgcGVyc2lzdGVkIHdoZW4gdGhlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSBpcyBpbml0aWFsbHkgY3JlYXRlZC4gIE5vdGUgdGhhdCBpbml0aWFsIHZhbHVlcyBjYW4gaW5mbHVlbmNlIHJlc3VsdHMuICBUaGUgZGF0YSB0eXBlIG9mIGluaXRpYWxbeF0gbXVzdCBhZ3JlZSB3aXRoIHRoZSBpdGVtLnR5cGUsIGFuZCBvbmx5IHJlcGVhdGluZyBpdGVtcyBjYW4gaGF2ZSBtb3JlIHRoZW4gb25lIGluaXRpYWwgdmFsdWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtLkluaXRpYWwiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSJOZXN0ZWQgcXVlc3Rpb25uYWlyZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGV4dCwgcXVlc3Rpb25zIGFuZCBvdGhlciBncm91cHMgdG8gYmUgbmVzdGVkIGJlbmVhdGggYSBxdWVzdGlvbiBvciBncm91cC4iIGNvbW1lbnQ9IlRoZXJlIGlzIG5vIHNwZWNpZmllZCBsaW1pdCB0byB0aGUgZGVwdGggb2YgbmVzdGluZy4gIEhvd2V2ZXIsIFF1ZXN0aW9ubmFpcmUgYXV0aG9ycyBhcmUgZW5jb3VyYWdlZCB0byBjb25zaWRlciB0aGUgaW1wYWN0IG9uIHRoZSB1c2VyIGFuZCB1c2VyIGludGVyZmFjZSBvZiBvdmVybHkgZGVlcCBuZXN0aW5nLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUuSXRlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUuSXRlbS5BbnN3ZXJPcHRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuc3dlciB2YWx1ZSIgZGVmaW5pdGlvbj0iQSBwb3RlbnRpYWwgYW5zd2VyIHRoYXQncyBhbGxvd2VkIGFzIHRoZSBhbnN3ZXIgdG8gdGhpcyBxdWVzdGlvbi4iIGNvbW1lbnQ9IlRoZSBkYXRhIHR5cGUgb2YgdGhlIHZhbHVlIG11c3QgYWdyZWUgd2l0aCB0aGUgaXRlbS50eXBlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlUXVlc3Rpb25PcHRpb24iIGRlc2NyaXB0aW9uPSJBbGxvd2VkIHZhbHVlcyB0byBhbnN3ZXIgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsU2VsZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIG9wdGlvbiBpcyBzZWxlY3RlZCBieSBkZWZhdWx0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgYW5zd2VyIHZhbHVlIGlzIHNlbGVjdGVkIHdoZW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgYW5zd2VycyBpcyBpbml0aWFsbHkgc2hvd24uIiBjb21tZW50PSJVc2UgdGhpcyBpbnN0ZWFkIG9mIGluaXRpYWxbdl0gaWYgYW5zd2VyVmFsdWVTZXQgaXMgcHJlc2VudC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtLkVuYWJsZVdoZW4iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1ZXN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJRdWVzdGlvbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBpdGVtIGlzIGVuYWJsZWQiIGRlZmluaXRpb249IlRoZSBsaW5rSWQgZm9yIHRoZSBxdWVzdGlvbiB3aG9zZSBhbnN3ZXIgKG9yIGxhY2sgb2YgYW5zd2VyKSBnb3Zlcm5zIHdoZXRoZXIgdGhpcyBpdGVtIGlzIGVuYWJsZWQuIiBjb21tZW50PSJJZiBtdWx0aXBsZSBxdWVzdGlvbiBvY2N1cnJlbmNlcyBhcmUgcHJlc2VudCBmb3IgdGhlIHNhbWUgcXVlc3Rpb24gKHNhbWUgbGlua0lkKSwgdGhlbiB0aGlzIHJlZmVycyB0byB0aGUgbmVhcmVzdCBxdWVzdGlvbiBvY2N1cnJlbmNlIHJlYWNoYWJsZSBieSB0cmFjaW5nIGZpcnN0IHRoZSAmcXVvdDthbmNlc3RvciZxdW90OyBheGlzIGFuZCB0aGVuIHRoZSAmcXVvdDtwcmVjZWRpbmcmcXVvdDsgYXhpcyBhbmQgdGhlbiB0aGUgJnF1b3Q7Zm9sbG93aW5nJnF1b3Q7IGF4aXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9wZXJhdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZXhpc3RzIHwgPSB8ICE9IHwgPiB8ICZsdDsgfCA+PSB8ICZsdDs9IiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGNyaXRlcmlhIGJ5IHdoaWNoIHRoZSBxdWVzdGlvbiBpcyBlbmFibGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIGRlc2NyaXB0aW9uPSJUaGUgY3JpdGVyaWEgYnkgd2hpY2ggYSBxdWVzdGlvbiBpcyBlbmFibGVkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYW5zd2VyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhbHVlIGZvciBxdWVzdGlvbiBjb21wYXJpc29uIGJhc2VkIG9uIG9wZXJhdG9yIiBkZWZpbml0aW9uPSJBIHZhbHVlIHRoYXQgdGhlIHJlZmVyZW5jZWQgcXVlc3Rpb24gaXMgdGVzdGVkIHVzaW5nIHRoZSBzcGVjaWZpZWQgb3BlcmF0b3IgaW4gb3JkZXIgZm9yIHRoZSBpdGVtIHRvIGJlIGVuYWJsZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlUXVlc3Rpb25PcHRpb24zIiBkZXNjcmlwdGlvbj0iQWxsb3dlZCB2YWx1ZXMgdG8gYW5zd2VyIHF1ZXN0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtLkluaXRpYWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCB2YWx1ZSBmb3IgaW5pdGlhbGl6aW5nIHRoZSBxdWVzdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCB2YWx1ZSB0byBmb3IgYW4gaW5pdGlhbCBhbnN3ZXIuIiBjb21tZW50PSJUaGUgdHlwZSBvZiB0aGUgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgdHlwZSBvZiB0aGUgaXRlbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVRdWVzdGlvbk9wdGlvbjIiIGRlc2NyaXB0aW9uPSJBbGxvd2VkIHZhbHVlcyB0byBhbnN3ZXIgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlSXRlbU9wZXJhdG9yIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXF1ZXN0aW9ubmFpcmVyZXNwb25zZSIgbGFiZWw9IlFJQ29yZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UiIHJldHJpZXZhYmxlPSJ0cnVlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0YSIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlUmVzcG9uc2UuTWV0YSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzaWduYXR1cmUiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcXVlc3Rpb25uYWlyZXJlc3BvbnNlLXNpZ25hdHVyZSddIiBkZXNjcmlwdGlvbj0iQSBzaWduYXR1cmUgYXR0ZXN0aW5nIHRvIHRoZSBjb250ZW50IiBkZWZpbml0aW9uPSJSZXByZXNlbnRzIGEgd2V0IG9yIGVsZWN0cm9uaWMgc2lnbmF0dXJlIGZvciBlaXRoZXIgdGhlIGZvcm0gb3ZlcmFsbCBvciBmb3IgdGhlIHF1ZXN0aW9uIG9yIGl0ZW0gaXQncyBhc3NvY2lhdGVkIHdpdGguIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5zaWduYXR1cmUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsZXRpb25Nb2RlIiBlbGVtZW50VHlwZT0iUUlDb3JlLmNvbXBsZXRpb25Nb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9xdWVzdGlvbm5haXJlcmVzcG9uc2UtY29tcGxldGlvbk1vZGUnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFZlcmJhbCwgd3JpdHRlbiwgZWxlY3Ryb25pYyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UgcHJvdmlkZWQgdGhlaXIgcmVzcG9uc2VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBpZCBmb3IgdGhpcyBzZXQgb2YgYW5zd2VycyIgZGVmaW5pdGlvbj0iQSBidXNpbmVzcyBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIGEgcGFydGljdWxhciBjb21wbGV0ZWQgKG9yIHBhcnRpYWxseSBjb21wbGV0ZWQpIHF1ZXN0aW9ubmFpcmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQgYnkgdGhpcyBRdWVzdGlvbm5haXJlUmVzcG9uc2UiIGRlZmluaXRpb249IlRoZSBvcmRlciwgcHJvcG9zYWwgb3IgcGxhbiB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgRm9yIGV4YW1wbGUsIGEgU2VydmljZVJlcXVlc3Qgc2Vla2luZyBhbiBpbnRha2UgYXNzZXNzbWVudCBvciBhIGRlY2lzaW9uIHN1cHBvcnQgcmVjb21tZW5kYXRpb24gdG8gYXNzZXNzIGZvciBwb3N0LXBhcnR1bSBkZXByZXNzaW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHRoaXMgYWN0aW9uIiBkZWZpbml0aW9uPSJBIHByb2NlZHVyZSBvciBvYnNlcnZhdGlvbiB0aGF0IHRoaXMgcXVlc3Rpb25uYWlyZSB3YXMgcGVyZm9ybWVkIGFzIHBhcnQgb2YgdGhlIGV4ZWN1dGlvbiBvZi4gIEZvciBleGFtcGxlLCB0aGUgc3VyZ2VyeSBhIGNoZWNrbGlzdCB3YXMgZXhlY3V0ZWQgYXMgcGFydCBvZi4iIGNvbW1lbnQ9IkNvbXBvc2l0aW9uIG9mIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2VzIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgcGFyZW50IHF1ZXN0aW9ubmFpcmUgaGF2aW5nIGFuc3dlcnMgdGhhdCByZWZlcmVuY2UgdGhlIGNoaWxkIHF1ZXN0aW9ubmFpcmUuICBGb3IgcmVsYXRpb25zaGlwcyB0byByZWZlcnJhbHMsIGFuZCBvdGhlciB0eXBlcyBvZiByZXF1ZXN0cywgdXNlIGJhc2VkT24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1ZXN0aW9ubmFpcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm0gYmVpbmcgYW5zd2VyZWQiIGRlZmluaXRpb249IlRoZSBRdWVzdGlvbm5haXJlIHRoYXQgZGVmaW5lcyBhbmQgb3JnYW5pemVzIHRoZSBxdWVzdGlvbnMgZm9yIHdoaWNoIGFuc3dlcnMgYXJlIGJlaW5nIHByb3ZpZGVkLiIgY29tbWVudD0iRm9yIFNEQywgdGhpcyBTSEFMTCBiZSB0aGUgdmVyc2lvbi1zcGVjaWZpYyBVUkwgb2YgdGhlIGZvcm0gYXMgaG9zdGVkIG9uIHRoZSBGb3JtIE1hbmFnZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImluLXByb2dyZXNzIHwgY29tcGxldGVkIHwgYW1lbmRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVkIiBkZWZpbml0aW9uPSJUaGUgcG9zaXRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2Ugd2l0aGluIGl0cyBvdmVyYWxsIGxpZmVjeWNsZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iTGlmZWN5Y2xlIHN0YXR1cyBvZiB0aGUgcXVlc3Rpb25uYWlyZSByZXNwb25zZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ucyIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2UuICBUaGlzIGNvdWxkIGJlIGEgcGF0aWVudCwgb3JnYW5pemF0aW9uLCBwcmFjdGl0aW9uZXIsIGRldmljZSwgZXRjLiAgVGhpcyBpcyB3aG8vd2hhdCB0aGUgYW5zd2VycyBhcHBseSB0bywgYnV0IGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc291cmNlIG9mIGluZm9ybWF0aW9uLiIgY29tbWVudD0iLSIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgcXVlc3Rpb25uYWlyZSByZXNwb25zZSB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4gQSBxdWVzdGlvbm5haXJlIHRoYXQgd2FzIGluaXRpYXRlZCBkdXJpbmcgYW4gZW5jb3VudGVyIGJ1dCBub3QgZnVsbHkgY29tcGxldGVkIGR1cmluZyB0aGUgZW5jb3VudGVyIHdvdWxkIHN0aWxsIGdlbmVyYWxseSBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGVuY291bnRlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgdGhlIGFuc3dlcnMgd2VyZSBnYXRoZXJlZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB3aGVuIHRoaXMgdmVyc2lvbiBvZiB0aGUgYW5zd2VyIHNldCB3YXMgY3JlYXRlZC4gIENoYW5nZXMgd2hlbmV2ZXIgdGhlIGFuc3dlcnMgYXJlIHVwZGF0ZWQuIiBjb21tZW50PSJNYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxhc3RVcGRhdGVUaW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYsIGJlY2F1c2UgdGhhdCByZWZsZWN0cyB3aGVuIHRoZSBkYXRhIHdhcyBrbm93biB0byB0aGUgc2VydmVyLCBub3Qgd2hlbiB0aGUgZGF0YSB3YXMgY2FwdHVyZWQuJiN4YTsmI3hhO1RoaXMgZWxlbWVudCBpcyBvcHRpb25hbCB0byBhbGxvdyBmb3Igc3lzdGVtcyB0aGF0IG1pZ2h0IG5vdCBrbm93IHRoZSB2YWx1ZSwgaG93ZXZlciBpdCBTSE9VTEQgYmUgcG9wdWxhdGVkIGlmIHBvc3NpYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gcmVjZWl2ZWQgYW5kIHJlY29yZGVkIHRoZSBhbnN3ZXJzIiBkZWZpbml0aW9uPSJQZXJzb24gd2hvIHJlY2VpdmVkIHRoZSBhbnN3ZXJzIHRvIHRoZSBxdWVzdGlvbnMgaW4gdGhlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSBhbmQgcmVjb3JkZWQgdGhlbSBpbiB0aGUgc3lzdGVtLiIgY29tbWVudD0iTWFwcGluZyBhIHN1YmplY3QncyBhbnN3ZXJzIHRvIG11bHRpcGxlIGNob2ljZSBvcHRpb25zIGFuZCBkZXRlcm1pbmluZyB3aGF0IHRvIHB1dCBpbiB0aGUgdGV4dHVhbCBhbnN3ZXIgaXMgYSBtYXR0ZXIgb2YgaW50ZXJwcmV0YXRpb24uICBBdXRob3JpbmcgYnkgZGV2aWNlIHdvdWxkIGluZGljYXRlIHRoYXQgc29tZSBwb3J0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlIGhhZCBiZWVuIGF1dG8tcG9wdWxhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBwZXJzb24gd2hvIGFuc3dlcmVkIHRoZSBxdWVzdGlvbnMiIGRlZmluaXRpb249IlRoZSBwZXJzb24gd2hvIGFuc3dlcmVkIHRoZSBxdWVzdGlvbnMgYWJvdXQgdGhlIHN1YmplY3QuIiBjb21tZW50PSJJZiBub3Qgc3BlY2lmaWVkLCBubyBpbmZlcmVuY2UgY2FuIGJlIG1hZGUgYWJvdXQgd2hvIHByb3ZpZGVkIHRoZSBkYXRhLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249Ikdyb3VwcyBhbmQgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJBIGdyb3VwIG9yIHF1ZXN0aW9uIGl0ZW0gZnJvbSB0aGUgb3JpZ2luYWwgcXVlc3Rpb25uYWlyZSBmb3Igd2hpY2ggYW5zd2VycyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJHcm91cHMgY2Fubm90IGhhdmUgYW5zd2VycyBhbmQgdGhlcmVmb3JlIG11c3QgbmVzdCBkaXJlY3RseSB3aXRoaW4gaXRlbS4gV2hlbiBkZWFsaW5nIHdpdGggcXVlc3Rpb25zLCBuZXN0aW5nIG11c3Qgb2NjdXIgd2l0aGluIGVhY2ggYW5zd2VyIGJlY2F1c2Ugc29tZSBxdWVzdGlvbnMgbWF5IGhhdmUgbXVsdGlwbGUgYW5zd2VycyAoYW5kIHRoZSBuZXN0aW5nIG9jY3VycyBmb3IgZWFjaCBhbnN3ZXIpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InFycy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5lc3RlZCBpdGVtIGNhbid0IGJlIGJlbmVhdGggYm90aCBpdGVtIGFuZCBhbnN3ZXIiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKGFuc3dlci5leGlzdHMoKSBhbmQgaXRlbS5leGlzdHMoKSkubm90KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJzb3VyY2UiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhdXRob3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InNvdXJjZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGlua0lkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQb2ludGVyIHRvIHNwZWNpZmljIGl0ZW0gZnJvbSBRdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJUaGUgaXRlbSBmcm9tIHRoZSBRdWVzdGlvbm5haXJlIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhpcyBpdGVtIGluIHRoZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZWZpbml0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFbGVtZW50RGVmaW5pdGlvbiAtIGRldGFpbHMgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBbRWxlbWVudERlZmluaXRpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZWxlbWVudGRlZmluaXRpb24uaHRtbCkgdGhhdCBwcm92aWRlcyB0aGUgZGV0YWlscyBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJUaGUgRWxlbWVudERlZmluaXRpb24gbXVzdCBiZSBpbiBhIFtTdHJ1Y3R1cmVEZWZpbml0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3N0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpLCBhbmQgbXVzdCBoYXZlIGEgZnJhZ21lbnQgaWRlbnRpZmllciB0aGF0IGlkZW50aWZpZXMgdGhlIHNwZWNpZmljIGRhdGEgZWxlbWVudCBieSBpdHMgaWQgKEVsZW1lbnQuaWQpLiBFLmcuIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiNPYnNlcnZhdGlvbi52YWx1ZVt4XS4mI3hhOyYjeGE7VGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhpcyBlbGVtZW50IGlmIHRoZSBpdGVtIHBvaW50ZWQgdG8gYnkgdGhlIGxpbmtJZCBoYXMgYSBkZWZpbml0aW9uIGxpc3RlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBmb3IgZ3JvdXAgb3IgcXVlc3Rpb24gdGV4dCIgZGVmaW5pdGlvbj0iVGV4dCB0aGF0IGlzIGRpc3BsYXllZCBhYm92ZSB0aGUgY29udGVudHMgb2YgdGhlIGdyb3VwIG9yIGFzIHRoZSB0ZXh0IG9mIHRoZSBxdWVzdGlvbiBiZWluZyBhbnN3ZXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlciIgZGVzY3JpcHRpb249IlRoZSByZXNwb25zZShzKSB0byB0aGUgcXVlc3Rpb24iIGRlZmluaXRpb249IlRoZSByZXNwb25kZW50J3MgYW5zd2VyKHMpIHRvIHRoZSBxdWVzdGlvbi4iIGNvbW1lbnQ9IlRoZSB2YWx1ZSBpcyBuZXN0ZWQgYmVjYXVzZSB3ZSBjYW5ub3QgaGF2ZSBhIHJlcGVhdGluZyBzdHJ1Y3R1cmUgdGhhdCBoYXMgdmFyaWFibGUgdHlwZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0uQW5zd2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iTmVzdGVkIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2UgaXRlbXMiIGRlZmluaXRpb249IlF1ZXN0aW9ucyBvciBzdWItZ3JvdXBzIG5lc3RlZCBiZW5lYXRoIGEgcXVlc3Rpb24gb3IgZ3JvdXAuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1NZWRpYSIgdGFyZ2V0PSIlcGFyZW50Lml0ZW0uZXh0ZW5zaW9uW3VybD0nbnVsbCddIiBkZXNjcmlwdGlvbj0iTWVkaWEgdG8gZGlzcGxheSIgZGVmaW5pdGlvbj0iTWVkaWEgdG8gcmVuZGVyL21ha2UgYXZhaWxhYmxlIGFzIGFuIGFjY29tcGFuaW1lbnQgdG8gdGhlIHF1ZXN0aW9uIGJlaW5nIGFza2VkIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iSXRlbVNpZ25hdHVyZSIgdGFyZ2V0PSIlcGFyZW50Lml0ZW0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1zaWduYXR1cmUnXSIgZGVzY3JpcHRpb249IkEgc2lnbmF0dXJlIGF0dGVzdGluZyB0byB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyBhIHdldCBvciBlbGVjdHJvbmljIHNpZ25hdHVyZSBmb3IgZWl0aGVyIHRoZSBmb3JtIG92ZXJhbGwgb3IgZm9yIHRoZSBxdWVzdGlvbiBvciBpdGVtIGl0J3MgYXNzb2NpYXRlZCB3aXRoLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuc2lnbmF0dXJlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbS5BbnN3ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNpbmdsZS12YWx1ZWQgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFuc3dlciAob3Igb25lIG9mIHRoZSBhbnN3ZXJzKSBwcm92aWRlZCBieSB0aGUgcmVzcG9uZGVudCB0byB0aGUgcXVlc3Rpb24uIiBjb21tZW50PSJNb3JlIGNvbXBsZXggc3RydWN0dXJlcyAoQXR0YWNobWVudCwgUmVzb3VyY2UgYW5kIFF1YW50aXR5KSB3aWxsIHR5cGljYWxseSBiZSBsaW1pdGVkIHRvIGVsZWN0cm9uaWMgZm9ybXMgdGhhdCBjYW4gZXhwb3NlIGFuIGFwcHJvcHJpYXRlIHVzZXIgaW50ZXJmYWNlIHRvIGNhcHR1cmUgdGhlIGNvbXBvbmVudHMgYW5kIGVuZm9yY2UgdGhlIGNvbnN0cmFpbnRzIG9mIGEgY29tcGxleCBkYXRhIHR5cGUuICBBZGRpdGlvbmFsIGNvbXBsZXggdHlwZXMgY2FuIGJlIGludHJvZHVjZWQgdGhyb3VnaCBleHRlbnNpb25zLiBNdXN0IG1hdGNoIHRoZSBkYXRhdHlwZSBzcGVjaWZpZWQgYnkgUXVlc3Rpb25uYWlyZS5pdGVtLnR5cGUgaW4gdGhlIGNvcnJlc3BvbmRpbmcgUXVlc3Rpb25uYWlyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlQW5zd2VyIiBkZXNjcmlwdGlvbj0iQ29kZSBpbmRpY2F0aW5nIHRoZSByZXNwb25zZSBwcm92aWRlZCBmb3IgYSBxdWVzdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249Ik5lc3RlZCBncm91cHMgYW5kIHF1ZXN0aW9ucyIgZGVmaW5pdGlvbj0iTmVzdGVkIGdyb3VwcyBhbmQvb3IgcXVlc3Rpb25zIGZvdW5kIHdpdGhpbiB0aGlzIHBhcnRpY3VsYXIgYW5zd2VyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZS5JdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtQW5zd2VyTWVkaWEiIHRhcmdldD0iJXBhcmVudC5hbnN3ZXIuZXh0ZW5zaW9uW3VybD0nbnVsbCddIiBkZXNjcmlwdGlvbj0iQW5zd2VyIE1lZGlhIHRvIGRpc3BsYXkiIGRlZmluaXRpb249Ik1lZGlhIHRvIHJlbmRlci9tYWtlIGF2YWlsYWJsZSBhcyBhbiBhY2NvbXBhbmltZW50IHRvIGEgc3BlY2lmaWMgYW5zd2VyIG9wdGlvbiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGluYWxWYWx1ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5PcmRpbmFsIFZhbHVlIiB0YXJnZXQ9IiVwYXJlbnQuYW5zd2VyLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9vcmRpbmFsVmFsdWUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFzc2lnbmVkIE9yZGluYWwgVmFsdWUiIGRlZmluaXRpb249IkEgbnVtZXJpYyB2YWx1ZSB0aGF0IGFsbG93cyB0aGUgY29tcGFyaXNvbiAobGVzcyB0aGFuLCBncmVhdGVyIHRoYW4pIG9yIG90aGVyIG51bWVyaWNhbCAmI3hhO21hbmlwdWxhdGlvbiBvZiBhIGNvbmNlcHQgKGUuZy4gQWRkaW5nIHVwIGNvbXBvbmVudHMgb2YgYSBzY29yZSkuIFNjb3JlcyBhcmUgdXN1YWxseSBhIHdob2xlIG51bWJlciwgYnV0IG9jY2FzaW9uYWxseSBkZWNpbWFscyBhcmUgZW5jb3VudGVyZWQgaW4gc2NvcmVzLiIgY29tbWVudD0iU2NvcmVzIGFyZSBjb21tb25seSBlbmNvdW50ZXJlZCBpbiB2YXJpb3VzIGNsaW5pY2FsIGFzc2Vzc21lbnQgc2NhbGVzLiBBc3NpZ25pbmcgYSB2YWx1ZSB0byBhIGNvbmNlcHQgc2hvdWxkIGdlbmVyYWxseSBiZSBkb25lIGluIGEgZm9ybWFsIGNvZGUgc3lzdGVtIHRoYXQgZGVmaW5lcyB0aGUgdmFsdWUsIG9yIGluIGFuIGFwcGxpY2FibGUgdmFsdWUgc2V0IGZvciB0aGUgY29uY2VwdCwgYnV0IHNvbWUgY29uY2VwdHMgZG8gbm90IGhhdmUgYSBmb3JtYWwgZGVmaW5pdGlvbiAob3IgYXJlIG5vdCBldmVuIHJlcHJlc2VudGVkIGFzIGEgY29uY2VwdCBmb3JtYWxseSwgZXNwZWNpYWxseSBpbiBbUXVlc3Rpb25uYWlyZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZS5odG1sKSwgJiN4YTtzbyB0aGlzIGV4dGVuc2lvbiBpcyBhbGxvd2VkIHRvIGFwcGVhciBvdXNpZGUgdGhvc2UgcHJlZmVycmVkIGNvbnRleHRzLiAgU2NvcmVzIG1heSBldmVuIGJlIGFzc2lnbmVkIGFyYml0cmFyaWx5IGR1cmluZyB1c2UgKGhlbmNlLCBvbiBDb2RpbmcpLiBUaGUgdmFsdWUgbWF5IGJlIGNvbnN0cmFpbmVkIHRvIGFuIGludGVnZXIgaW4gc29tZSBjb250ZXh0cyBvZiB1c2UuIFRvZG86IFNjb3JpbmcgYWxnb3JpdGhtcyBtYXkgYWxzbyBiZSBkZWZpbmVkIGRpcmVjdGx5LCBidXQgaG93IHRoaXMgaXMgZG9uZSBpcyBub3QgeWV0IGRlZmluZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuTWV0YSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNkb2giIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNET0ggVGFnIiBkZWZpbml0aW9uPSJUYWdzIHRoYXQgYSBwcm92aWRlciBtYXkgdXNlIGluIHRoZWlyIHdvcmtmbG93IHRvIGluZGljYXRlL2NhdGVnb3JpemUgdGhhdCB0aGUgY29udGV4dCBvZiB0aGlzIFF1ZXN0aW9ubmFpcmUgUmVzcG9uc2UgcmVsYXRlcyB0byBTb2NpYWwgRGV0ZXJtaW5hbnRzIG9mIEhlYWx0aC4iIGNvbW1lbnQ9IlRoZSB0YWdzIGNhbiBiZSB1cGRhdGVkIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHN0YXRlZCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gVGhlIGxpc3Qgb2YgdGFncyBpcyBhIHNldC4gVW5pcXVlbmVzcyBpcyBiYXNlZCB0aGUgc3lzdGVtL2NvZGUsIGFuZCB2ZXJzaW9uIGFuZCBkaXNwbGF5IGFyZSBpZ25vcmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUmVmZXJlbmNlIiBsYWJlbD0iUmVmZXJlbmNlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxpdGVyYWwgcmVmZXJlbmNlLCBSZWxhdGl2ZSwgaW50ZXJuYWwgb3IgYWJzb2x1dGUgVVJMIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGxvY2F0aW9uIGF0IHdoaWNoIHRoZSBvdGhlciByZXNvdXJjZSBpcyBmb3VuZC4gVGhlIHJlZmVyZW5jZSBtYXkgYmUgYSByZWxhdGl2ZSByZWZlcmVuY2UsIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVsYXRpdmUgdG8gdGhlIHNlcnZpY2UgYmFzZSBVUkwsIG9yIGFuIGFic29sdXRlIFVSTCB0aGF0IHJlc29sdmVzIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgcmVzb3VyY2UgaXMgZm91bmQuIFRoZSByZWZlcmVuY2UgbWF5IGJlIHZlcnNpb24gc3BlY2lmaWMgb3Igbm90LiBJZiB0aGUgcmVmZXJlbmNlIGlzIG5vdCB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIsIHRoZW4gaXQgc2hvdWxkIGJlIGFzc3VtZWQgdG8gYmUgdmVyc2lvbiBzcGVjaWZpYy4gSW50ZXJuYWwgZnJhZ21lbnQgcmVmZXJlbmNlcyAoc3RhcnQgd2l0aCAnIycpIHJlZmVyIHRvIGNvbnRhaW5lZCByZXNvdXJjZXMuIiBjb21tZW50PSJVc2luZyBhYnNvbHV0ZSBVUkxzIHByb3ZpZGVzIGEgc3RhYmxlIHNjYWxhYmxlIGFwcHJvYWNoIHN1aXRhYmxlIGZvciBhIGNsb3VkL3dlYiBjb250ZXh0LCB3aGlsZSB1c2luZyByZWxhdGl2ZS9sb2dpY2FsIHJlZmVyZW5jZXMgcHJvdmlkZXMgYSBmbGV4aWJsZSBhcHByb2FjaCBzdWl0YWJsZSBmb3IgdXNlIHdoZW4gdHJhZGluZyBhY3Jvc3MgY2xvc2VkIGVjby1zeXN0ZW0gYm91bmRhcmllcy4gICBBYnNvbHV0ZSBVUkxzIGRvIG5vdCBuZWVkIHRvIHBvaW50IHRvIGEgRkhJUiBSRVNUZnVsIHNlcnZlciwgdGhvdWdoIHRoaXMgaXMgdGhlIHByZWZlcnJlZCBhcHByb2FjaC4gSWYgdGhlIFVSTCBjb25mb3JtcyB0byB0aGUgc3RydWN0dXJlICZxdW90Oy9bdHlwZV0vW2lkXSZxdW90OyB0aGVuIGl0IHNob3VsZCBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlZmVyZW5jZSBpcyB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlR5cGUgdGhlIHJlZmVyZW5jZSByZWZlcnMgdG8gKGUuZy4gJnF1b3Q7UGF0aWVudCZxdW90OykiIGRlZmluaXRpb249IlRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSB0YXJnZXQgb2YgdGhlIHJlZmVyZW5jZS4gSWYgYm90aCBSZWZlcmVuY2UudHlwZSBhbmQgUmVmZXJlbmNlLnJlZmVyZW5jZSBhcmUgcG9wdWxhdGVkIGFuZCBSZWZlcmVuY2UucmVmZXJlbmNlIGlzIGEgRkhJUiBVUkwsIGJvdGggU0hBTEwgYmUgY29uc2lzdGVudC4mI3hhOyYjeGE7VGhlIHR5cGUgaXMgdGhlIENhbm9uaWNhbCBVUkwgb2YgUmVzb3VyY2UgRGVmaW5pdGlvbiB0aGF0IGlzIHRoZSB0eXBlIHRoaXMgcmVmZXJlbmNlIHJlZmVycyB0by4gUmVmZXJlbmNlcyBhcmUgVVJMcyB0aGF0IGFyZSByZWxhdGl2ZSB0byBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIGUuZy4gJnF1b3Q7UGF0aWVudCZxdW90OyBpcyBhIHJlZmVyZW5jZSB0byBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudC4gQWJzb2x1dGUgVVJMcyBhcmUgb25seSBhbGxvd2VkIGZvciBsb2dpY2FsIG1vZGVscyAoYW5kIGNhbiBvbmx5IGJlIHVzZWQgaW4gcmVmZXJlbmNlcyBpbiBsb2dpY2FsIG1vZGVscywgbm90IHJlc291cmNlcykuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiAgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBUaGlzIG1heSBiZSB1c2VkIHdoaWNoIGV2ZXIgb2YgdGhlIG90aGVyIGVsZW1lbnRzIGFyZSBwb3B1bGF0ZWQgKG9yIG5vdCkuIEluIHNvbWUgY2FzZXMsIHRoZSB0eXBlIG9mIHRoZSB0YXJnZXQgbWF5IGJlIGRldGVybWluZWQgYnkgaW5zcGVjdGlvbiBvZiB0aGUgcmVmZXJlbmNlIChlLmcuIGEgUkVTVGZ1bCBVUkwpIG9yIGJ5IHJlc29sdmluZyB0aGUgdGFyZ2V0IG9mIHRoZSByZWZlcmVuY2U7IGlmIGJvdGggdGhlIHR5cGUgYW5kIGEgcmVmZXJlbmNlIGlzIHByb3ZpZGVkLCB0aGUgcmVmZXJlbmNlIFNIQUxMIHJlc29sdmUgdG8gYSByZXNvdXJjZSBvZiB0aGUgc2FtZSB0eXBlIGFzIHRoYXQgc3BlY2lmaWVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJSZXNvdXJjZVR5cGVFeHQiIGRlc2NyaXB0aW9uPSJBYSByZXNvdXJjZSAob3IsIGZvciBsb2dpY2FsIG1vZGVscywgdGhlIFVSSSBvZiB0aGUgbG9naWNhbCBtb2RlbCkuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkxvZ2ljYWwgcmVmZXJlbmNlLCB3aGVuIGxpdGVyYWwgcmVmZXJlbmNlIGlzIG5vdCBrbm93biIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhlIHRhcmdldCByZXNvdXJjZS4gVGhpcyBpcyB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gd2F5IHRvIHJlZmVyZW5jZSB0aGUgb3RoZXIgcmVzb3VyY2UgZGlyZWN0bHksIGVpdGhlciBiZWNhdXNlIHRoZSBlbnRpdHkgaXQgcmVwcmVzZW50cyBpcyBub3QgYXZhaWxhYmxlIHRocm91Z2ggYSBGSElSIHNlcnZlciwgb3IgYmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBhdXRob3Igb2YgdGhlIHJlc291cmNlIHRvIGNvbnZlcnQgYSBrbm93biBpZGVudGlmaWVyIHRvIGFuIGFjdHVhbCBsb2NhdGlvbi4gVGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgdGhhdCBhIFJlZmVyZW5jZS5pZGVudGlmaWVyIHBvaW50IHRvIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGV4cG9zZWQgYXMgYSBGSElSIGluc3RhbmNlLCBidXQgaXQgU0hBTEwgcG9pbnQgdG8gYSBidXNpbmVzcyBjb25jZXB0IHRoYXQgd291bGQgYmUgZXhwZWN0ZWQgdG8gYmUgZXhwb3NlZCBhcyBhIEZISVIgaW5zdGFuY2UsIGFuZCB0aGF0IGluc3RhbmNlIHdvdWxkIG5lZWQgdG8gYmUgb2YgYSBGSElSIHJlc291cmNlIHR5cGUgYWxsb3dlZCBieSB0aGUgcmVmZXJlbmNlLiIgY29tbWVudD0iV2hlbiBhbiBpZGVudGlmaWVyIGlzIHByb3ZpZGVkIGluIHBsYWNlIG9mIGEgcmVmZXJlbmNlLCBhbnkgc3lzdGVtIHByb2Nlc3NpbmcgdGhlIHJlZmVyZW5jZSB3aWxsIG9ubHkgYmUgYWJsZSB0byByZXNvbHZlIHRoZSBpZGVudGlmaWVyIHRvIGEgcmVmZXJlbmNlIGlmIGl0IHVuZGVyc3RhbmRzIHRoZSBidXNpbmVzcyBjb250ZXh0IGluIHdoaWNoIHRoZSBpZGVudGlmaWVyIGlzIHVzZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGdsb2JhbCAoZS5nLiBhIG5hdGlvbmFsIGlkZW50aWZpZXIpIGJ1dCBvZnRlbiBpdCBpcyBub3QuIEZvciB0aGlzIHJlYXNvbiwgbm9uZSBvZiB0aGUgdXNlZnVsIG1lY2hhbmlzbXMgZGVzY3JpYmVkIGZvciB3b3JraW5nIHdpdGggcmVmZXJlbmNlcyAoZS5nLiBjaGFpbmluZywgaW5jbHVkZXMpIGFyZSBwb3NzaWJsZSwgbm9yIHNob3VsZCBzZXJ2ZXJzIGJlIGV4cGVjdGVkIHRvIGJlIGFibGUgcmVzb2x2ZSB0aGUgcmVmZXJlbmNlLiBTZXJ2ZXJzIG1heSBhY2NlcHQgYW4gaWRlbnRpZmllciBiYXNlZCByZWZlcmVuY2UgdW50b3VjaGVkLCByZXNvbHZlIGl0LCBhbmQvb3IgcmVqZWN0IGl0IC0gc2VlIENhcGFiaWxpdHlTdGF0ZW1lbnQucmVzdC5yZXNvdXJjZS5yZWZlcmVuY2VQb2xpY3kuICYjeGE7JiN4YTtXaGVuIGJvdGggYW4gaWRlbnRpZmllciBhbmQgYSBsaXRlcmFsIHJlZmVyZW5jZSBhcmUgcHJvdmlkZWQsIHRoZSBsaXRlcmFsIHJlZmVyZW5jZSBpcyBwcmVmZXJyZWQuIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIHRoZSByZXNvdXJjZSBhcmUgYWxsb3dlZCAtIGJ1dCBub3QgcmVxdWlyZWQgLSB0byBjaGVjayB0aGF0IHRoZSBpZGVudGlmaWVyIG1hdGNoZXMgdGhlIGxpdGVyYWwgcmVmZXJlbmNlJiN4YTsmI3hhO0FwcGxpY2F0aW9ucyBjb252ZXJ0aW5nIGEgbG9naWNhbCByZWZlcmVuY2UgdG8gYSBsaXRlcmFsIHJlZmVyZW5jZSBtYXkgY2hvb3NlIHRvIGxlYXZlIHRoZSBsb2dpY2FsIHJlZmVyZW5jZSBwcmVzZW50LCBvciByZW1vdmUgaXQuJiN4YTsmI3hhO1JlZmVyZW5jZSBpcyBpbnRlbmRlZCB0byBwb2ludCB0byBhIHN0cnVjdHVyZSB0aGF0IGNhbiBwb3RlbnRpYWxseSBiZSBleHByZXNzZWQgYXMgYSBGSElSIHJlc291cmNlLCB0aG91Z2ggdGhlcmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gZXhpc3QgYXMgYW4gYWN0dWFsIEZISVIgcmVzb3VyY2UgaW5zdGFuY2UgLSBleGNlcHQgaW4gYXMgbXVjaCBhcyBhbiBhcHBsaWNhdGlvbiB3aXNoZXMgdG8gYWN0dWFsIGZpbmQgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBUaGUgY29udGVudCByZWZlcnJlZCB0byBiZSB0aGUgaWRlbnRpZmllciBtdXN0IG1lZXQgdGhlIGxvZ2ljYWwgY29uc3RyYWludHMgaW1wbGllZCBieSBhbnkgbGltaXRhdGlvbnMgb24gd2hhdCByZXNvdXJjZSB0eXBlcyBhcmUgcGVybWl0dGVkIGZvciB0aGUgcmVmZXJlbmNlLiAgRm9yIGV4YW1wbGUsIGl0IHdvdWxkIG5vdCBiZSBsZWdpdGltYXRlIHRvIHNlbmQgdGhlIGlkZW50aWZpZXIgZm9yIGEgZHJ1ZyBwcmVzY3JpcHRpb24gaWYgdGhlIHR5cGUgd2VyZSBSZWZlcmVuY2UoT2JzZXJ2YXRpb258RGlhZ25vc3RpY1JlcG9ydCkuICBPbmUgb2YgdGhlIHVzZS1jYXNlcyBmb3IgUmVmZXJlbmNlLmlkZW50aWZpZXIgaXMgdGhlIHNpdHVhdGlvbiB3aGVyZSBubyBGSElSIHJlcHJlc2VudGF0aW9uIGV4aXN0cyAod2hlcmUgdGhlIHR5cGUgaXMgUmVmZXJlbmNlIChBbnkpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IGFsdGVybmF0aXZlIGZvciB0aGUgcmVzb3VyY2UiIGRlZmluaXRpb249IlBsYWluIHRleHQgbmFycmF0aXZlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVzb3VyY2UgaW4gYWRkaXRpb24gdG8gdGhlIHJlc291cmNlIHJlZmVyZW5jZS4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG5vdCB0aGUgc2FtZSBhcyB0aGUgUmVzb3VyY2UudGV4dCBvZiB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZS4gIFRoZSBwdXJwb3NlIGlzIHRvIGlkZW50aWZ5IHdoYXQncyBiZWluZyByZWZlcmVuY2VkLCBub3QgdG8gZnVsbHkgZGVzY3JpYmUgaXQuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkQXJ0aWZhY3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9SZWxhdGVkQXJ0aWZhY3QiIGxhYmVsPSJSZWxhdGVkQXJ0aWZhY3QiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVsYXRlZEFydGlmYWN0VHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkb2N1bWVudGF0aW9uIHwganVzdGlmaWNhdGlvbiB8IGNpdGF0aW9uIHwgcHJlZGVjZXNzb3IgfCBzdWNjZXNzb3IgfCBkZXJpdmVkLWZyb20gfCBkZXBlbmRzLW9uIHwgY29tcG9zZWQtb2YiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJlbGF0aW9uc2hpcCB0byB0aGUgcmVsYXRlZCBhcnRpZmFjdC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgcmVsYXRpb25zaGlwIHRvIHRoZSByZWxhdGVkIGFydGlmYWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGFiZWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlNob3J0IGxhYmVsIiBkZWZpbml0aW9uPSJBIHNob3J0IGxhYmVsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVmZXJlbmNlIHRoZSBjaXRhdGlvbiBmcm9tIGVsc2V3aGVyZSBpbiB0aGUgY29udGFpbmluZyBhcnRpZmFjdCwgc3VjaCBhcyBhIGZvb3Rub3RlIGluZGV4LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJCcmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcmVsYXRlZCBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgZG9jdW1lbnQgb3Iga25vd2xlZGdlIHJlc291cmNlIGJlaW5nIHJlZmVyZW5jZWQsIHN1aXRhYmxlIGZvciBkaXNwbGF5IHRvIGEgY29uc3VtZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNpdGF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJCaWJsaW9ncmFwaGljIGNpdGF0aW9uIGZvciB0aGUgYXJ0aWZhY3QiIGRlZmluaXRpb249IkEgYmlibGlvZ3JhcGhpYyBjaXRhdGlvbiBmb3IgdGhlIHJlbGF0ZWQgYXJ0aWZhY3QuIFRoaXMgdGV4dCBTSE9VTEQgYmUgZm9ybWF0dGVkIGFjY29yZGluZyB0byBhbiBhY2NlcHRlZCBjaXRhdGlvbiBmb3JtYXQuIiBjb21tZW50PSJBZGRpdGlvbmFsIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gYWJvdXQgY2l0YXRpb25zIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBleHRlbnNpb25zLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBhcnRpZmFjdCBjYW4gYmUgYWNjZXNzZWQiIGRlZmluaXRpb249IkEgdXJsIGZvciB0aGUgYXJ0aWZhY3QgdGhhdCBjYW4gYmUgZm9sbG93ZWQgdG8gYWNjZXNzIHRoZSBhY3R1YWwgY29udGVudC4iIGNvbW1lbnQ9IklmIGEgZG9jdW1lbnQgb3IgcmVzb3VyY2UgZWxlbWVudCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgU0hBTEwgTk9UIGJlIHByb3ZpZGVkICh1c2UgdGhlIHVybCBvciByZWZlcmVuY2UgaW4gdGhlIEF0dGFjaG1lbnQgb3IgcmVzb3VyY2UgcmVmZXJlbmNlKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9jdW1lbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgZGVzY3JpcHRpb249IldoYXQgZG9jdW1lbnQgaXMgYmVpbmcgcmVmZXJlbmNlZCIgZGVmaW5pdGlvbj0iVGhlIGRvY3VtZW50IGJlaW5nIHJlZmVyZW5jZWQsIHJlcHJlc2VudGVkIGFzIGFuIGF0dGFjaG1lbnQuIFRoaXMgaXMgZXhjbHVzaXZlIHdpdGggdGhlIHJlc291cmNlIGVsZW1lbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGF0IHJlc291cmNlIGlzIGJlaW5nIHJlZmVyZW5jZWQiIGRlZmluaXRpb249IlRoZSByZWxhdGVkIHJlc291cmNlLCBzdWNoIGFzIGEgbGlicmFyeSwgdmFsdWUgc2V0LCBwcm9maWxlLCBvciBvdGhlciBrbm93bGVkZ2UgcmVzb3VyY2UuIiBjb21tZW50PSJJZiB0aGUgdHlwZSBpcyBwcmVkZWNlc3NvciwgdGhpcyBpcyBhIHJlZmVyZW5jZSB0byB0aGUgc3VjY2VlZGluZyBrbm93bGVkZ2UgcmVzb3VyY2UuIElmIHRoZSB0eXBlIGlzIHN1Y2Nlc3NvciwgdGhpcyBpcyBhIHJlZmVyZW5jZSB0byB0aGUgcHJpb3Iga25vd2xlZGdlIHJlc291cmNlLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkUGVyc29uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWxhdGVkcGVyc29uIiBsYWJlbD0iUUlDb3JlIFJlbGF0ZWRQZXJzb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InJlbGF0aW9uc2hpcCI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcGVyc29uIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciBhIHBlcnNvbiB3aXRoaW4gYSBwYXJ0aWN1bGFyIHNjb3BlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgdGhpcyByZWxhdGVkIHBlcnNvbidzIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcmVsYXRlZCBwZXJzb24gcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgaXQgbWF5IGJlIHVzZWQgdG8gbWFyayB0aGF0IHRoZSByZXNvdXJjZSB3YXMgY3JlYXRlZCBpbiBlcnJvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHBhdGllbnQgdGhpcyBwZXJzb24gaXMgcmVsYXRlZCB0byIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQgdGhpcyBwZXJzb24gaXMgcmVsYXRlZCB0by4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCIgZGVmaW5pdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gYSBwYXRpZW50IGFuZCB0aGUgcmVsYXRlZCBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQYXRpZW50UmVsYXRpb25zaGlwVHlwZSIgZGVzY3JpcHRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgcGF0aWVudCBhbmQgdGhlIHJlbGF0ZWQgcGVyc29uLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGRlc2NyaXB0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwZXJzb24iIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBlcnNvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSHVtYW5OYW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHBlcnNvbiIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHBlcnNvbiwgZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcy4iIGNvbW1lbnQ9IlBlcnNvbiBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5LCBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGVyc29uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBmb3IgYWRtaW5pc3RyYXRpb24gYW5kIHJlY29yZCBrZWVwaW5nIHB1cnBvc2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZG1pbmlzdHJhdGl2ZUdlbmRlciIgZGVzY3JpcHRpb249IlRoZSBnZW5kZXIgb2YgYSBwZXJzb24gdXNlZCBmb3IgYWRtaW5pc3RyYXRpdmUgcHVycG9zZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSBvbiB3aGljaCB0aGUgcmVsYXRlZCBwZXJzb24gd2FzIGJvcm4iIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZWxhdGVkIHBlcnNvbiB3YXMgYm9ybi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFkZHJlc3Mgd2hlcmUgdGhlIHJlbGF0ZWQgcGVyc29uIGNhbiBiZSBjb250YWN0ZWQgb3IgdmlzaXRlZCIgZGVmaW5pdGlvbj0iQWRkcmVzcyB3aGVyZSB0aGUgcmVsYXRlZCBwZXJzb24gY2FuIGJlIGNvbnRhY3RlZCBvciB2aXNpdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwaG90byIgZGVzY3JpcHRpb249IkltYWdlIG9mIHRoZSBwZXJzb24iIGRlZmluaXRpb249IkltYWdlIG9mIHRoZSBwZXJzb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBlcmlvZCBvZiB0aW1lIHRoYXQgdGhpcyByZWxhdGlvbnNoaXAgaXMgY29uc2lkZXJlZCB2YWxpZCIgZGVmaW5pdGlvbj0iVGhlIHBlcmlvZCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGlzIHJlbGF0aW9uc2hpcCBpcyBvciB3YXMgYWN0aXZlLiBJZiB0aGVyZSBhcmUgbm8gZGF0ZXMgZGVmaW5lZCwgdGhlbiB0aGUgaW50ZXJ2YWwgaXMgdW5rbm93bi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW11bmljYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggYWJvdXQgdGhlIHBhdGllbnQncyBoZWFsdGgiIGRlZmluaXRpb249IkEgbGFuZ3VhZ2Ugd2hpY2ggbWF5IGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBhYm91dCB0aGUgcGF0aWVudCdzIGhlYWx0aC4iIGNvbW1lbnQ9IklmIG5vIGxhbmd1YWdlIGlzIHNwZWNpZmllZCwgdGhpcyAqaW1wbGllcyogdGhhdCB0aGUgZGVmYXVsdCBsb2NhbCBsYW5ndWFnZSBpcyBzcG9rZW4uICBJZiB5b3UgbmVlZCB0byBjb252ZXkgcHJvZmljaWVuY3kgZm9yIG11bHRpcGxlIG1vZGVzLCB0aGVuIHlvdSBuZWVkIG11bHRpcGxlIFJlbGF0ZWRQZXJzb24uQ29tbXVuaWNhdGlvbiBhc3NvY2lhdGlvbnMuICAgSWYgdGhlIFJlbGF0ZWRQZXJzb24gZG9lcyBub3Qgc3BlYWsgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UsIHRoZW4gdGhlIEludGVycHJldGVyIFJlcXVpcmVkIFN0YW5kYXJkIGNhbiBiZSB1c2VkIHRvIGV4cGxpY2l0bHkgZGVjbGFyZSB0aGF0IGFuIGludGVycHJldGVyIGlzIHJlcXVpcmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlbGF0ZWRQZXJzb24uQ29tbXVuaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZFBlcnNvbi5Db21tdW5pY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGxhbmd1YWdlIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGgiIGRlZmluaXRpb249IlRoZSBJU08tNjM5LTEgYWxwaGEgMiBjb2RlIGluIGxvd2VyIGNhc2UgZm9yIHRoZSBsYW5ndWFnZSwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGh5cGhlbiBhbmQgdGhlIElTTy0zMTY2LTEgYWxwaGEgMiBjb2RlIGZvciB0aGUgcmVnaW9uIGluIHVwcGVyIGNhc2U7IGUuZy4gJnF1b3Q7ZW4mcXVvdDsgZm9yIEVuZ2xpc2gsIG9yICZxdW90O2VuLVVTJnF1b3Q7IGZvciBBbWVyaWNhbiBFbmdsaXNoIHZlcnN1cyAmcXVvdDtlbi1FTiZxdW90OyBmb3IgRW5nbGFuZCBFbmdsaXNoLiIgY29tbWVudD0iVGhlIHN0cnVjdHVyZSBhYS1CQiB3aXRoIHRoaXMgZXhhY3QgY2FzaW5nIGlzIG9uZSB0aGUgbW9zdCB3aWRlbHkgdXNlZCBub3RhdGlvbnMgZm9yIGxvY2FsZS4gSG93ZXZlciBub3QgYWxsIHN5c3RlbXMgYWN0dWFsbHkgY29kZSB0aGlzIGJ1dCBpbnN0ZWFkIGhhdmUgaXQgYXMgZnJlZSB0ZXh0LiBIZW5jZSBDb2RlYWJsZUNvbmNlcHQgaW5zdGVhZCBvZiBjb2RlIGFzIHRoZSBkYXRhIHR5cGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxhbmd1YWdlIHByZWZlcmVuY2UgaW5kaWNhdG9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHBhdGllbnQgcHJlZmVycyB0aGlzIGxhbmd1YWdlIChvdmVyIG90aGVyIGxhbmd1YWdlcyBoZSBtYXN0ZXJzIHVwIGEgY2VydGFpbiBsZXZlbCkuIiBjb21tZW50PSJUaGlzIGxhbmd1YWdlIGlzIHNwZWNpZmljYWxseSBpZGVudGlmaWVkIGZvciBjb21tdW5pY2F0aW5nIGhlYWx0aGNhcmUgaW5mb3JtYXRpb24uIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbWl0dGFuY2VPdXRjb21lIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVxdWVzdEludGVudCIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkFueSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlc291cmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUmVzb3VyY2UiIGxhYmVsPSJSZXNvdXJjZSIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG9naWNhbCBpZCBvZiB0aGlzIGFydGlmYWN0IiBkZWZpbml0aW9uPSJUaGUgbG9naWNhbCBpZCBvZiB0aGUgcmVzb3VyY2UsIGFzIHVzZWQgaW4gdGhlIFVSTCBmb3IgdGhlIHJlc291cmNlLiBPbmNlIGFzc2lnbmVkLCB0aGlzIHZhbHVlIG5ldmVyIGNoYW5nZXMuIiBjb21tZW50PSJUaGUgb25seSB0aW1lIHRoYXQgYSByZXNvdXJjZSBkb2VzIG5vdCBoYXZlIGFuIGlkIGlzIHdoZW4gaXQgaXMgYmVpbmcgc3VibWl0dGVkIHRvIHRoZSBzZXJ2ZXIgdXNpbmcgYSBjcmVhdGUgb3BlcmF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRhIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1ldGEiIGRlc2NyaXB0aW9uPSJNZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UiIGRlZmluaXRpb249IlRoZSBtZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UuIFRoaXMgaXMgY29udGVudCB0aGF0IGlzIG1haW50YWluZWQgYnkgdGhlIGluZnJhc3RydWN0dXJlLiBDaGFuZ2VzIHRvIHRoZSBjb250ZW50IG1pZ2h0IG5vdCBhbHdheXMgYmUgYXNzb2NpYXRlZCB3aXRoIHZlcnNpb24gY2hhbmdlcyB0byB0aGUgcmVzb3VyY2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImltcGxpY2l0UnVsZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgc2V0IG9mIHJ1bGVzIHVuZGVyIHdoaWNoIHRoaXMgY29udGVudCB3YXMgY3JlYXRlZCIgZGVmaW5pdGlvbj0iQSByZWZlcmVuY2UgdG8gYSBzZXQgb2YgcnVsZXMgdGhhdCB3ZXJlIGZvbGxvd2VkIHdoZW4gdGhlIHJlc291cmNlIHdhcyBjb25zdHJ1Y3RlZCwgYW5kIHdoaWNoIG11c3QgYmUgdW5kZXJzdG9vZCB3aGVuIHByb2Nlc3NpbmcgdGhlIGNvbnRlbnQuIE9mdGVuLCB0aGlzIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGltcGxlbWVudGF0aW9uIGd1aWRlIHRoYXQgZGVmaW5lcyB0aGUgc3BlY2lhbCBydWxlcyBhbG9uZyB3aXRoIG90aGVyIHByb2ZpbGVzIGV0Yy4iIGNvbW1lbnQ9IkFzc2VydGluZyB0aGlzIHJ1bGUgc2V0IHJlc3RyaWN0cyB0aGUgY29udGVudCB0byBiZSBvbmx5IHVuZGVyc3Rvb2QgYnkgYSBsaW1pdGVkIHNldCBvZiB0cmFkaW5nIHBhcnRuZXJzLiBUaGlzIGluaGVyZW50bHkgbGltaXRzIHRoZSB1c2VmdWxuZXNzIG9mIHRoZSBkYXRhIGluIHRoZSBsb25nIHRlcm0uIEhvd2V2ZXIsIHRoZSBleGlzdGluZyBoZWFsdGggZWNvLXN5c3RlbSBpcyBoaWdobHkgZnJhY3R1cmVkLCBhbmQgbm90IHlldCByZWFkeSB0byBkZWZpbmUsIGNvbGxlY3QsIGFuZCBleGNoYW5nZSBkYXRhIGluIGEgZ2VuZXJhbGx5IGNvbXB1dGFibGUgc2Vuc2UuIFdoZXJldmVyIHBvc3NpYmxlLCBpbXBsZW1lbnRlcnMgYW5kL29yIHNwZWNpZmljYXRpb24gd3JpdGVycyBzaG91bGQgYXZvaWQgdXNpbmcgdGhpcyBlbGVtZW50LiBPZnRlbiwgd2hlbiB1c2VkLCB0aGUgVVJMIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGltcGxlbWVudGF0aW9uIGd1aWRlIHRoYXQgZGVmaW5lcyB0aGVzZSBzcGVjaWFsIHJ1bGVzIGFzIHBhcnQgb2YgaXQncyBuYXJyYXRpdmUgYWxvbmcgd2l0aCBvdGhlciBwcm9maWxlcywgdmFsdWUgc2V0cywgZXRjLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTGFuZ3VhZ2Ugb2YgdGhlIHJlc291cmNlIGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBiYXNlIGxhbmd1YWdlIGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyB3cml0dGVuLiIgY29tbWVudD0iTGFuZ3VhZ2UgaXMgcHJvdmlkZWQgdG8gc3VwcG9ydCBpbmRleGluZyBhbmQgYWNjZXNzaWJpbGl0eSAodHlwaWNhbGx5LCBzZXJ2aWNlcyBzdWNoIGFzIHRleHQgdG8gc3BlZWNoIHVzZSB0aGUgbGFuZ3VhZ2UgdGFnKS4gVGhlIGh0bWwgbGFuZ3VhZ2UgdGFnIGluIHRoZSBuYXJyYXRpdmUgYXBwbGllcyAgdG8gdGhlIG5hcnJhdGl2ZS4gVGhlIGxhbmd1YWdlIHRhZyBvbiB0aGUgcmVzb3VyY2UgbWF5IGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbGFuZ3VhZ2Ugb2Ygb3RoZXIgcHJlc2VudGF0aW9ucyBnZW5lcmF0ZWQgZnJvbSB0aGUgZGF0YSBpbiB0aGUgcmVzb3VyY2UuIE5vdCBhbGwgdGhlIGNvbnRlbnQgaGFzIHRvIGJlIGluIHRoZSBiYXNlIGxhbmd1YWdlLiBUaGUgUmVzb3VyY2UubGFuZ3VhZ2Ugc2hvdWxkIG5vdCBiZSBhc3N1bWVkIHRvIGFwcGx5IHRvIHRoZSBuYXJyYXRpdmUgYXV0b21hdGljYWxseS4gSWYgYSBsYW5ndWFnZSBpcyBzcGVjaWZpZWQsIGl0IHNob3VsZCBpdCBhbHNvIGJlIHNwZWNpZmllZCBvbiB0aGUgZGl2IGVsZW1lbnQgaW4gdGhlIGh0bWwgKHNlZSBydWxlcyBpbiBIVE1MNSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHhtbDpsYW5nIGFuZCB0aGUgaHRtbCBsYW5nIGF0dHJpYnV0ZSkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlc291cmNlVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1NhbXBsZWREYXRhIiBsYWJlbD0iU2FtcGxlZERhdGEiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9yaWdpbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJaZXJvIHZhbHVlIGFuZCB1bml0cyIgZGVmaW5pdGlvbj0iVGhlIGJhc2UgcXVhbnRpdHkgdGhhdCBhIG1lYXN1cmVkIHZhbHVlIG9mIHplcm8gcmVwcmVzZW50cy4gSW4gYWRkaXRpb24sIHRoaXMgcHJvdmlkZXMgdGhlIHVuaXRzIG9mIHRoZSBlbnRpcmUgbWVhc3VyZW1lbnQgc2VyaWVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gc2FtcGxlcyIgZGVmaW5pdGlvbj0iVGhlIGxlbmd0aCBvZiB0aW1lIGJldHdlZW4gc2FtcGxpbmcgdGltZXMsIG1lYXN1cmVkIGluIG1pbGxpc2Vjb25kcy4iIGNvbW1lbnQ9IlRoaXMgaXMgdXN1YWxseSBhIHdob2xlIG51bWJlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTXVsdGlwbHkgZGF0YSBieSB0aGlzIGJlZm9yZSBhZGRpbmcgdG8gb3JpZ2luIiBkZWZpbml0aW9uPSJBIGNvcnJlY3Rpb24gZmFjdG9yIHRoYXQgaXMgYXBwbGllZCB0byB0aGUgc2FtcGxlZCBkYXRhIHBvaW50cyBiZWZvcmUgdGhleSBhcmUgYWRkZWQgdG8gdGhlIG9yaWdpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG93ZXJMaW1pdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxvd2VyIGxpbWl0IG9mIGRldGVjdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGxvd2VyIGxpbWl0IG9mIGRldGVjdGlvbiBvZiB0aGUgbWVhc3VyZWQgcG9pbnRzLiBUaGlzIGlzIG5lZWRlZCBpZiBhbnkgb2YgdGhlIGRhdGEgcG9pbnRzIGhhdmUgdGhlIHZhbHVlICZxdW90O0wmcXVvdDsgKGxvd2VyIHRoYW4gZGV0ZWN0aW9uIGxpbWl0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idXBwZXJMaW1pdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9mIGRldGVjdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHVwcGVyIGxpbWl0IG9mIGRldGVjdGlvbiBvZiB0aGUgbWVhc3VyZWQgcG9pbnRzLiBUaGlzIGlzIG5lZWRlZCBpZiBhbnkgb2YgdGhlIGRhdGEgcG9pbnRzIGhhdmUgdGhlIHZhbHVlICZxdW90O1UmcXVvdDsgKGhpZ2hlciB0aGFuIGRldGVjdGlvbiBsaW1pdCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRpbWVuc2lvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQuIElmIHRoaXMgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG9uZSwgdGhlbiB0aGUgZGltZW5zaW9ucyB3aWxsIGJlIGludGVybGFjZWQgLSBhbGwgdGhlIHNhbXBsZSBwb2ludHMgZm9yIGEgcG9pbnQgaW4gdGltZSB3aWxsIGJlIHJlY29yZGVkIGF0IG9uY2UuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGRpbWVuc2lvbiwgdGhlIGNvZGUgZm9yIHRoZSB0eXBlIG9mIGRhdGEgd2lsbCBkZWZpbmUgdGhlIG1lYW5pbmcgb2YgdGhlIGRpbWVuc2lvbnMgKHR5cGljYWxseSBFQ0cgZGF0YSkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGEiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlY2ltYWwgdmFsdWVzIHdpdGggc3BhY2VzLCBvciAmcXVvdDtFJnF1b3Q7IHwgJnF1b3Q7VSZxdW90OyB8ICZxdW90O0wmcXVvdDsiIGRlZmluaXRpb249IkEgc2VyaWVzIG9mIGRhdGEgcG9pbnRzIHdoaWNoIGFyZSBkZWNpbWFsIHZhbHVlcyBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2UgKGNoYXJhY3RlciB1MjApLiBUaGUgc3BlY2lhbCB2YWx1ZXMgJnF1b3Q7RSZxdW90OyAoZXJyb3IpLCAmcXVvdDtMJnF1b3Q7IChiZWxvdyBkZXRlY3Rpb24gbGltaXQpIGFuZCAmcXVvdDtVJnF1b3Q7IChhYm92ZSBkZXRlY3Rpb24gbGltaXQpIGNhbiBhbHNvIGJlIHVzZWQgaW4gcGxhY2Ugb2YgYSBkZWNpbWFsIHZhbHVlLiIgY29tbWVudD0iRGF0YSBtYXkgYmUgbWlzc2luZyBpZiBpdCBpcyBvbWl0dGVkIGZvciBzdW1tYXJpemF0aW9uIHB1cnBvc2VzLiBJbiBnZW5lcmFsLCBkYXRhIGlzIHJlcXVpcmVkIGZvciBhbnkgYWN0dWFsIHVzZSBvZiBhIFNhbXBsZWREYXRhLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNlcnZpY2VOb3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNlcnZpY2Vub3RyZXF1ZXN0ZWQiIGxhYmVsPSJRSUNvcmUgU2VydmljZSBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9IlNlcnZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1hcHByb2FjaEJvZHlTdHJ1Y3R1cmUnXSIgZGVzY3JpcHRpb249IlRoZSBhY2Nlc3MgcG9pbnQgb3IgcG9pbnRzIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGUgYXBwcm9hY2ggYm9keSBzaXRlIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlLiAgTXVsdGlwbGUgbG9jYXRpb25zIGFyZSBhbGxvd2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ByaWF0ZW5lc3NTY29yZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdEFwcHJvcHJpYXRlbmVzc1Njb3JlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtc2VydmljZXJlcXVlc3QtYXBwcm9wcmlhdGVuZXNzU2NvcmUnXSIgZGVzY3JpcHRpb249IkFwcHJvcHJpYXRlbmVzcyBTY29yZSIgZGVmaW5pdGlvbj0iVGhlIFJBTkQgYXBwcm9wcmlhdGVuZXNzIHNjb3JlIGZvciB0aGUgcmVxdWVzdGVkIHByb2NlZHVyZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZ1c2VkIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvTm90UGVyZm9ybVJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1kb05vdFBlcmZvcm1SZWFzb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBldmVudCB3YXMgbm90IHBlcmZvcm1lZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlzRWxlY3RpdmUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSXNFbGVjdGl2ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoaXMgaXMgYW4gZWxlY3RpdmUgcHJvY2VkdXJlLiIgY29tbWVudD0iVGhlIHJlYXNvbiB0aGlzIGV4dGVuc2lvbiBpcyBhIG1vZGlmaWVyIGlzIGJlY2F1c2UsIGlmIHRydWUsIHRoaXMgZWxlbWVudCBtYXJrcyB0aGUgc3BlY2lmaWVkIHJlcXVlc3QgYXMgZWxlY3RpdmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBpbnN0YW5jZSBieSB0aGUgb3JkZXJlciBhbmQvb3IgdGhlIHJlY2VpdmVyIGFuZC9vciBvcmRlciBmdWxmaWxsZXIuIiBjb21tZW50PSJUaGUgaWRlbnRpZmllci50eXBlIGVsZW1lbnQgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBpZGVudGlmaWVycyBhc3NpZ25lZCBieSB0aGUgb3JkZXJlciAoa25vd24gYXMgdGhlICdQbGFjZXInIGluIEhMNyB2MikgYW5kIHRoZSBwcm9kdWNlciBvZiB0aGUgb2JzZXJ2YXRpb25zIGluIHJlc3BvbnNlIHRvIHRoZSBvcmRlciAoa25vd24gYXMgdGhlICdGaWxsZXInIGluIEhMNyB2MikuICBGb3IgZnVydGhlciBkaXNjdXNzaW9uIGFuZCBleGFtcGxlcyBzZWUgdGhlIHJlc291cmNlIG5vdGVzIHNlY3Rpb24gYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgU2VydmljZVJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IlBsYW4vcHJvcG9zYWwvb3JkZXIgZnVsZmlsbGVkIGJ5IHRoaXMgcmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVpc2l0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgUmVxdWVzdCBJRCIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHNlcnZpY2UgcmVxdWVzdHMgdGhhdCB3ZXJlIGF1dGhvcml6ZWQgbW9yZSBvciBsZXNzIHNpbXVsdGFuZW91c2x5IGJ5IGEgc2luZ2xlIGF1dGhvciwgcmVwcmVzZW50aW5nIHRoZSBjb21wb3NpdGUgb3IgZ3JvdXAgaWRlbnRpZmllci4iIGNvbW1lbnQ9IlJlcXVlc3RzIGFyZSBsaW5rZWQgZWl0aGVyIGJ5IGEgJnF1b3Q7YmFzZWRPbiZxdW90OyByZWxhdGlvbnNoaXAgKGkuZS4gb25lIHJlcXVlc3QgaXMgZnVsZmlsbGluZyBhbm90aGVyKSBvciBieSBoYXZpbmcgYSBjb21tb24gcmVxdWlzaXRpb24uIFJlcXVlc3RzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIHNhbWUgcmVxdWlzaXRpb24gYXJlIGdlbmVyYWxseSB0cmVhdGVkIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgY2hhbmdpbmcgdGhlaXIgc3RhdGUgb3IgbWFpbnRhaW5pbmcgdGhlbSBhZnRlciBpbml0aWFsIGNyZWF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZHJhZnQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgcmV2b2tlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBvcmRlci4iIGNvbW1lbnQ9IlRoZSBzdGF0dXMgaXMgZ2VuZXJhbGx5IGZ1bGx5IGluIHRoZSBjb250cm9sIG9mIHRoZSByZXF1ZXN0ZXIgLSB0aGV5IGRldGVybWluZSB3aGV0aGVyIHRoZSBvcmRlciBpcyBkcmFmdCBvciBhY3RpdmUgYW5kLCBhZnRlciBpdCBoYXMgYmVlbiBhY3RpdmF0ZWQsIGNvbXBldGVkLCBjYW5jZWxsZWQgb3Igc3VzcGVuZGVkLiBTdGF0ZXMgcmVsYXRpbmcgdG8gdGhlIGFjdGl2aXRpZXMgb2YgdGhlIHBlcmZvcm1lciBhcmUgcmVmbGVjdGVkIG9uIGVpdGhlciB0aGUgY29ycmVzcG9uZGluZyBldmVudCAoc2VlIFtFdmVudCBQYXR0ZXJuXShldmVudC5odG1sKSBmb3IgZ2VuZXJhbCBkaXNjdXNzaW9uKSBvciB1c2luZyB0aGUgW1Rhc2tdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvdGFzay5odG1sKSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIGEgc2VydmljZSBvcmRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdEludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgYW4gb3JpZ2luYWwgb3JkZXIgb3IgYSByZWZsZXggb3JkZXIuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIGludGVudCBhbHRlcnMgd2hlbiBhbmQgaG93IHRoZSByZXNvdXJjZSBpcyBhY3R1YWxseSBhcHBsaWNhYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdEludGVudCIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIHNlcnZpY2UgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgc2VydmljZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhpcyBvZiBjYXRlZ29yaXphdGlvbiBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQgb3IgdXNlIGNhc2UgZm9yIHJldHJpZXZpbmcgb3IgZGlzcGxheWluZyB0aGUgcmVzb3VyY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBzZXJ2aWNlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMgKGUuZy4gJnF1b3Q7U3VyZ2ljYWwgUHJvY2VkdXJlJnF1b3Q7KS4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGlzIG9mIGNhdGVnb3JpemF0aW9uIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dCBvciB1c2UgY2FzZSBmb3IgcmV0cmlldmluZyBvciBkaXNwbGF5aW5nIHRoZSByZXNvdXJjZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgU2VydmljZVJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVHJ1ZSBpZiBzZXJ2aWNlL3Byb2NlZHVyZSBzaG91bGQgbm90IGJlIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iU2V0IHRoaXMgdG8gdHJ1ZSBpZiB0aGUgcmVjb3JkIGlzIHNheWluZyB0aGF0IHRoZSBzZXJ2aWNlL3Byb2NlZHVyZSBzaG91bGQgTk9UIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IkluIGdlbmVyYWwsIG9ubHkgdGhlIGNvZGUgYW5kIHRpbWVmcmFtZSB3aWxsIGJlIHByZXNlbnQsIHRob3VnaCBvY2Nhc2lvbmFsIGFkZGl0aW9uYWwgcXVhbGlmaWVycyBzdWNoIGFzIGJvZHkgc2l0ZSBvciBldmVuIHBlcmZvcm1lciBjb3VsZCBiZSBpbmNsdWRlZCB0byBuYXJyb3cgdGhlIHNjb3BlIG9mIHRoZSBwcm9oaWJpdGlvbi4gIElmIHRoZSBTZXJ2aWNlUmVxdWVzdC5jb2RlIGFuZCBTZXJ2aWNlUmVxdWVzdC5kb05vdFBlcmZvcm0gYm90aCBjb250YWluIG5lZ2F0aW9uLCB0aGF0IHdpbGwgcmVpbmZvcmNlIHByb2hpYml0aW9uIGFuZCBzaG91bGQgbm90IGhhdmUgYSBkb3VibGUgbmVnYXRpdmUgaW50ZXJwcmV0YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IGlzIGJlaW5nIHJlcXVlc3RlZC9vcmRlcmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIGEgcGFydGljdWxhciBzZXJ2aWNlIChpLmUuLCBwcm9jZWR1cmUsIGRpYWdub3N0aWMgaW52ZXN0aWdhdGlvbiwgb3IgcGFuZWwgb2YgaW52ZXN0aWdhdGlvbnMpIHRoYXQgaGF2ZSBiZWVuIHJlcXVlc3RlZC4iIGNvbW1lbnQ9Ik1hbnkgbGFib3JhdG9yeSBhbmQgcmFkaW9sb2d5IHByb2NlZHVyZSBjb2RlcyBlbWJlZCB0aGUgc3BlY2ltZW4vb3JnYW4gc3lzdGVtIGluIHRoZSB0ZXN0IG9yZGVyIG5hbWUsIGZvciBleGFtcGxlLCAgc2VydW0gb3Igc2VydW0vcGxhc21hIGdsdWNvc2UsIG9yIGEgY2hlc3QgeC1yYXkuIFRoZSBzcGVjaW1lbiBtaWdodCBub3QgYmUgcmVjb3JkZWQgc2VwYXJhdGVseSBmcm9tIHRoZSB0ZXN0IGNvZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvcmRlckRldGFpbCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgb3JkZXIgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgZGV0YWlscyBhbmQgaW5zdHJ1Y3Rpb25zIGFib3V0IHRoZSBob3cgdGhlIHNlcnZpY2VzIGFyZSB0byBiZSBkZWxpdmVyZWQuICAgRm9yIGV4YW1wbGUsIGFuZCBvcmRlciBmb3IgYSB1cmluYXJ5IGNhdGhldGVyIG1heSBoYXZlIGFuIG9yZGVyIGRldGFpbCBmb3IgYW4gZXh0ZXJuYWwgb3IgaW5kd2VsbGluZyBjYXRoZXRlciwgb3IgYW4gb3JkZXIgZm9yIGEgYmFuZGFnZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBzcGVjaWZ5aW5nIGhvdyB0aGUgYmFuZGFnZSBzaG91bGQgYmUgYXBwbGllZC4iIGNvbW1lbnQ9IkZvciBpbmZvcm1hdGlvbiBmcm9tIHRoZSBtZWRpY2FsIHJlY29yZCBpbnRlbmRlZCB0byBzdXBwb3J0IHRoZSBkZWxpdmVyeSBvZiB0aGUgcmVxdWVzdGVkIHNlcnZpY2VzLCB1c2UgdGhlIGBzdXBwb3J0aW5nSW5mb3JtYXRpb25gIGVsZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9yZGVyRGV0YWlsIiBkZXNjcmlwdGlvbj0iQ29kaWZpZWQgb3JkZXIgZW50cnkgZGV0YWlscyB3aGljaCBhcmUgYmFzZWQgb24gb3JkZXIgY29udGV4dC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBhbW91bnQiIGRlZmluaXRpb249IkFuIGFtb3VudCBvZiBzZXJ2aWNlIGJlaW5nIHJlcXVlc3RlZCB3aGljaCBjYW4gYmUgYSBxdWFudGl0eSAoIGZvciBleGFtcGxlICQxLDUwMCBob21lIG1vZGlmaWNhdGlvbiksIGEgcmF0aW8gKCBmb3IgZXhhbXBsZSwgMjAgaGFsZiBkYXkgdmlzaXRzIHBlciBtb250aCksIG9yIGEgcmFuZ2UgKDIuMCB0byAxLjggR3kgcGVyIGZyYWN0aW9uKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgb3IgRW50aXR5IHRoZSBzZXJ2aWNlIGlzIG9yZGVyZWQgZm9yIiBkZWZpbml0aW9uPSJPbiB3aG9tIG9yIHdoYXQgdGhlIHNlcnZpY2UgaXMgdG8gYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHVzdWFsbHkgYSBodW1hbiBwYXRpZW50LCBidXQgY2FuIGFsc28gYmUgcmVxdWVzdGVkIG9uIGFuaW1hbHMsIGdyb3VwcyBvZiBodW1hbnMgb3IgYW5pbWFscywgZGV2aWNlcyBzdWNoIGFzIGRpYWx5c2lzIG1hY2hpbmVzLCBvciBldmVuIGxvY2F0aW9ucyAodHlwaWNhbGx5IGZvciBlbnZpcm9ubWVudGFsIHNjYW5zKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgaW4gd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIGNyZWF0ZWQiIGRlZmluaXRpb249IkFuIGVuY291bnRlciB0aGF0IHByb3ZpZGVzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhlYWx0aGNhcmUgY29udGV4dCBpbiB3aGljaCB0aGlzIHJlcXVlc3QgaXMgbWFkZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBzZXJ2aWNlIHNob3VsZCBvY2N1ciIgZGVmaW5pdGlvbj0iVGhlIGRhdGUvdGltZSBhdCB3aGljaCB0aGUgcmVxdWVzdGVkIHNlcnZpY2Ugc2hvdWxkIG9jY3VyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXNOZWVkZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlY29uZGl0aW9ucyBmb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iSWYgYSBDb2RlYWJsZUNvbmNlcHQgaXMgcHJlc2VudCwgaXQgaW5kaWNhdGVzIHRoZSBwcmUtY29uZGl0aW9uIGZvciBwZXJmb3JtaW5nIHRoZSBzZXJ2aWNlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQXNOZWVkZWRSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgdGhlIHByZS1jb25kaXRpb24gdGhhdCBzaG91bGQgaG9sZCBwcmlvciB0byBwZXJmb3JtaW5nIGEgcHJvY2VkdXJlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIHJlcXVlc3Qgc2lnbmVkIiBkZWZpbml0aW9uPSJXaGVuIHRoZSByZXF1ZXN0IHRyYW5zaXRpb25lZCB0byBiZWluZyBhY3Rpb25hYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgbm90IHRoZSBkaXNwYXRjaGVyLCBidXQgcmF0aGVyIHdobyBpcyB0aGUgYXV0aG9yaXplci4gIFRoaXMgZWxlbWVudCBpcyBub3QgaW50ZW5kZWQgdG8gaGFuZGxlIGRlbGVnYXRpb24gd2hpY2ggd291bGQgZ2VuZXJhbGx5IGJlIG1hbmFnZWQgdGhyb3VnaCB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBlcmZvcm1lciByb2xlIiBkZWZpbml0aW9uPSJEZXNpcmVkIHR5cGUgb2YgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIiBjb21tZW50PSJUaGlzIGlzIGEgIHJvbGUsIG5vdCAgYSBwYXJ0aWNpcGF0aW9uIHR5cGUuICBJbiBvdGhlciB3b3JkcywgZG9lcyBub3QgZGVzY3JpYmUgdGhlIHRhc2sgYnV0IGRlc2NyaWJlcyB0aGUgY2FwYWNpdHkuICBGb3IgZXhhbXBsZSwg4oCcY29tcG91bmRpbmcgcGhhcm1hY3nigJ0sIOKAnHBzeWNoaWF0cmlzdOKAnSBvciDigJxpbnRlcm5hbCByZWZlcnJhbOKAnS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFBhcnRpY2lwYW50Um9sZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzICZxdW90O1ByaW1hcnkgcGh5c2ljaWFuJnF1b3Q7LCAmcXVvdDtUZWFtIGNvb3JkaW5hdG9yJnF1b3Q7LCAmcXVvdDtDYXJlZ2l2ZXImcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIHBlcmZvcm1lciIgZGVmaW5pdGlvbj0iVGhlIGRlc2lyZWQgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuICBGb3IgZXhhbXBsZSwgdGhlIHN1cmdlb24sIGRlcm1hdG9wYXRob2xvZ2lzdCwgZW5kb3Njb3Bpc3QsIGV0Yy4iIGNvbW1lbnQ9IklmIG11bHRpcGxlIHBlcmZvcm1lcnMgYXJlIHByZXNlbnQsIGl0IGlzIGludGVycHJldGVkIGFzIGEgbGlzdCBvZiAqYWx0ZXJuYXRpdmUqIHBlcmZvcm1lcnMgd2l0aG91dCBhbnkgcHJlZmVyZW5jZSByZWdhcmRsZXNzIG9mIG9yZGVyLiAgSWYgb3JkZXIgb2YgcHJlZmVyZW5jZSBpcyBuZWVkZWQgdXNlIHRoZSBbcmVxdWVzdC1wZXJmb3JtZXJPcmRlciBleHRlbnNpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXJlcXVlc3QtcGVyZm9ybWVyb3JkZXIuaHRtbCkuICBVc2UgQ2FyZVRlYW0gdG8gcmVwcmVzZW50IGEgZ3JvdXAgb2YgcGVyZm9ybWVycyAoZm9yIGV4YW1wbGUsIFByYWN0aXRpb25lciBBICphbmQqIFByYWN0aXRpb25lciBCKS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcHJlZmVycmVkIGxvY2F0aW9uKHMpIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGFjdHVhbGx5IGhhcHBlbiBpbiBjb2RlZCBvciBmcmVlIHRleHQgZm9ybS4gRS5nLiBhdCBob21lIG9yIG51cnNpbmcgZGF5IGNhcmUgY2VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdExvY2F0aW9uIiBkZXNjcmlwdGlvbj0iQSBsb2NhdGlvbiB0eXBlIHdoZXJlIHNlcnZpY2VzIGFyZSBkZWxpdmVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byB0aGUgdGhlIHByZWZlcnJlZCBsb2NhdGlvbihzKSB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBhY3R1YWxseSBoYXBwZW4uIEUuZy4gYXQgaG9tZSBvciBudXJzaW5nIGRheSBjYXJlIGNlbnRlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBwcm9jZWR1cmUgb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gb3IganVzdGlmaWNhdGlvbiBmb3Igd2h5IHRoaXMgc2VydmljZSBpcyBiZWluZyByZXF1ZXN0ZWQgaW4gY29kZWQgb3IgdGV4dHVhbCBmb3JtLiAgIFRoaXMgaXMgb2Z0ZW4gZm9yIGJpbGxpbmcgcHVycG9zZXMuICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgVXNlIGBDb2RlYWJsZUNvbmNlcHQudGV4dGAgZWxlbWVudCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShzZXJ2aWNlcmVxdWVzdC1leGFtcGxlLWRpLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFJlYXNvbiIgZGVzY3JpcHRpb249IkRpYWdub3NpcyBvciBwcm9ibGVtIGNvZGVzIGp1c3RpZnlpbmcgdGhlIHJlYXNvbiBmb3IgcmVxdWVzdGluZyB0aGUgc2VydmljZSBpbnZlc3RpZ2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBzZXJ2aWNlIG9yIHNlcnZpY2UiIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHRoYXQgcHJvdmlkZXMgYSBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZC4gICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgIFRvIGJlIGFzIHNwZWNpZmljIGFzIHBvc3NpYmxlLCAgYSByZWZlcmVuY2UgdG8gICpPYnNlcnZhdGlvbiogb3IgKkNvbmRpdGlvbiogc2hvdWxkIGJlIHVzZWQgaWYgYXZhaWxhYmxlLiAgT3RoZXJ3aXNlIHdoZW4gcmVmZXJlbmNpbmcgICpEaWFnbm9zdGljUmVwb3J0KiAgaXQgc2hvdWxkIGNvbnRhaW4gYSBmaW5kaW5nICBpbiBgRGlhZ25vc3RpY1JlcG9ydC5jb25jbHVzaW9uYCBhbmQvb3IgYERpYWdub3N0aWNSZXBvcnQuY29uY2x1c2lvbkNvZGVgLiAgIFdoZW4gdXNpbmcgYSByZWZlcmVuY2UgdG8gKkRvY3VtZW50UmVmZXJlbmNlKiwgdGhlIHRhcmdldCBkb2N1bWVudCBzaG91bGQgY29udGFpbiBjbGVhciBmaW5kaW5ncyBsYW5ndWFnZSBwcm92aWRpbmcgdGhlIHJlbGV2YW50IHJlYXNvbiBmb3IgdGhpcyBzZXJ2aWNlIHJlcXVlc3QuICBVc2UgIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBTZXJ2aWNlUmVxdWVzdC5yZWFzb25Db2RlYCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShzZXJ2aWNlcmVxdWVzdC1leGFtcGxlLWRpLmh0bWwpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIG5lZWRlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhdGllbnQgb3Igc3BlY2ltZW4gdGhhdCBtYXkgaW5mbHVlbmNlIHRoZSBzZXJ2aWNlcyBvciB0aGVpciBpbnRlcnByZXRhdGlvbnMuICAgICBUaGlzIGluZm9ybWF0aW9uIGluY2x1ZGVzIGRpYWdub3NpcywgY2xpbmljYWwgZmluZGluZ3MgYW5kIG90aGVyIG9ic2VydmF0aW9ucy4gIEluIGxhYm9yYXRvcnkgb3JkZXJpbmcgdGhlc2UgYXJlIHR5cGljYWxseSByZWZlcnJlZCB0byBhcyAmcXVvdDthc2sgYXQgb3JkZXIgZW50cnkgcXVlc3Rpb25zIChBT0VzKSZxdW90Oy4gIFRoaXMgaW5jbHVkZXMgb2JzZXJ2YXRpb25zIGV4cGxpY2l0bHkgcmVxdWVzdGVkIGJ5IHRoZSBwcm9kdWNlciAoZmlsbGVyKSB0byBwcm92aWRlIGNvbnRleHQgb3Igc3VwcG9ydGluZyBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gY29tcGxldGUgdGhlIG9yZGVyLiBGb3IgZXhhbXBsZSwgIHJlcG9ydGluZyB0aGUgYW1vdW50IG9mIGluc3BpcmVkIG94eWdlbiBmb3IgYmxvb2QgZ2FzIG1lYXN1cmVtZW50cy4iIGNvbW1lbnQ9IlRvIHJlcHJlc2VudCBpbmZvcm1hdGlvbiBhYm91dCBob3cgdGhlIHNlcnZpY2VzIGFyZSB0byBiZSBkZWxpdmVyZWQgdXNlIHRoZSBgaW5zdHJ1Y3Rpb25zYCBlbGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJQcm9jZWR1cmUgU2FtcGxlcyIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgc3BlY2ltZW5zIHRoYXQgdGhlIGxhYm9yYXRvcnkgcHJvY2VkdXJlIHdpbGwgdXNlLiIgY29tbWVudD0iTWFueSBkaWFnbm9zdGljIHByb2NlZHVyZXMgbmVlZCBhIHNwZWNpbWVuLCBidXQgdGhlIHJlcXVlc3QgaXRzZWxmIGlzIG5vdCBhY3R1YWxseSBhYm91dCB0aGUgc3BlY2ltZW4uIFRoaXMgZWxlbWVudCBpcyBmb3Igd2hlbiB0aGUgZGlhZ25vc3RpYyBpcyByZXF1ZXN0ZWQgb24gYWxyZWFkeSBleGlzdGluZyBzcGVjaW1lbnMgYW5kIHRoZSByZXF1ZXN0IHBvaW50cyB0byB0aGUgc3BlY2ltZW4gaXQgYXBwbGllcyB0by4gICAgQ29udmVyc2VseSwgaWYgdGhlIHJlcXVlc3QgaXMgZW50ZXJlZCBmaXJzdCB3aXRoIGFuIHVua25vd24gc3BlY2ltZW4sIHRoZW4gdGhlIFtTcGVjaW1lbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9zcGVjaW1lbi5odG1sKSByZXNvdXJjZSBwb2ludHMgdG8gdGhlIFNlcnZpY2VSZXF1ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiBvbiBCb2R5IiBkZWZpbml0aW9uPSJBbmF0b21pYyBsb2NhdGlvbiB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBiZSBwZXJmb3JtZWQuIFRoaXMgaXMgdGhlIHRhcmdldCBzaXRlLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiB0aGUgY29kZSBmb3VuZCBpbiBTZXJ2aWNlUmVxdWVzdC5jb2RlLiAgSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb2RlZCBlbGVtZW50IChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSAgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldEJvZHlTdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkFuYXRvbWljIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGJlIHBlcmZvcm1lZC4gVGhpcyBpcyB0aGUgdGFyZ2V0IHNpdGUiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgbWFkZSBhYm91dCB0aGUgc2VydmljZSByZXF1ZXN0LiBGb3IgZXhhbXBsZSwgaW50ZXJuYWwgYmlsbGluZyBub3Rlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50SW5zdHJ1Y3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlBhdGllbnQgb3IgY29uc3VtZXItb3JpZW50ZWQgaW5zdHJ1Y3Rpb25zIiBkZWZpbml0aW9uPSJJbnN0cnVjdGlvbnMgaW4gdGVybXMgdGhhdCBhcmUgdW5kZXJzdG9vZCBieSB0aGUgcGF0aWVudCBvciBjb25zdW1lci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsZXZhbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBwcm92ZW5hbmNlIiBkZWZpbml0aW9uPSJLZXkgZXZlbnRzIGluIHRoZSBoaXN0b3J5IG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuJiN4ZDtUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmI3hkO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2VydmljZVJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNlcnZpY2VyZXF1ZXN0IiBsYWJlbD0iUUlDb3JlIFNlcnZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1hcHByb2FjaEJvZHlTdHJ1Y3R1cmUnXSIgZGVzY3JpcHRpb249IlRoZSBhY2Nlc3MgcG9pbnQgb3IgcG9pbnRzIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGUgYXBwcm9hY2ggYm9keSBzaXRlIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlLiAgTXVsdGlwbGUgbG9jYXRpb25zIGFyZSBhbGxvd2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ByaWF0ZW5lc3NTY29yZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNlcnZpY2VyZXF1ZXN0LWFwcHJvcHJpYXRlbmVzc1Njb3JlJ10iIGRlc2NyaXB0aW9uPSJBcHByb3ByaWF0ZW5lc3MgU2NvcmUiIGRlZmluaXRpb249IlRoZSBSQU5EIGFwcHJvcHJpYXRlbmVzcyBzY29yZSBmb3IgdGhlIHJlcXVlc3RlZCBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNFbGVjdGl2ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Jc0VsZWN0aXZlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBpcyBhbiBlbGVjdGl2ZSBwcm9jZWR1cmUuIiBjb21tZW50PSJUaGUgcmVhc29uIHRoaXMgZXh0ZW5zaW9uIGlzIGEgbW9kaWZpZXIgaXMgYmVjYXVzZSwgaWYgdHJ1ZSwgdGhpcyBlbGVtZW50IG1hcmtzIHRoZSBzcGVjaWZpZWQgcmVxdWVzdCBhcyBlbGVjdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGluc3RhbmNlIGJ5IHRoZSBvcmRlcmVyIGFuZC9vciB0aGUgcmVjZWl2ZXIgYW5kL29yIG9yZGVyIGZ1bGZpbGxlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyLnR5cGUgZWxlbWVudCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGlkZW50aWZpZXJzIGFzc2lnbmVkIGJ5IHRoZSBvcmRlcmVyIChrbm93biBhcyB0aGUgJ1BsYWNlcicgaW4gSEw3IHYyKSBhbmQgdGhlIHByb2R1Y2VyIG9mIHRoZSBvYnNlcnZhdGlvbnMgaW4gcmVzcG9uc2UgdG8gdGhlIG9yZGVyIChrbm93biBhcyB0aGUgJ0ZpbGxlcicgaW4gSEw3IHYyKS4gIEZvciBmdXJ0aGVyIGRpc2N1c3Npb24gYW5kIGV4YW1wbGVzIHNlZSB0aGUgcmVzb3VyY2Ugbm90ZXMgc2VjdGlvbiBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgU2VydmljZVJlcXVlc3QuIiBjb21tZW50PSJOb3RlOiBUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBTZXJ2aWNlUmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVwbGFjZXMiIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgcmVwbGFjZXMiIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IHRha2VzIHRoZSBwbGFjZSBvZiB0aGUgcmVmZXJlbmNlZCBjb21wbGV0ZWQgb3IgdGVybWluYXRlZCByZXF1ZXN0KHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWlzaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSBSZXF1ZXN0IElEIiBkZWZpbml0aW9uPSJBIHNoYXJlZCBpZGVudGlmaWVyIGNvbW1vbiB0byBhbGwgc2VydmljZSByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGNvbXBvc2l0ZSBvciBncm91cCBpZGVudGlmaWVyLiIgY29tbWVudD0iUmVxdWVzdHMgYXJlIGxpbmtlZCBlaXRoZXIgYnkgYSAmcXVvdDtiYXNlZE9uJnF1b3Q7IHJlbGF0aW9uc2hpcCAoaS5lLiBvbmUgcmVxdWVzdCBpcyBmdWxmaWxsaW5nIGFub3RoZXIpIG9yIGJ5IGhhdmluZyBhIGNvbW1vbiByZXF1aXNpdGlvbi4gUmVxdWVzdHMgdGhhdCBhcmUgcGFydCBvZiB0aGUgc2FtZSByZXF1aXNpdGlvbiBhcmUgZ2VuZXJhbGx5IHRyZWF0ZWQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBjaGFuZ2luZyB0aGVpciBzdGF0ZSBvciBtYWludGFpbmluZyB0aGVtIGFmdGVyIGluaXRpYWwgY3JlYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdOKAiyB8IGFjdGl2ZeKAiyB8IG9uLWhvbGTigIsgfCByZXZva2Vk4oCLIHwgZW50ZXJlZC1pbi1lcnJvcuKAiyB8IHVua25vd27igIsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG9yZGVyLiIgY29tbWVudD0iVGhlIHN0YXR1cyBpcyBnZW5lcmFsbHkgZnVsbHkgaW4gdGhlIGNvbnRyb2wgb2YgdGhlIHJlcXVlc3RlciAtIHRoZXkgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9yZGVyIGlzIGRyYWZ0IG9yIGFjdGl2ZSBhbmQsIGFmdGVyIGl0IGhhcyBiZWVuIGFjdGl2YXRlZCwgY29tcGV0ZWQsIGNhbmNlbGxlZCBvciBzdXNwZW5kZWQuIFN0YXRlcyByZWxhdGluZyB0byB0aGUgYWN0aXZpdGllcyBvZiB0aGUgcGVyZm9ybWVyIGFyZSByZWZsZWN0ZWQgb24gZWl0aGVyIHRoZSBjb3JyZXNwb25kaW5nIGV2ZW50IChzZWUgW0V2ZW50IFBhdHRlcm5dKGV2ZW50Lmh0bWwpIGZvciBnZW5lcmFsIGRpc2N1c3Npb24pIG9yIHVzaW5nIHRoZSBbVGFza10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC90YXNrLmh0bWwpIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgYSBzZXJ2aWNlIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlNlcnZpY2VSZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByb3Bvc2FsIHwgcGxhbiB8IGRpcmVjdGl2ZSB8IG9yZGVyIHwgb3JpZ2luYWwtb3JkZXIgfCByZWZsZXgtb3JkZXIgfCBmaWxsZXItb3JkZXIgfCBpbnN0YW5jZS1vcmRlciB8IG9wdGlvbiIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgcmVxdWVzdCBpcyBhIHByb3Bvc2FsLCBwbGFuLCBhbiBvcmlnaW5hbCBvcmRlciBvciBhIHJlZmxleCBvcmRlci4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0SW50ZW50IiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb2Ygc2VydmljZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBzZXJ2aWNlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMgKGUuZy4gJnF1b3Q7U3VyZ2ljYWwgUHJvY2VkdXJlJnF1b3Q7KS4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGlzIG9mIGNhdGVnb3JpemF0aW9uIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dCBvciB1c2UgY2FzZSBmb3IgcmV0cmlldmluZyBvciBkaXNwbGF5aW5nIHRoZSByZXNvdXJjZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RDYXRlZ29yeSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHNlcnZpY2UgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3NlcyAoZS5nLiAmcXVvdDtTdXJnaWNhbCBQcm9jZWR1cmUmcXVvdDspLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9yIHVzZSBjYXNlIGZvciByZXRyaWV2aW5nIG9yIGRpc3BsYXlpbmcgdGhlIHJlc291cmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdFByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBTZXJ2aWNlUmVxdWVzdCBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFByaW9yaXR5IiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgbGV2ZWwgb2YgaW1wb3J0YW5jZSB0byBiZSBhc3NpZ25lZCB0byBhY3Rpb25pbmcgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IGlzIGJlaW5nIHJlcXVlc3RlZC9vcmRlcmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIGEgcGFydGljdWxhciBzZXJ2aWNlIChpLmUuLCBwcm9jZWR1cmUsIGRpYWdub3N0aWMgaW52ZXN0aWdhdGlvbiwgb3IgcGFuZWwgb2YgaW52ZXN0aWdhdGlvbnMpIHRoYXQgaGF2ZSBiZWVuIHJlcXVlc3RlZC4iIGNvbW1lbnQ9Ik1hbnkgbGFib3JhdG9yeSBhbmQgcmFkaW9sb2d5IHByb2NlZHVyZSBjb2RlcyBlbWJlZCB0aGUgc3BlY2ltZW4vb3JnYW4gc3lzdGVtIGluIHRoZSB0ZXN0IG9yZGVyIG5hbWUsIGZvciBleGFtcGxlLCAgc2VydW0gb3Igc2VydW0vcGxhc21hIGdsdWNvc2UsIG9yIGEgY2hlc3QgeC1yYXkuIFRoZSBzcGVjaW1lbiBtaWdodCBub3QgYmUgcmVjb3JkZWQgc2VwYXJhdGVseSBmcm9tIHRoZSB0ZXN0IGNvZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXJEZXRhaWwiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIG9yZGVyIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGRldGFpbHMgYW5kIGluc3RydWN0aW9ucyBhYm91dCB0aGUgaG93IHRoZSBzZXJ2aWNlcyBhcmUgdG8gYmUgZGVsaXZlcmVkLiAgIEZvciBleGFtcGxlLCBhbmQgb3JkZXIgZm9yIGEgdXJpbmFyeSBjYXRoZXRlciBtYXkgaGF2ZSBhbiBvcmRlciBkZXRhaWwgZm9yIGFuIGV4dGVybmFsIG9yIGluZHdlbGxpbmcgY2F0aGV0ZXIsIG9yIGFuIG9yZGVyIGZvciBhIGJhbmRhZ2UgbWF5IHJlcXVpcmUgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3BlY2lmeWluZyBob3cgdGhlIGJhbmRhZ2Ugc2hvdWxkIGJlIGFwcGxpZWQuIiBjb21tZW50PSJGb3IgaW5mb3JtYXRpb24gZnJvbSB0aGUgbWVkaWNhbCByZWNvcmQgaW50ZW5kZWQgdG8gc3VwcG9ydCB0aGUgZGVsaXZlcnkgb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlcywgdXNlIHRoZSBgc3VwcG9ydGluZ0luZm9ybWF0aW9uYCBlbGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPcmRlckRldGFpbCIgZGVzY3JpcHRpb249IkNvZGlmaWVkIG9yZGVyIGVudHJ5IGRldGFpbHMgd2hpY2ggYXJlIGJhc2VkIG9uIG9yZGVyIGNvbnRleHQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UgYW1vdW50IiBkZWZpbml0aW9uPSJBbiBhbW91bnQgb2Ygc2VydmljZSBiZWluZyByZXF1ZXN0ZWQgd2hpY2ggY2FuIGJlIGEgcXVhbnRpdHkgKCBmb3IgZXhhbXBsZSAkMSw1MDAgaG9tZSBtb2RpZmljYXRpb24pLCBhIHJhdGlvICggZm9yIGV4YW1wbGUsIDIwIGhhbGYgZGF5IHZpc2l0cyBwZXIgbW9udGgpLCBvciBhIHJhbmdlICgyLjAgdG8gMS44IEd5IHBlciBmcmFjdGlvbikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbmRpdmlkdWFsIG9yIEVudGl0eSB0aGUgc2VydmljZSBpcyBvcmRlcmVkIGZvciIgZGVmaW5pdGlvbj0iT24gd2hvbSBvciB3aGF0IHRoZSBzZXJ2aWNlIGlzIHRvIGJlIHBlcmZvcm1lZC4gVGhpcyBpcyB1c3VhbGx5IGEgaHVtYW4gcGF0aWVudCwgYnV0IGNhbiBhbHNvIGJlIHJlcXVlc3RlZCBvbiBhbmltYWxzLCBncm91cHMgb2YgaHVtYW5zIG9yIGFuaW1hbHMsIGRldmljZXMgc3VjaCBhcyBkaWFseXNpcyBtYWNoaW5lcywgb3IgZXZlbiBsb2NhdGlvbnMgKHR5cGljYWxseSBmb3IgZW52aXJvbm1lbnRhbCBzY2FucykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGluIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBjcmVhdGVkIiBkZWZpbml0aW9uPSJBbiBlbmNvdW50ZXIgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBoZWFsdGhjYXJlIGNvbnRleHQgaW4gd2hpY2ggdGhpcyByZXF1ZXN0IGlzIG1hZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gc2VydmljZSBzaG91bGQgb2NjdXIiIGRlZmluaXRpb249IlRoZSBkYXRlL3RpbWUgYXQgd2hpY2ggdGhlIHJlcXVlc3RlZCBzZXJ2aWNlIHNob3VsZCBvY2N1ci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzTmVlZGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByZWNvbmRpdGlvbnMgZm9yIHNlcnZpY2UiIGRlZmluaXRpb249IklmIGEgQ29kZWFibGVDb25jZXB0IGlzIHByZXNlbnQsIGl0IGluZGljYXRlcyB0aGUgcHJlLWNvbmRpdGlvbiBmb3IgcGVyZm9ybWluZyB0aGUgc2VydmljZS4gIEZvciBleGFtcGxlICZxdW90O3BhaW4mcXVvdDssICZxdW90O29uIGZsYXJlLXVwJnF1b3Q7LCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgdGhlIHByZS1jb25kaXRpb24gdGhhdCBzaG91bGQgaG9sZCBwcmlvciB0byBwZXJmb3JtaW5nIGEgcHJvY2VkdXJlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgcmVxdWVzdCBzaWduZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL3doYXQgaXMgcmVxdWVzdGluZyBzZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCB3aG8gaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgY29tbWVudD0iVGhpcyBub3QgdGhlIGRpc3BhdGNoZXIsIGJ1dCByYXRoZXIgd2hvIGlzIHRoZSBhdXRob3JpemVyLiAgVGhpcyBlbGVtZW50IGlzIG5vdCBpbnRlbmRlZCB0byBoYW5kbGUgZGVsZWdhdGlvbiB3aGljaCB3b3VsZCBnZW5lcmFsbHkgYmUgbWFuYWdlZCB0aHJvdWdoIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyZm9ybWVyIHJvbGUiIGRlZmluaXRpb249IkRlc2lyZWQgdHlwZSBvZiBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgaXMgYSAgcm9sZSwgbm90ICBhIHBhcnRpY2lwYXRpb24gdHlwZS4gIEluIG90aGVyIHdvcmRzLCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgdGFzayBidXQgZGVzY3JpYmVzIHRoZSBjYXBhY2l0eS4gIEZvciBleGFtcGxlLCDigJxjb21wb3VuZGluZyBwaGFybWFjeeKAnSwg4oCccHN5Y2hpYXRyaXN04oCdIG9yIOKAnGludGVybmFsIHJlZmVycmFs4oCdLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0UGFydGljaXBhbnRSb2xlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgJnF1b3Q7UHJpbWFyeSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RlYW0gY29vcmRpbmF0b3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgcGVyZm9ybWVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4gIEZvciBleGFtcGxlLCB0aGUgc3VyZ2VvbiwgZGVybWF0b3BhdGhvbG9naXN0LCBlbmRvc2NvcGlzdCwgZXRjLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcGVyZm9ybWVycyBhcmUgcHJlc2VudCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBsaXN0IG9mICphbHRlcm5hdGl2ZSogcGVyZm9ybWVycyB3aXRob3V0IGFueSBwcmVmZXJlbmNlIHJlZ2FyZGxlc3Mgb2Ygb3JkZXIuICBJZiBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIG5lZWRlZCB1c2UgdGhlIFtyZXF1ZXN0LXBlcmZvcm1lck9yZGVyIGV4dGVuc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcmVxdWVzdC1wZXJmb3JtZXJvcmRlci5odG1sKS4gIFVzZSBDYXJlVGVhbSB0byByZXByZXNlbnQgYSBncm91cCBvZiBwZXJmb3JtZXJzIChmb3IgZXhhbXBsZSwgUHJhY3RpdGlvbmVyIEEgKmFuZCogUHJhY3RpdGlvbmVyIEIpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IlRoZSBwcmVmZXJyZWQgbG9jYXRpb24ocykgd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYWN0dWFsbHkgaGFwcGVuIGluIGNvZGVkIG9yIGZyZWUgdGV4dCBmb3JtLiBFLmcuIGF0IGhvbWUgb3IgbnVyc2luZyBkYXkgY2FyZSBjZW50ZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0TG9jYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxvY2F0aW9uIHR5cGUgd2hlcmUgc2VydmljZXMgYXJlIGRlbGl2ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIHRoZSB0aGUgcHJlZmVycmVkIGxvY2F0aW9uKHMpIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGFjdHVhbGx5IGhhcHBlbi4gRS5nLiBhdCBob21lIG9yIG51cnNpbmcgZGF5IGNhcmUgY2VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHByb2NlZHVyZSBvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZCBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uICAgVGhpcyBpcyBvZnRlbiBmb3IgYmlsbGluZyBwdXJwb3Nlcy4gIE1heSByZWxhdGUgdG8gdGhlIHJlc291cmNlcyByZWZlcnJlZCB0byBpbiBgc3VwcG9ydGluZ0luZm9gLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHJlcHJlc2VudHMgd2h5IHRoZSByZWZlcnJhbCBpcyBiZWluZyBtYWRlIGFuZCBtYXkgYmUgdXNlZCB0byBkZWNpZGUgaG93IHRoZSBzZXJ2aWNlIHdpbGwgYmUgcGVyZm9ybWVkLCBvciBldmVuIGlmIGl0IHdpbGwgYmUgcGVyZm9ybWVkIGF0IGFsbC4gICBVc2UgYENvZGVhYmxlQ29uY2VwdC50ZXh0YCBlbGVtZW50IGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQgYXMgc2hvd24gaW4gdGhlIFtDVCBTY2FuIGV4YW1wbGVdKHNlcnZpY2VyZXF1ZXN0LWV4YW1wbGUtZGkuaHRtbCkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHByb2NlZHVyZSBvciBzZXJ2aWNlIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHNlcnZpY2Ugb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2UgdGhhdCBwcm92aWRlcyBhIGp1c3RpZmljYXRpb24gZm9yIHdoeSB0aGlzIHNlcnZpY2UgaXMgYmVpbmcgcmVxdWVzdGVkLiAgIE1heSByZWxhdGUgdG8gdGhlIHJlc291cmNlcyByZWZlcnJlZCB0byBpbiBgc3VwcG9ydGluZ0luZm9gLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHJlcHJlc2VudHMgd2h5IHRoZSByZWZlcnJhbCBpcyBiZWluZyBtYWRlIGFuZCBtYXkgYmUgdXNlZCB0byBkZWNpZGUgaG93IHRoZSBzZXJ2aWNlIHdpbGwgYmUgcGVyZm9ybWVkLCBvciBldmVuIGlmIGl0IHdpbGwgYmUgcGVyZm9ybWVkIGF0IGFsbC4gICAgVG8gYmUgYXMgc3BlY2lmaWMgYXMgcG9zc2libGUsICBhIHJlZmVyZW5jZSB0byAgKk9ic2VydmF0aW9uKiBvciAqQ29uZGl0aW9uKiBzaG91bGQgYmUgdXNlZCBpZiBhdmFpbGFibGUuICBPdGhlcndpc2Ugd2hlbiByZWZlcmVuY2luZyAgKkRpYWdub3N0aWNSZXBvcnQqICBpdCBzaG91bGQgY29udGFpbiBhIGZpbmRpbmcgIGluIGBEaWFnbm9zdGljUmVwb3J0LmNvbmNsdXNpb25gIGFuZC9vciBgRGlhZ25vc3RpY1JlcG9ydC5jb25jbHVzaW9uQ29kZWAuICAgV2hlbiB1c2luZyBhIHJlZmVyZW5jZSB0byAqRG9jdW1lbnRSZWZlcmVuY2UqLCB0aGUgdGFyZ2V0IGRvY3VtZW50IHNob3VsZCBjb250YWluIGNsZWFyIGZpbmRpbmdzIGxhbmd1YWdlIHByb3ZpZGluZyB0aGUgcmVsZXZhbnQgcmVhc29uIGZvciB0aGlzIHNlcnZpY2UgcmVxdWVzdC4gIFVzZSAgdGhlIENvZGVhYmxlQ29uY2VwdCB0ZXh0IGVsZW1lbnQgaW4gYFNlcnZpY2VSZXF1ZXN0LnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQgYXMgc2hvd24gaW4gdGhlIFtDVCBTY2FuIGV4YW1wbGVdKHNlcnZpY2VyZXF1ZXN0LWV4YW1wbGUtZGkuaHRtbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgbmVlZGVkIGZvciBkZWxpdmVyaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGF0aWVudCBvciBzcGVjaW1lbiB0aGF0IG1heSBpbmZsdWVuY2UgdGhlIHNlcnZpY2VzIG9yIHRoZWlyIGludGVycHJldGF0aW9ucy4gICAgIFRoaXMgaW5mb3JtYXRpb24gaW5jbHVkZXMgZGlhZ25vc2lzLCBjbGluaWNhbCBmaW5kaW5ncyBhbmQgb3RoZXIgb2JzZXJ2YXRpb25zLiAgSW4gbGFib3JhdG9yeSBvcmRlcmluZyB0aGVzZSBhcmUgdHlwaWNhbGx5IHJlZmVycmVkIHRvIGFzICZxdW90O2FzayBhdCBvcmRlciBlbnRyeSBxdWVzdGlvbnMgKEFPRXMpJnF1b3Q7LiAgVGhpcyBpbmNsdWRlcyBvYnNlcnZhdGlvbnMgZXhwbGljaXRseSByZXF1ZXN0ZWQgYnkgdGhlIHByb2R1Y2VyIChmaWxsZXIpIHRvIHByb3ZpZGUgY29udGV4dCBvciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjb21wbGV0ZSB0aGUgb3JkZXIuIEZvciBleGFtcGxlLCAgcmVwb3J0aW5nIHRoZSBhbW91bnQgb2YgaW5zcGlyZWQgb3h5Z2VuIGZvciBibG9vZCBnYXMgbWVhc3VyZW1lbnRzLiIgY29tbWVudD0iVG8gcmVwcmVzZW50IGluZm9ybWF0aW9uIGFib3V0IGhvdyB0aGUgc2VydmljZXMgYXJlIHRvIGJlIGRlbGl2ZXJlZCB1c2UgdGhlIGBpbnN0cnVjdGlvbnNgIGVsZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlByb2NlZHVyZSBTYW1wbGVzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBzcGVjaW1lbnMgdGhhdCB0aGUgbGFib3JhdG9yeSBwcm9jZWR1cmUgd2lsbCB1c2UuIiBjb21tZW50PSJNYW55IGRpYWdub3N0aWMgcHJvY2VkdXJlcyBuZWVkIGEgc3BlY2ltZW4sIGJ1dCB0aGUgcmVxdWVzdCBpdHNlbGYgaXMgbm90IGFjdHVhbGx5IGFib3V0IHRoZSBzcGVjaW1lbi4gVGhpcyBlbGVtZW50IGlzIGZvciB3aGVuIHRoZSBkaWFnbm9zdGljIGlzIHJlcXVlc3RlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIHNwZWNpbWVucyBhbmQgdGhlIHJlcXVlc3QgcG9pbnRzIHRvIHRoZSBzcGVjaW1lbiBpdCBhcHBsaWVzIHRvLiAgICBDb252ZXJzZWx5LCBpZiB0aGUgcmVxdWVzdCBpcyBlbnRlcmVkIGZpcnN0IHdpdGggYW4gdW5rbm93biBzcGVjaW1lbiwgdGhlbiB0aGUgW1NwZWNpbWVuXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3NwZWNpbWVuLmh0bWwpIHJlc291cmNlIHBvaW50cyB0byB0aGUgU2VydmljZVJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkxvY2F0aW9uIG9uIEJvZHkiIGRlZmluaXRpb249IkFuYXRvbWljIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGJlIHBlcmZvcm1lZC4gVGhpcyBpcyB0aGUgdGFyZ2V0IHNpdGUuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIHRoZSBjb2RlIGZvdW5kIGluIFNlcnZpY2VSZXF1ZXN0LmNvZGUuICBJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvZGVkIGVsZW1lbnQgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpICB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtwcm9jZWR1cmUtdGFyZ2V0Qm9keVN0cnVjdHVyZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmUuaHRtbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQW5hdG9taWMgbG9jYXRpb24gd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHRoZSB0YXJnZXQgc2l0ZSIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyIgZGVmaW5pdGlvbj0iQW55IG90aGVyIG5vdGVzIGFuZCBjb21tZW50cyBtYWRlIGFib3V0IHRoZSBzZXJ2aWNlIHJlcXVlc3QuIEZvciBleGFtcGxlLCBpbnRlcm5hbCBiaWxsaW5nIG5vdGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnRJbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvciBjb25zdW1lci1vcmllbnRlZCBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249Ikluc3RydWN0aW9ucyBpbiB0ZXJtcyB0aGF0IGFyZSB1bmRlcnN0b29kIGJ5IHRoZSBwYXRpZW50IG9yIGNvbnN1bWVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IHByb3ZlbmFuY2UiIGRlZmluaXRpb249IktleSBldmVudHMgaW4gdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4mI3hkO1RoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gIChJZiB0aGF0IHByb3ZlbmFuY2UgaXMgZGVlbWVkIHRvIGJlIGEg4oCccmVsZXZhbnTigJ0gY2hhbmdlLCBpdCB3aWxsIG5lZWQgdG8gYmUgYWRkZWQgYXMgcGFydCBvZiBhIGxhdGVyIHVwZGF0ZS4gIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSYjeGQ7QWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdEFwcHJvcHJpYXRlbmVzc1Njb3JlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1zZXJ2aWNlcmVxdWVzdC1hcHByb3ByaWF0ZW5lc3NTY29yZSIgbGFiZWw9IlFJQ29yZSBBcHByb3ByaWF0ZW5lc3MgU2NvcmUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdEludGVudCIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTaWduYXR1cmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9TaWduYXR1cmUiIGxhYmVsPSJTaWduYXR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIG9mIHRoZSByZWFzb24gdGhlIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdChzKSIgZGVmaW5pdGlvbj0iQW4gaW5kaWNhdGlvbiBvZiB0aGUgcmVhc29uIHRoYXQgdGhlIGVudGl0eSBzaWduZWQgdGhpcyBkb2N1bWVudC4gVGhpcyBtYXkgYmUgZXhwbGljaXRseSBpbmNsdWRlZCBhcyBwYXJ0IG9mIHRoZSBzaWduYXR1cmUgaW5mb3JtYXRpb24gYW5kIGNhbiBiZSB1c2VkIHdoZW4gZGV0ZXJtaW5pbmcgYWNjb3VudGFiaWxpdHkgZm9yIHZhcmlvdXMgYWN0aW9ucyBjb25jZXJuaW5nIHRoZSBkb2N1bWVudC4iIGNvbW1lbnQ9IkV4YW1wbGVzIGluY2x1ZGUgYXR0ZXN0aW5nIHRvOiBhdXRob3JzaGlwLCBjb3JyZWN0IHRyYW5zY3JpcHRpb24sIGFuZCB3aXRuZXNzIG9mIHNwZWNpZmljIGV2ZW50LiBBbHNvIGtub3duIGFzIGEgJmFtcDtxdW90O0NvbW1pdG1lbnQgVHlwZSBJbmRpY2F0aW9uJmFtcDtxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2lnbmF0dXJlVHlwZSIgZGVzY3JpcHRpb249IkFuIGluZGljYXRpb24gb2YgdGhlIHJlYXNvbiB0aGF0IGFuIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHNpZ25hdHVyZSB3YXMgY3JlYXRlZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgZGlnaXRhbCBzaWduYXR1cmUgd2FzIHNpZ25lZC4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIGFncmVlIHdpdGggdGhlIGluZm9ybWF0aW9uIGluIHRoZSBzaWduYXR1cmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9IndobyIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gc2lnbmVkIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBhcHBsaWNhdGlvbi11c2FibGUgZGVzY3JpcHRpb24gb2YgdGhlIGlkZW50aXR5IHRoYXQgc2lnbmVkICAoZS5nLiB0aGUgc2lnbmF0dXJlIHVzZWQgdGhlaXIgcHJpdmF0ZSBrZXkpLiIgY29tbWVudD0iVGhpcyBzaG91bGQgYWdyZWUgd2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHNpZ25hdHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25CZWhhbGZPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGFydHkgcmVwcmVzZW50ZWQiIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGFuIGFwcGxpY2F0aW9uLXVzYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgaWRlbnRpdHkgdGhhdCBpcyByZXByZXNlbnRlZCBieSB0aGUgc2lnbmF0dXJlLiIgY29tbWVudD0iVGhlIHBhcnR5IHRoYXQgY2FuJ3Qgc2lnbi4gRm9yIGV4YW1wbGUgYSBjaGlsZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGFyZ2V0Rm9ybWF0IiBlbGVtZW50VHlwZT0iUUlDb3JlLk1pbWVUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB0ZWNobmljYWwgZm9ybWF0IG9mIHRoZSBzaWduZWQgcmVzb3VyY2VzIiBkZWZpbml0aW9uPSJBIG1pbWUgdHlwZSB0aGF0IGluZGljYXRlcyB0aGUgdGVjaG5pY2FsIGZvcm1hdCBvZiB0aGUgdGFyZ2V0IHJlc291cmNlcyBzaWduZWQgYnkgdGhlIHNpZ25hdHVyZS4iIGNvbW1lbnQ9IiZxdW90O3htbCZxdW90OywgJnF1b3Q7anNvbiZxdW90OyBhbmQgJnF1b3Q7dHRsJnF1b3Q7IGFyZSBhbGxvd2VkLCB3aGljaCBkZXNjcmliZSB0aGUgc2ltcGxlIGVuY29kaW5ncyBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24gKGFuZCBpbXBseSBhcHByb3ByaWF0ZSBidW5kbGUgc3VwcG9ydCkuIE90aGVyd2lzZSwgbWltZSB0eXBlcyBhcmUgbGVnYWwgaGVyZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2lnRm9ybWF0IiBlbGVtZW50VHlwZT0iUUlDb3JlLk1pbWVUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB0ZWNobmljYWwgZm9ybWF0IG9mIHRoZSBzaWduYXR1cmUiIGRlZmluaXRpb249IkEgbWltZSB0eXBlIHRoYXQgaW5kaWNhdGVzIHRoZSB0ZWNobmljYWwgZm9ybWF0IG9mIHRoZSBzaWduYXR1cmUuIEltcG9ydGFudCBtaW1lIHR5cGVzIGFyZSBhcHBsaWNhdGlvbi9zaWduYXR1cmUreG1sIGZvciBYIE1MIERpZ1NpZywgYXBwbGljYXRpb24vam9zZSBmb3IgSldTLCBhbmQgaW1hZ2UvKiBmb3IgYSBncmFwaGljYWwgaW1hZ2Ugb2YgYSBzaWduYXR1cmUsIGV0Yy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBzaWduYXR1cmUgY29udGVudCAoWE1MIERpZ1NpZy4gSldTLCBwaWN0dXJlLCBldGMuKSIgZGVmaW5pdGlvbj0iVGhlIGJhc2U2NCBlbmNvZGluZyBvZiB0aGUgU2lnbmF0dXJlIGNvbnRlbnQuIFdoZW4gc2lnbmF0dXJlIGlzIG5vdCByZWNvcmRlZCBlbGVjdHJvbmljYWxseSB0aGlzIGVsZW1lbnQgd291bGQgYmUgZW1wdHkuIiBjb21tZW50PSJXaGVyZSB0aGUgc2lnbmF0dXJlIHR5cGUgaXMgYW4gWE1MIERpZ1NpZywgdGhlIHNpZ25lZCBjb250ZW50IGlzIGEgRkhJUiBSZXNvdXJjZShzKSwgdGhlIHNpZ25hdHVyZSBpcyBvZiB0aGUgWE1MIGZvcm0gb2YgdGhlIFJlc291cmNlKHMpIHVzaW5nICBYTUwtU2lnbmF0dXJlIChYTUxESUcpICZxdW90O0RldGFjaGVkIFNpZ25hdHVyZSZxdW90OyBmb3JtLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTb3J0RGlyZWN0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtc3BlY2ltZW4iIGxhYmVsPSJRSUNvcmUgU3BlY2ltZW4iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InR5cGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWQgZm9yIHNwZWNpbWVuLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjY2Vzc2lvbklkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgYXNzaWduZWQgYnkgdGhlIGxhYiIgZGVmaW5pdGlvbj0iVGhlIGlkZW50aWZpZXIgYXNzaWduZWQgYnkgdGhlIGxhYiB3aGVuIGFjY2Vzc2lvbmluZyBzcGVjaW1lbihzKS4gVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgYXMgdGhlIHNwZWNpbWVuIGlkZW50aWZpZXIsIGRlcGVuZGluZyBvbiBsb2NhbCBsYWIgcHJvY2VkdXJlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImF2YWlsYWJsZSB8IHVuYXZhaWxhYmxlIHwgdW5zYXRpc2ZhY3RvcnkgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBzcGVjaW1lbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzL2F2YWlsYWJpbGl0eSBvZiBhIHNwZWNpbWVuLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBtYXRlcmlhbCB0aGF0IGZvcm1zIHRoZSBzcGVjaW1lbiIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgbWF0ZXJpYWwgdGhhdCBmb3JtcyB0aGUgc3BlY2ltZW4uIiBjb21tZW50PSJUaGUgdHlwZSBjYW4gY2hhbmdlIHRoZSB3YXkgdGhhdCBhIHNwZWNpbWVuIGlzIGhhbmRsZWQgYW5kIGRyaXZlcyB3aGF0IGtpbmQgb2YgYW5hbHlzZXMgY2FuIHByb3Blcmx5IGJlIHBlcmZvcm1lZCBvbiB0aGUgc3BlY2ltZW4uIEl0IGlzIGZyZXF1ZW50bHkgdXNlZCBpbiBkaWFnbm9zdGljIHdvcmsgZmxvdyBkZWNpc2lvbiBtYWtpbmcgc3lzdGVtcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIG1hdGVyaWFsIHRoYXQgZm9ybXMgdGhlIHNwZWNpbWVuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgc3BlY2ltZW4gY2FtZSBmcm9tLiBUaGlzIG1heSBiZSBmcm9tIHBhdGllbnQocyksIGZyb20gYSBsb2NhdGlvbiAoZS5nLiwgdGhlIHNvdXJjZSBvZiBhbiBlbnZpcm9ubWVudGFsIHNhbXBsZSksIG9yIGEgc2FtcGxpbmcgb2YgYSBzdWJzdGFuY2Ugb3IgYSBkZXZpY2UiIGRlZmluaXRpb249IldoZXJlIHRoZSBzcGVjaW1lbiBjYW1lIGZyb20uIFRoaXMgbWF5IGJlIGZyb20gcGF0aWVudChzKSwgZnJvbSBhIGxvY2F0aW9uIChlLmcuLCB0aGUgc291cmNlIG9mIGFuIGVudmlyb25tZW50YWwgc2FtcGxlKSwgb3IgYSBzYW1wbGluZyBvZiBhIHN1YnN0YW5jZSBvciBhIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyBvciB0ZXN0aW5nLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFyZW50IiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gZnJvbSB3aGljaCB0aGlzIHNwZWNpbWVuIG9yaWdpbmF0ZWQiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgcGFyZW50IChzb3VyY2UpIHNwZWNpbWVuIHdoaWNoIGlzIHVzZWQgd2hlbiB0aGUgc3BlY2ltZW4gd2FzIGVpdGhlciBkZXJpdmVkIGZyb20gb3IgYSBjb21wb25lbnQgb2YgYW5vdGhlciBzcGVjaW1lbi4iIGNvbW1lbnQ9IlRoZSBwYXJlbnQgc3BlY2ltZW4gY291bGQgYmUgdGhlIHNvdXJjZSBmcm9tIHdoaWNoIHRoZSBjdXJyZW50IHNwZWNpbWVuIGlzIGRlcml2ZWQgYnkgc29tZSBwcm9jZXNzaW5nIHN0ZXAgKGUuZy4gYW4gYWxpcXVvdCBvciBpc29sYXRlIG9yIGV4dHJhY3RlZCBudWNsZWljIGFjaWRzIGZyb20gY2xpbmljYWwgc2FtcGxlcykgb3Igb25lIG9mIG1hbnkgc3BlY2ltZW5zIHRoYXQgd2VyZSBjb21iaW5lZCB0byBjcmVhdGUgYSBwb29sZWQgc2FtcGxlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2h5IHRoZSBzcGVjaW1lbiB3YXMgY29sbGVjdGVkIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgYSBzZXJ2aWNlIHJlcXVlc3QgdGhhdCByZXF1aXJlZCBhIHNwZWNpbWVuIHRvIGJlIGNvbGxlY3RlZC4iIGNvbW1lbnQ9IlRoZSByZXF1ZXN0IG1heSBiZSBleHBsaWNpdCBvciBpbXBsaWVkIHN1Y2ggd2l0aCBhIFNlcnZpY2VSZXF1ZXN0IHRoYXQgcmVxdWlyZXMgYSBibG9vZCBkcmF3LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5TcGVjaW1lbi5Db2xsZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29sbGVjdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgdGhlIHNwZWNpbWVuIGNvbGxlY3Rpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2Vzc2luZyIgZGVzY3JpcHRpb249IlByb2Nlc3NpbmcgYW5kIHByb2Nlc3Npbmcgc3RlcCBkZXRhaWxzIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgcHJvY2Vzc2luZyBhbmQgcHJvY2Vzc2luZyBzdGVwcyBmb3IgdGhlIHNwZWNpbWVuLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3BlY2ltZW4uUHJvY2Vzc2luZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFpbmVyIiBkZXNjcmlwdGlvbj0iRGlyZWN0IGNvbnRhaW5lciBvZiBzcGVjaW1lbiAodHViZS9zbGlkZSwgZXRjLikiIGRlZmluaXRpb249IlRoZSBjb250YWluZXIgaG9sZGluZyB0aGUgc3BlY2ltZW4uICBUaGUgcmVjdXJzaXZlIG5hdHVyZSBvZiBjb250YWluZXJzOyBpLmUuIGJsb29kIGluIHR1YmUgaW4gdHJheSBpbiByYWNrIGlzIG5vdCBhZGRyZXNzZWQgaGVyZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuLkNvbnRhaW5lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhdGUgb2YgdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJBIG1vZGUgb3Igc3RhdGUgb2YgYmVpbmcgdGhhdCBkZXNjcmliZXMgdGhlIG5hdHVyZSBvZiB0aGUgc3BlY2ltZW4uIiBjb21tZW50PSJTcGVjaW1lbiBjb25kaXRpb24gaXMgYW4gb2JzZXJ2YXRpb24gbWFkZSBhYm91dCB0aGUgc3BlY2ltZW4uICBJdCdzIGEgcG9pbnQtaW4tdGltZSBhc3Nlc3NtZW50LiAgSXQgY2FuIGJlIHVzZWQgdG8gYXNzZXNzIGl0cyBxdWFsaXR5IG9yIGFwcHJvcHJpYXRlbmVzcyBmb3IgYSBzcGVjaWZpYyB0ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lbkNvbmRpdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHN0YXRlIG9mIHRoZSBzcGVjaW1lbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIiBkZWZpbml0aW9uPSJUbyBjb21tdW5pY2F0ZSBhbnkgZGV0YWlscyBvciBpc3N1ZXMgYWJvdXQgdGhlIHNwZWNpbWVuIG9yIGR1cmluZyB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbi4gKGZvciBleGFtcGxlOiBicm9rZW4gdmlhbCwgc2VudCB3aXRoIHBhdGllbnQsIGZyb3plbikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iY29sbGVjdG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3BlY2ltZW4uQ29sbGVjdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJQZXJzb24gd2hvIGNvbGxlY3RlZCB0aGUgc3BlY2ltZW4uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbGxlY3Rpb24gdGltZSIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyBjb2xsZWN0ZWQgZnJvbSBzdWJqZWN0IC0gdGhlIHBoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyBpdCB0b29rIHRvIGNvbGxlY3Qgc3BlY2ltZW4iIGRlZmluaXRpb249IlRoZSBzcGFuIG9mIHRpbWUgb3ZlciB3aGljaCB0aGUgY29sbGVjdGlvbiBvZiBhIHNwZWNpbWVuIG9jY3VycmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gY29sbGVjdGVkIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gY29sbGVjdGVkOyBmb3IgaW5zdGFuY2UgdGhlIHZvbHVtZSBvZiBhIGJsb29kIHNhbXBsZSwgb3IgdGhlIHBoeXNpY2FsIG1lYXN1cmVtZW50IG9mIGFuIGFuYXRvbWljIHBhdGhvbG9neSBzYW1wbGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGVjaG5pcXVlIHVzZWQgdG8gcGVyZm9ybSBjb2xsZWN0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHRlY2huaXF1ZSB0aGF0IGlzIHVzZWQgdG8gcGVyZm9ybSB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuQ29sbGVjdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IlRoZSAgdGVjaG5pcXVlIHRoYXQgaXMgdXNlZCB0byBwZXJmb3JtIHRoZSBwcm9jZWR1cmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGNvbGxlY3Rpb24gc2l0ZSIgZGVmaW5pdGlvbj0iQW5hdG9taWNhbCBsb2NhdGlvbiBmcm9tIHdoaWNoIHRoZSBzcGVjaW1lbiB3YXMgY29sbGVjdGVkIChpZiBzdWJqZWN0IGlzIGEgcGF0aWVudCkuIFRoaXMgaXMgdGhlIHRhcmdldCBzaXRlLiAgVGhpcyBlbGVtZW50IGlzIG5vdCB1c2VkIGZvciBlbnZpcm9ubWVudGFsIHNwZWNpbWVucy4iIGNvbW1lbnQ9IklmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyAgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvZGVkIGVsZW1lbnQgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpICB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uIGZyb20gd2hpY2ggdGhlIHNwZWNpbWVuIHdhcyBjb2xsZWN0ZWQgKGlmIHN1YmplY3QgaXMgYSBwYXRpZW50KS4gVGhpcyBpcyB0aGUgdGFyZ2V0IHNpdGUuIFRoaXMgZWxlbWVudCBpcyBub3QgdXNlZCBmb3IgZW52aXJvbm1lbnRhbCBzcGVjaW1lbnMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZmFzdGluZ1N0YXR1cyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIG9yIGhvdyBsb25nIHBhdGllbnQgYWJzdGFpbmVkIGZyb20gZm9vZCBhbmQvb3IgZHJpbmsiIGRlZmluaXRpb249IkFic3RpbmVuY2Ugb3IgcmVkdWN0aW9uIGZyb20gc29tZSBvciBhbGwgZm9vZCwgZHJpbmssIG9yIGJvdGgsIGZvciBhIHBlcmlvZCBvZiB0aW1lIHByaW9yIHRvIHNhbXBsZSBjb2xsZWN0aW9uLiIgY29tbWVudD0iUmVwcmVzZW50aW5nIGZhc3Rpbmcgc3RhdHVzIHVzaW5nIHRoaXMgZWxlbWVudCBpcyBwcmVmZXJyZWQgdG8gcmVwcmVzZW50aW5nIGl0IHdpdGggYW4gb2JzZXJ2YXRpb24gdXNpbmcgYSAncHJlLWNvb3JkaW5hdGVkIGNvZGUnICBzdWNoIGFzICBMT0lOQyAyMDA1LTcgKENhbGNpdW0gW01vbGVzL+KAi3RpbWVdIGluIDIgaG91ciBVcmluZSAtLTEyIGhvdXJzIGZhc3RpbmcpLCBvciAgdXNpbmcgIGEgY29tcG9uZW50IG9ic2VydmF0aW9uIGAgc3VjaCBhcyBgT2JzZXJ2YXRpb24uY29tcG9uZW50IGNvZGVgICA9IExPSU5DIDQ5NTQxLTYgKEZhc3Rpbmcgc3RhdHVzIC0gUmVwb3J0ZWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFzdGluZ1N0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIGZhc3Rpbmcgc3RhdHVzIG9mIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbi5Db250YWluZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZCBmb3IgdGhlIGNvbnRhaW5lciIgZGVmaW5pdGlvbj0iSWQgZm9yIGNvbnRhaW5lci4gVGhlcmUgbWF5IGJlIG11bHRpcGxlOyBhIG1hbnVmYWN0dXJlcidzIGJhciBjb2RlLCBsYWIgYXNzaWduZWQgaWRlbnRpZmllciwgZXRjLiBUaGUgY29udGFpbmVyIElEIG1heSBkaWZmZXIgZnJvbSB0aGUgc3BlY2ltZW4gaWQgaW4gc29tZSBjaXJjdW1zdGFuY2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHRoZSBjb250YWluZXIiIGRlZmluaXRpb249IlRleHR1YWwgZGVzY3JpcHRpb24gb2YgdGhlIGNvbnRhaW5lci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBjb250YWluZXIgZGlyZWN0bHkgYXNzb2NpYXRlZCB3aXRoIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb250YWluZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaW1lbiAoZS5nLiBzbGlkZSwgYWxpcXVvdCwgZXRjLikuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3BlY2ltZW5Db250YWluZXJUeXBlIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBzcGVjaW1lbiBjb250YWluZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhcGFjaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbnRhaW5lciB2b2x1bWUgb3Igc2l6ZSIgZGVmaW5pdGlvbj0iVGhlIGNhcGFjaXR5ICh2b2x1bWUgb3Igb3RoZXIgbWVhc3VyZSkgdGhlIGNvbnRhaW5lciBtYXkgY29udGFpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW5RdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiBzcGVjaW1lbiB3aXRoaW4gY29udGFpbmVyIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gaW4gdGhlIGNvbnRhaW5lcjsgbWF5IGJlIHZvbHVtZSwgZGltZW5zaW9ucywgb3Igb3RoZXIgYXBwcm9wcmlhdGUgbWVhc3VyZW1lbnRzLCBkZXBlbmRpbmcgb24gdGhlIHNwZWNpbWVuIHR5cGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZGl0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFkZGl0aXZlIGFzc29jaWF0ZWQgd2l0aCBjb250YWluZXIiIGRlZmluaXRpb249IkludHJvZHVjZWQgc3Vic3RhbmNlIHRvIHByZXNlcnZlLCBtYWludGFpbiBvciBlbmhhbmNlIHRoZSBzcGVjaW1lbi4gRXhhbXBsZXM6IEZvcm1hbGluLCBDaXRyYXRlLCBFRFRBLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3BlY2ltZW5Db250YWluZXJBZGRpdGl2ZSIgZGVzY3JpcHRpb249IlN1YnN0YW5jZSBhZGRlZCB0byBzcGVjaW1lbiBjb250YWluZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhaW5lci1zZXF1ZW5jZU51bWJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5zZXF1ZW5jZU51bWJlciIgdGFyZ2V0PSIlcGFyZW50LmNvbnRhaW5lci5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vc3BlY2ltZW4tc2VxdWVuY2VOdW1iZXInXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIHNhbXBsZSIgZGVmaW5pdGlvbj0iQW4gYXNzaWduZWQgbnVtYmVyIG9uIHRoZSBzcGVjaW1lbiBkZW5vdGluZyB0aGUgb3JkZXIgb2YgY29sbGVjdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbi5Qcm9jZXNzaW5nIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRleHR1YWwgZGVzY3JpcHRpb24gb2YgcHJvY2VkdXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHJlYXRtZW50IHN0ZXAgIGFwcGxpZWQgdG8gdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHByb2NlZHVyZSB1c2VkIHRvIHByb2Nlc3MgdGhlIHNwZWNpbWVuLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlZCB2YWx1ZSBzcGVjaWZ5aW5nIHRoZSBwcm9jZWR1cmUgdXNlZCB0byBwcm9jZXNzIHRoZSBzcGVjaW1lbi4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRpdGl2ZSIgZGVzY3JpcHRpb249Ik1hdGVyaWFsIHVzZWQgaW4gdGhlIHByb2Nlc3Npbmcgc3RlcCIgZGVmaW5pdGlvbj0iTWF0ZXJpYWwgdXNlZCBpbiB0aGUgcHJvY2Vzc2luZyBzdGVwLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1lIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgb2Ygc3BlY2ltZW4gcHJvY2Vzc2luZyIgZGVmaW5pdGlvbj0iQSByZWNvcmQgb2YgdGhlIHRpbWUgb3IgcGVyaW9kIHdoZW4gdGhlIHNwZWNpbWVuIHByb2Nlc3Npbmcgb2NjdXJyZWQuICBGb3IgZXhhbXBsZSB0aGUgdGltZSBvZiBzYW1wbGUgZml4YXRpb24gb3IgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSBzYW1wbGUgd2FzIGluIGZvcm1hbGluLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNwZWNpbWVuU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXN1YnN0YW5jZSIgbGFiZWw9IlFJQ29yZSBTdWJzdGFuY2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3Vic3RhbmNlLiIgY29tbWVudD0iVGhpcyBpZGVudGlmaWVyIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUga2luZCBvZiBzdWJzdGFuY2UgaW4gY29udHJhc3QgdG8gdGhlICBTdWJzdGFuY2UuaW5zdGFuY2UuaWRlbnRpZmllciB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBhY2thZ2UvY29udGFpbmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5GSElSU3Vic3RhbmNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGluYWN0aXZlIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIGlmIHRoZSBzdWJzdGFuY2UgaXMgYWN0aXZlbHkgdXNlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSU3Vic3RhbmNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIGlmIHRoZSBzdWJzdGFuY2UgaXMgYWN0aXZlbHkgdXNlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCBjbGFzcy90eXBlIG9mIHN1YnN0YW5jZSB0aGlzIGlzIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygc3Vic3RhbmNlLiAgVGhpcyBpcyB1c2VkICBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuICAgTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gU3Vic3RhbmNlLmNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN1YnN0YW5jZUNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb3IgY2xhc3NpZmljYXRpb24gb2Ygc3Vic3RhbmNlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IHN1YnN0YW5jZSB0aGlzIGlzIiBkZWZpbml0aW9uPSJBIGNvZGUgKG9yIHNldCBvZiBjb2RlcykgdGhhdCBpZGVudGlmeSB0aGlzIHN1YnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWxseSBkZWZpbmVkIGNvZGUuICBJdCBjb3VsZCBhbHNvIGJlIGEgbG9jYWxseSBhc3NpZ25lZCBjb2RlIChlLmcuIGEgZm9ybXVsYXJ5KSwgIG9wdGlvbmFsbHkgd2l0aCB0cmFuc2xhdGlvbnMgdG8gdGhlIHN0YW5kYXJkIGRydWcgY29kZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJTdWJzdGFuY2UgY29kZXMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBjb21tZW50cyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlIC0gaXRzIGFwcGVhcmFuY2UsIGhhbmRsaW5nIHJlcXVpcmVtZW50cywgYW5kIG90aGVyIHVzYWdlIG5vdGVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW5jZSIgZGVzY3JpcHRpb249IklmIHRoaXMgZGVzY3JpYmVzIGEgc3BlY2lmaWMgcGFja2FnZS9jb250YWluZXIgb2YgdGhlIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iU3Vic3RhbmNlIG1heSBiZSB1c2VkIHRvIGRlc2NyaWJlIGEga2luZCBvZiBzdWJzdGFuY2UsIG9yIGEgc3BlY2lmaWMgcGFja2FnZS9jb250YWluZXIgb2YgdGhlIHN1YnN0YW5jZTogYW4gaW5zdGFuY2UuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdWJzdGFuY2UuSW5zdGFuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImluZ3JlZGllbnQiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJBIHN1YnN0YW5jZSBjYW4gYmUgY29tcG9zZWQgb2Ygb3RoZXIgc3Vic3RhbmNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlN1YnN0YW5jZS5JbmdyZWRpZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5ncmVkaWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUmF0aW8iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9SYXRpbygldmFsdWUpIiBkZXNjcmlwdGlvbj0iT3B0aW9uYWwgYW1vdW50IChjb25jZW50cmF0aW9uKSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiB0aGUgaW5ncmVkaWVudCBpbiB0aGUgc3Vic3RhbmNlIC0gYSBjb25jZW50cmF0aW9uIHJhdGlvLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RhbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkEgY29tcG9uZW50IG9mIHRoZSBzdWJzdGFuY2UiIGRlZmluaXRpb249IkFub3RoZXIgc3Vic3RhbmNlIHRoYXQgaXMgYSBjb21wb25lbnQgb2YgdGhpcyBzdWJzdGFuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5zdGFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgb2YgdGhlIHBhY2thZ2UvY29udGFpbmVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGFja2FnZS9jb250YWluZXIgKHVzdWFsbHkgYSBsYWJlbCBhZmZpeGVkIGRpcmVjdGx5KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJ5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gbm8gbG9uZ2VyIHZhbGlkIHRvIHVzZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgc3Vic3RhbmNlIGlzIG5vIGxvbmdlciB2YWxpZCB0byB1c2UuIEZvciBzb21lIHN1YnN0YW5jZXMsIGEgc2luZ2xlIGFyYml0cmFyeSBkYXRlIGlzIHVzZWQgZm9yIGV4cGlyeS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIHN1YnN0YW5jZSBpbiB0aGUgcGFja2FnZSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiB0aGUgc3Vic3RhbmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS10YXNrIiBsYWJlbD0iUUlDb3JlIFRhc2siIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVGFzayBJbnN0YW5jZSBJZGVudGlmaWVyIiBkZWZpbml0aW9uPSJUaGUgYnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyB0YXNrLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm1hbCBkZWZpbml0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSAqRkhJUiotZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuICpleHRlcm5hbGx5KiBtYWludGFpbmVkICBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgdGFzayIgZGVmaW5pdGlvbj0iQmFzZWRPbiByZWZlcnMgdG8gYSBoaWdoZXItbGV2ZWwgYXV0aG9yaXphdGlvbiB0aGF0IHRyaWdnZXJlZCB0aGUgY3JlYXRpb24gb2YgdGhlIHRhc2suICBJdCByZWZlcmVuY2VzIGEgJnF1b3Q7cmVxdWVzdCZxdW90OyByZXNvdXJjZSBzdWNoIGFzIGEgU2VydmljZVJlcXVlc3QsIE1lZGljYXRpb25SZXF1ZXN0LCBTZXJ2aWNlUmVxdWVzdCwgQ2FyZVBsYW4sIGV0Yy4gd2hpY2ggaXMgZGlzdGluY3QgZnJvbSB0aGUgJnF1b3Q7cmVxdWVzdCZxdW90OyByZXNvdXJjZSB0aGUgdGFzayBpcyBzZWVraW5nIHRvIGZ1bGZpbGwuICBUaGlzIGxhdHRlciByZXNvdXJjZSBpcyByZWZlcmVuY2VkIGJ5IEZvY3VzT24uICBGb3IgZXhhbXBsZSwgYmFzZWQgb24gYSBTZXJ2aWNlUmVxdWVzdCAoPSBCYXNlZE9uKSwgYSB0YXNrIGlzIGNyZWF0ZWQgdG8gZnVsZmlsbCBhIHByb2NlZHVyZVJlcXVlc3QgKCA9IEZvY3VzT24gKSB0byBjb2xsZWN0IGEgc3BlY2ltZW4gZnJvbSBhIHBhdGllbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlJlcXVpc2l0aW9uIG9yIGdyb3VwZXIgaWQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBsaW5rcyB0b2dldGhlciBtdWx0aXBsZSB0YXNrcyBhbmQgb3RoZXIgcmVxdWVzdHMgdGhhdCB3ZXJlIGNyZWF0ZWQgaW4gdGhlIHNhbWUgY29udGV4dC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iQ29tcG9zaXRlIHRhc2siIGRlZmluaXRpb249IlRhc2sgdGhhdCB0aGlzIHBhcnRpY3VsYXIgdGFzayBpcyBwYXJ0IG9mLiIgY29tbWVudD0iVGhpcyBzaG91bGQgdXN1YWxseSBiZSAwLi4xLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2tTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRHJhZnTigIsgfCBSZXF1ZXN0ZWTigIsgfCBSZWNlaXZlZOKAiyB8IEFjY2VwdGVk4oCLIHwgUmVhZHnigIsgfCBDYW5jZWxsZWTigIsgfCBJbi1wcm9ncmVzc+KAiyB8IE9uLWhvbGTigIsgfCBGYWlsZWTigIsgfCIgZGVmaW5pdGlvbj0iVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBhcyB0byB3aHkgdGhpcyB0YXNrIGlzIGhlbGQsIGZhaWxlZCwgd2FzIHJlZnVzZWQsIGV0Yy4iIGNvbW1lbnQ9IlRoaXMgYXBwbGllcyB0byB0aGUgY3VycmVudCBzdGF0dXMuICBMb29rIGF0IHRoZSBoaXN0b3J5IG9mIHRoZSB0YXNrIHRvIHNlZSByZWFzb25zIGZvciBwYXN0IHN0YXR1c2VzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSB0aGUgcmVhc29uIGZvciBjdXJyZW50IHN0YXR1cy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYnVzaW5lc3NTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkUuZy4gJnF1b3Q7U3BlY2ltZW4gY29sbGVjdGVkJnF1b3Q7LCAmcXVvdDtJViBwcmVwcGVkJnF1b3Q7IiBkZWZpbml0aW9uPSJDb250YWlucyBidXNpbmVzcy1zcGVjaWZpYyBudWFuY2VzIG9mIHRoZSBidXNpbmVzcyBzdGF0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrQnVzaW5lc3NTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgZG9tYWluLXNwZWNpZmljIGJ1c2luZXNzLWNvbnRleHR1YWwgc3ViLXN0YXRlIG9mIHRoZSB0YXNrLiAgRm9yIGV4YW1wbGU6ICZxdW90O0Jsb29kIGRyYXduJnF1b3Q7LCAmcXVvdDtJViBpbnNlcnRlZCZxdW90OywgJnF1b3Q7QXdhaXRpbmcgcGh5c2ljaWFuIHNpZ25hdHVyZSZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza0ludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1bmtub3duIHwgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlICZxdW90O2xldmVsJnF1b3Q7IG9mIGFjdGlvbmFiaWxpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBUYXNrLCBpLmUuIGkrUls5XUNzIHRoaXMgYSBwcm9wb3NlZCB0YXNrLCBhIHBsYW5uZWQgdGFzaywgYW4gYWN0aW9uYWJsZSB0YXNrLCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgaW1tdXRhYmxlLiAgUHJvcG9zZWQgdGFza3MsIHBsYW5uZWQgdGFza3MsIGV0Yy4gbXVzdCBiZSBkaXN0aW5jdCBpbnN0YW5jZXMuJiN4YTsmI3hhO0luIG1vc3QgY2FzZXMsIFRhc2tzIHdpbGwgaGF2ZSBhbiBpbnRlbnQgb2YgJnF1b3Q7b3JkZXImcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tJbnRlbnQiIGRlc2NyaXB0aW9uPSJEaXN0aW5ndWlzaGVzIHdoZXRoZXIgdGhlIHRhc2sgaXMgYSBwcm9wb3NhbCwgcGxhbiBvciBmdWxsIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza1ByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBUYXNrIHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGFzaydzIHByaW9yaXR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFzayBUeXBlIiBkZWZpbml0aW9uPSJBIG5hbWUgb3IgY29kZSAob3IgYm90aCkgYnJpZWZseSBkZXNjcmliaW5nIHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIiBjb21tZW50PSJUaGUgdGl0bGUgKGVnICZxdW90O015IFRhc2tzJnF1b3Q7LCAmcXVvdDtPdXRzdGFuZGluZyBUYXNrcyBmb3IgUGF0aWVudCBYJnF1b3Q7KSBzaG91bGQgZ28gaW50byB0aGUgY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbi1yZWFkYWJsZSBleHBsYW5hdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJBIGZyZWUtdGV4dCBkZXNjcmlwdGlvbiBvZiB3aGF0IGlzIHRvIGJlIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hhdCB0YXNrIGlzIGFjdGluZyBvbiIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3QgYmVpbmcgYWN0aW9uZWQgb3IgdGhlIHJlc291cmNlIGJlaW5nIG1hbmlwdWxhdGVkIGJ5IHRoaXMgdGFzay4iIGNvbW1lbnQ9IklmIG11bHRpcGxlIHJlc291cmNlcyBuZWVkIHRvIGJlIG1hbmlwdWxhdGVkLCB1c2Ugc3ViLXRhc2tzLiAgKFRoaXMgZW5zdXJlcyB0aGF0IHN0YXR1cyBjYW4gYmUgdHJhY2tlZCBpbmRlcGVuZGVudGx5IGZvciBlYWNoIHJlZmVyZW5jZWQgcmVzb3VyY2UuKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkJlbmVmaWNpYXJ5IG9mIHRoZSBUYXNrIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgc2VydmljZSBzcGVjaWZpZWQgaW4gdGhlIHRhc2sgKGUuZy4sIHRoZSBwYXRpZW50KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgdGFzayBvcmlnaW5hdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIHdhcyBjcmVhdGVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJleGVjdXRpb25QZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGV4ZWN1dGlvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgdGltZSBhY3Rpb24gd2FzIGZpcnN0IHRha2VuIGFnYWluc3QgdGhlIHRhc2sgKHN0YXJ0KSBhbmQvb3IgdGhlIHRpbWUgZmluYWwgYWN0aW9uIHdhcyB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIHByaW9yIHRvIG1hcmtpbmcgaXQgYXMgY29tcGxldGVkIChlbmQpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGFzayBDcmVhdGlvbiBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RNb2RpZmllZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUYXNrIExhc3QgTW9kaWZpZWQgRGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgb2YgbGFzdCBtb2RpZmljYXRpb24gdG8gdGhpcyB0YXNrLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIGFza2luZyBmb3IgdGFzayB0byBiZSBkb25lIiBkZWZpbml0aW9uPSJUaGUgY3JlYXRvciBvZiB0aGUgdGFzay4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBwZXJmb3JtZXIiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHBhcnRpY2lwYW50IHRoYXQgc2hvdWxkIHBlcmZvcm0gdGhlIHRhc2suIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUocykgb2YgdGFzayBwZXJmb3JtZXJzIGFsbG93ZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3duZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVzcG9uc2libGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCBvcmdhbml6YXRpb24gb3IgRGV2aWNlIGN1cnJlbnRseSByZXNwb25zaWJsZSBmb3IgdGFzayBleGVjdXRpb24uIiBjb21tZW50PSJUYXNrcyBtYXkgYmUgY3JlYXRlZCB3aXRoIGFuIG93bmVyIG5vdCB5ZXQgaWRlbnRpZmllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGFzayBvY2N1cnMiIGRlZmluaXRpb249IlByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgdGhpcyB0YXNrIGlzIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRhc2sgaXMgbmVlZGVkIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9yIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tSZWFzb24iIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2h5IHRoZSB0YXNrIGlzIG5lZWRlZC4gIEUuZy4gU3VzcGVuZGVkIGJlY2F1c2UgcGF0aWVudCBhZG1pdHRlZCB0byBob3NwaXRhbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB0YXNrIGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iQSByZXNvdXJjZSByZWZlcmVuY2UgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRhc2tzIG1pZ2h0IGJlIGp1c3RpZmllZCBiYXNlZCBvbiBhbiBPYnNlcnZhdGlvbiwgYSBDb25kaXRpb24sIGEgcGFzdCBvciBwbGFubmVkIHByb2NlZHVyZSwgZXRjLiAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4gICAgVXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBUYXNrLnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIHJlbGV2YW50IHRvIHRoZSBUYXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHRhc2siIGRlZmluaXRpb249IkZyZWUtdGV4dCBpbmZvcm1hdGlvbiBjYXB0dXJlZCBhYm91dCB0aGUgdGFzayBhcyBpdCBwcm9ncmVzc2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IktleSBldmVudHMgaW4gaGlzdG9yeSBvZiB0aGUgVGFzayIgZGVmaW5pdGlvbj0iTGlua3MgdG8gUHJvdmVuYW5jZSByZWNvcmRzIGZvciBwYXN0IHZlcnNpb25zIG9mIHRoaXMgVGFzayB0aGF0IGlkZW50aWZ5IGtleSBzdGF0ZSB0cmFuc2l0aW9ucyBvciB1cGRhdGVzIHRoYXQgYXJlIGxpa2VseSB0byBiZSByZWxldmFudCB0byBhIHVzZXIgbG9va2luZyBhdCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSB0YXNrLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IHBvaW50IHRvIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIHJlc291cmNlIC0gYXMgaXQgd291bGQgYmUgY3JlYXRlZCBhZnRlciB0aGlzIHZlcnNpb24gZXhpc3RlZC4gIFRoZSBQcm92ZW5hbmNlIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCBhIF9yZXZpbmNsdWRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVzdHJpY3Rpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5SZXN0cmljdGlvbiIgZGVzY3JpcHRpb249IkNvbnN0cmFpbnRzIG9uIGZ1bGZpbGxtZW50IHRhc2tzIiBkZWZpbml0aW9uPSJJZiB0aGUgVGFzay5mb2N1cyBpcyBhIHJlcXVlc3QgcmVzb3VyY2UgYW5kIHRoZSB0YXNrIGlzIHNlZWtpbmcgZnVsZmlsbG1lbnQgKGkuZS4gaXMgYXNraW5nIGZvciB0aGUgcmVxdWVzdCB0byBiZSBhY3Rpb25lZCksIHRoaXMgZWxlbWVudCBpZGVudGlmaWVzIGFueSBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSByZWZlcmVuY2VkIHJlcXVlc3Qgc2hvdWxkIGJlIGFjdGlvbmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHVzZWQgdG8gcGVyZm9ybSB0YXNrIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiB0aGUgZXhlY3V0aW9uIG9mIHRoZSB0YXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suSW5wdXQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dHB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHByb2R1Y2VkIGFzIHBhcnQgb2YgdGFzayIgZGVmaW5pdGlvbj0iT3V0cHV0cyBwcm9kdWNlZCBieSB0aGUgVGFzay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLk91dHB1dCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFzay5JbnB1dCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTGFiZWwgZm9yIHRoZSBpbnB1dCIgZGVmaW5pdGlvbj0iQSBjb2RlIG9yIGRlc2NyaXB0aW9uIGluZGljYXRpbmcgaG93IHRoZSBpbnB1dCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHRhc2sgZXhlY3V0aW9uLiIgY29tbWVudD0iSWYgcmVmZXJlbmNpbmcgYSBCUE1OIHdvcmtmbG93IG9yIFByb3RvY29sLCB0aGUgJnF1b3Q7c3lzdGVtJnF1b3Q7IGlzIHRoZSBVUkwgZm9yIHRoZSB3b3JrZmxvdyBkZWZpbml0aW9uIGFuZCB0aGUgY29kZSBpcyB0aGUgJnF1b3Q7bmFtZSZxdW90OyBvZiB0aGUgcmVxdWlyZWQgaW5wdXQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0lucHV0UGFyYW1ldGVyVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHR5cGVzIG9mIGlucHV0IHBhcmFtZXRlcnMuICBUaGVzZSB3aWxsIHR5cGljYWxseSBiZSBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgd29ya2Zsb3cuICBFLmcuICZxdW90O0NvbXBhcmlzb24gc291cmNlJnF1b3Q7LCAmcXVvdDtBcHBsaWNhYmxlIGNvbnNlbnQmcXVvdDssICZxdW90O0NvbmNvbWl0ZW50IE1lZGljYXRpb25zJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbnRlbnQgdG8gdXNlIGluIHBlcmZvcm1pbmcgdGhlIHRhc2siIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHByZXNzaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2suT3V0cHV0IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMYWJlbCBmb3Igb3V0cHV0IiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgT3V0cHV0IHBhcmFtZXRlci4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrT3V0cHV0UGFyYW1ldGVyVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHR5cGVzIG9mIGlucHV0IHBhcmFtZXRlcnMuICBUaGVzZSB3aWxsIHR5cGljYWxseSBiZSBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgd29ya2Zsb3cuICBFLmcuICZxdW90O0lkZW50aWZpZWQgaXNzdWVzJnF1b3Q7LCAmcXVvdDtQcmVsaW1pbmFyeSByZXN1bHRzJnF1b3Q7LCAmcXVvdDtGaWxsZXIgb3JkZXImcXVvdDssICZxdW90O0ZpbmFsIHJlc3VsdHMmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0IG9mIG91dHB1dCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBPdXRwdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHByZXNzaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2suUmVzdHJpY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGV0aXRpb25zIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSG93IG1hbnkgdGltZXMgdG8gcmVwZWF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcmVxdWVzdGVkIGFjdGlvbiBzaG91bGQgb2NjdXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGZ1bGZpbGxtZW50IHNvdWdodCIgZGVmaW5pdGlvbj0iT3ZlciB3aGF0IHRpbWUtcGVyaW9kIGlzIGZ1bGZpbGxtZW50IHNvdWdodC4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCBwZXJpb2QuaGlnaCBpcyB0aGUgZHVlIGRhdGUgcmVwcmVzZW50aW5nIHRoZSB0aW1lIGJ5IHdoaWNoIHRoZSB0YXNrIHNob3VsZCBiZSBjb21wbGV0ZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2lwaWVudCIgZGVzY3JpcHRpb249IkZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iIGRlZmluaXRpb249IkZvciByZXF1ZXN0cyB0aGF0IGFyZSB0YXJnZXRlZCB0byBtb3JlIHRoYW4gb24gcG90ZW50aWFsIHJlY2lwaWVudC90YXJnZXQsIGZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tJbnRlbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrUHJpb3JpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tSZWplY3RlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtdGFza3JlamVjdGVkIiBsYWJlbD0iUUlDb3JlIFRhc2sgUmVqZWN0ZWQiIHRhcmdldD0iVGFzayIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJUYXNrIEluc3RhbmNlIElkZW50aWZpZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGlzIHRhc2suIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgKkZISVIqLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFRhc2suIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRm9ybWFsIGRlZmluaXRpb24gb2YgdGFzayIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiAqZXh0ZXJuYWxseSogbWFpbnRhaW5lZCAgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFRhc2suIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IGZ1bGZpbGxlZCBieSB0aGlzIHRhc2siIGRlZmluaXRpb249IkJhc2VkT24gcmVmZXJzIHRvIGEgaGlnaGVyLWxldmVsIGF1dGhvcml6YXRpb24gdGhhdCB0cmlnZ2VyZWQgdGhlIGNyZWF0aW9uIG9mIHRoZSB0YXNrLiAgSXQgcmVmZXJlbmNlcyBhICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2Ugc3VjaCBhcyBhIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgU2VydmljZVJlcXVlc3QsIENhcmVQbGFuLCBldGMuIHdoaWNoIGlzIGRpc3RpbmN0IGZyb20gdGhlICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2UgdGhlIHRhc2sgaXMgc2Vla2luZyB0byBmdWxmaWxsLiAgVGhpcyBsYXR0ZXIgcmVzb3VyY2UgaXMgcmVmZXJlbmNlZCBieSBGb2N1c09uLiAgRm9yIGV4YW1wbGUsIGJhc2VkIG9uIGEgU2VydmljZVJlcXVlc3QgKD0gQmFzZWRPbiksIGEgdGFzayBpcyBjcmVhdGVkIHRvIGZ1bGZpbGwgYSBwcm9jZWR1cmVSZXF1ZXN0ICggPSBGb2N1c09uICkgdG8gY29sbGVjdCBhIHNwZWNpbWVuIGZyb20gYSBwYXRpZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJSZXF1aXNpdGlvbiBvciBncm91cGVyIGlkIiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgbGlua3MgdG9nZXRoZXIgbXVsdGlwbGUgdGFza3MgYW5kIG90aGVyIHJlcXVlc3RzIHRoYXQgd2VyZSBjcmVhdGVkIGluIHRoZSBzYW1lIGNvbnRleHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSB0YXNrIiBkZWZpbml0aW9uPSJUYXNrIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIHRhc2sgaXMgcGFydCBvZi4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIHVzdWFsbHkgYmUgMC4uMS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBwb3RlbnRpYWwgcGVyZm9ybWVyIHdobyBjbGFpbWVkIG93bmVyc2hpcCBvZiB0aGUgdGFzayBoYXMgZGVjaWRlZCBub3QgdG8gZXhlY3V0ZSBpdCBwcmlvciB0byBwZXJmb3JtaW5nIGFueSBhY3Rpb24iIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1N0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gYXMgdG8gd2h5IHRoaXMgdGFzayBpcyBoZWxkLCBmYWlsZWQsIHdhcyByZWZ1c2VkLCBldGMuIiBjb21tZW50PSJUaGlzIGFwcGxpZXMgdG8gdGhlIGN1cnJlbnQgc3RhdHVzLiAgTG9vayBhdCB0aGUgaGlzdG9yeSBvZiB0aGUgdGFzayB0byBzZWUgcmVhc29ucyBmb3IgcGFzdCBzdGF0dXNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYnVzaW5lc3NTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkUuZy4gJnF1b3Q7U3BlY2ltZW4gY29sbGVjdGVkJnF1b3Q7LCAmcXVvdDtJViBwcmVwcGVkJnF1b3Q7IiBkZWZpbml0aW9uPSJDb250YWlucyBidXNpbmVzcy1zcGVjaWZpYyBudWFuY2VzIG9mIHRoZSBidXNpbmVzcyBzdGF0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrQnVzaW5lc3NTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgZG9tYWluLXNwZWNpZmljIGJ1c2luZXNzLWNvbnRleHR1YWwgc3ViLXN0YXRlIG9mIHRoZSB0YXNrLiAgRm9yIGV4YW1wbGU6ICZxdW90O0Jsb29kIGRyYXduJnF1b3Q7LCAmcXVvdDtJViBpbnNlcnRlZCZxdW90OywgJnF1b3Q7QXdhaXRpbmcgcGh5c2ljaWFuIHNpZ25hdHVyZSZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza0ludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1bmtub3duIHwgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlICZxdW90O2xldmVsJnF1b3Q7IG9mIGFjdGlvbmFiaWxpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBUYXNrLCBpLmUuIGkrUls5XUNzIHRoaXMgYSBwcm9wb3NlZCB0YXNrLCBhIHBsYW5uZWQgdGFzaywgYW4gYWN0aW9uYWJsZSB0YXNrLCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgaW1tdXRhYmxlLiAgUHJvcG9zZWQgdGFza3MsIHBsYW5uZWQgdGFza3MsIGV0Yy4gbXVzdCBiZSBkaXN0aW5jdCBpbnN0YW5jZXMuJiN4YTsmI3hhO0luIG1vc3QgY2FzZXMsIFRhc2tzIHdpbGwgaGF2ZSBhbiBpbnRlbnQgb2YgJnF1b3Q7b3JkZXImcXVvdDsuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0ludGVudCIgZGVzY3JpcHRpb249IkRpc3Rpbmd1aXNoZXMgd2hldGhlciB0aGUgdGFzayBpcyBhIHByb3Bvc2FsLCBwbGFuIG9yIGZ1bGwgb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrUHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIFRhc2sgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1ByaW9yaXR5IiBkZXNjcmlwdGlvbj0iVGhlIHRhc2sncyBwcmlvcml0eS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IlRhc2sgVHlwZSIgZGVmaW5pdGlvbj0iQSBuYW1lIG9yIGNvZGUgKG9yIGJvdGgpIGJyaWVmbHkgZGVzY3JpYmluZyB3aGF0IHRoZSB0YXNrIGludm9sdmVzLiIgY29tbWVudD0iVGhlIHRpdGxlIChlZyAmcXVvdDtNeSBUYXNrcyZxdW90OywgJnF1b3Q7T3V0c3RhbmRpbmcgVGFza3MgZm9yIFBhdGllbnQgWCZxdW90Oykgc2hvdWxkIGdvIGludG8gdGhlIGNvZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSHVtYW4tcmVhZGFibGUgZXhwbGFuYXRpb24gb2YgdGFzayIgZGVmaW5pdGlvbj0iQSBmcmVlLXRleHQgZGVzY3JpcHRpb24gb2Ygd2hhdCBpcyB0byBiZSBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoYXQgdGFzayBpcyBhY3Rpbmcgb24iIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IGJlaW5nIGFjdGlvbmVkIG9yIHRoZSByZXNvdXJjZSBiZWluZyBtYW5pcHVsYXRlZCBieSB0aGlzIHRhc2suIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXNvdXJjZXMgbmVlZCB0byBiZSBtYW5pcHVsYXRlZCwgdXNlIHN1Yi10YXNrcy4gIChUaGlzIGVuc3VyZXMgdGhhdCBzdGF0dXMgY2FuIGJlIHRyYWNrZWQgaW5kZXBlbmRlbnRseSBmb3IgZWFjaCByZWZlcmVuY2VkIHJlc291cmNlLikuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkJlbmVmaWNpYXJ5IG9mIHRoZSBUYXNrIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgc2VydmljZSBzcGVjaWZpZWQgaW4gdGhlIHRhc2sgKGUuZy4sIHRoZSBwYXRpZW50KS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIG9yaWdpbmF0ZWQiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhlY3V0aW9uUGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0aW1pbmcgdGhlIHRhc2sgd2FzIHJlamVjdGVkIGFuZCB0aGUgcmVhc29uLiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgdGltZSBhY3Rpb24gd2FzIGZpcnN0IHRha2VuIGFnYWluc3QgdGhlIHRhc2sgKHN0YXJ0KSBhbmQvb3IgdGhlIHRpbWUgZmluYWwgYWN0aW9uIHdhcyB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIHByaW9yIHRvIG1hcmtpbmcgaXQgYXMgY29tcGxldGVkIChlbmQpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUYXNrIENyZWF0aW9uIERhdGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdGFzayB3YXMgY3JlYXRlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGFzdE1vZGlmaWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRhc2sgTGFzdCBNb2RpZmllZCBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBvZiBsYXN0IG1vZGlmaWNhdGlvbiB0byB0aGlzIHRhc2suIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgYXNraW5nIGZvciB0YXNrIHRvIGJlIGRvbmUiIGRlZmluaXRpb249IlRoZSBjcmVhdG9yIG9mIHRoZSB0YXNrLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIHBlcmZvcm1lciIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgcGFydGljaXBhbnQgdGhhdCBzaG91bGQgcGVyZm9ybSB0aGUgdGFzay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1BlcmZvcm1lclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZShzKSBvZiB0YXNrIHBlcmZvcm1lcnMgYWxsb3dlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvd25lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXNwb25zaWJsZSBpbmRpdmlkdWFsIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIG9yZ2FuaXphdGlvbiBvciBEZXZpY2UgY3VycmVudGx5IHJlc3BvbnNpYmxlIGZvciB0YXNrIGV4ZWN1dGlvbi4iIGNvbW1lbnQ9IlRhc2tzIG1heSBiZSBjcmVhdGVkIHdpdGggYW4gb3duZXIgbm90IHlldCBpZGVudGlmaWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0YXNrIG9jY3VycyIgZGVmaW5pdGlvbj0iUHJpbmNpcGFsIHBoeXNpY2FsIGxvY2F0aW9uIHdoZXJlIHRoZSB0aGlzIHRhc2sgaXMgcGVyZm9ybWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGFzayBpcyBuZWVkZWQiIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb3IgY29kZSBpbmRpY2F0aW5nIHdoeSB0aGlzIHRhc2sgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iVGhpcyBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiB0aGVyZSBpcyBubyBmb2N1cyBvciBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIHJlYXNvbiBpbmRpY2F0ZWQgb24gdGhlIGZvY3VzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tSZWFzb24iIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2h5IHRoZSB0YXNrIGlzIG5lZWRlZC4gIEUuZy4gU3VzcGVuZGVkIGJlY2F1c2UgcGF0aWVudCBhZG1pdHRlZCB0byBob3NwaXRhbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB0YXNrIGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iQSByZXNvdXJjZSByZWZlcmVuY2UgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRhc2tzIG1pZ2h0IGJlIGp1c3RpZmllZCBiYXNlZCBvbiBhbiBPYnNlcnZhdGlvbiwgYSBDb25kaXRpb24sIGEgcGFzdCBvciBwbGFubmVkIHByb2NlZHVyZSwgZXRjLiAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4gICAgVXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBUYXNrLnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIHJlbGV2YW50IHRvIHRoZSBUYXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHRhc2siIGRlZmluaXRpb249IkZyZWUtdGV4dCBpbmZvcm1hdGlvbiBjYXB0dXJlZCBhYm91dCB0aGUgdGFzayBhcyBpdCBwcm9ncmVzc2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IktleSBldmVudHMgaW4gaGlzdG9yeSBvZiB0aGUgVGFzayIgZGVmaW5pdGlvbj0iTGlua3MgdG8gUHJvdmVuYW5jZSByZWNvcmRzIGZvciBwYXN0IHZlcnNpb25zIG9mIHRoaXMgVGFzayB0aGF0IGlkZW50aWZ5IGtleSBzdGF0ZSB0cmFuc2l0aW9ucyBvciB1cGRhdGVzIHRoYXQgYXJlIGxpa2VseSB0byBiZSByZWxldmFudCB0byBhIHVzZXIgbG9va2luZyBhdCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSB0YXNrLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IHBvaW50IHRvIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIHJlc291cmNlIC0gYXMgaXQgd291bGQgYmUgY3JlYXRlZCBhZnRlciB0aGlzIHZlcnNpb24gZXhpc3RlZC4gIFRoZSBQcm92ZW5hbmNlIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCBhIF9yZXZpbmNsdWRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVzdHJpY3Rpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5SZXN0cmljdGlvbiIgZGVzY3JpcHRpb249IkNvbnN0cmFpbnRzIG9uIGZ1bGZpbGxtZW50IHRhc2tzIiBkZWZpbml0aW9uPSJJZiB0aGUgVGFzay5mb2N1cyBpcyBhIHJlcXVlc3QgcmVzb3VyY2UgYW5kIHRoZSB0YXNrIGlzIHNlZWtpbmcgZnVsZmlsbG1lbnQgKGkuZS4gaXMgYXNraW5nIGZvciB0aGUgcmVxdWVzdCB0byBiZSBhY3Rpb25lZCksIHRoaXMgZWxlbWVudCBpZGVudGlmaWVzIGFueSBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSByZWZlcmVuY2VkIHJlcXVlc3Qgc2hvdWxkIGJlIGFjdGlvbmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHVzZWQgdG8gcGVyZm9ybSB0YXNrIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiB0aGUgZXhlY3V0aW9uIG9mIHRoZSB0YXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suSW5wdXQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dHB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHByb2R1Y2VkIGFzIHBhcnQgb2YgdGFzayIgZGVmaW5pdGlvbj0iT3V0cHV0cyBwcm9kdWNlZCBieSB0aGUgVGFzay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLk91dHB1dCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFza1N0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1RpbWluZyIgbGFiZWw9IlRpbWluZyIgcmV0cmlldmFibGU9ImZhbHNlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJldmVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBldmVudCBvY2N1cnMiIGRlZmluaXRpb249IklkZW50aWZpZXMgc3BlY2lmaWMgdGltZXMgd2hlbiB0aGUgZXZlbnQgb2NjdXJzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGltaW5nLlJlcGVhdCIgZGVzY3JpcHRpb249IldoZW4gdGhlIGV2ZW50IGlzIHRvIG9jY3VyIiBkZWZpbml0aW9uPSJBIHNldCBvZiBydWxlcyB0aGF0IGRlc2NyaWJlIHdoZW4gdGhlIGV2ZW50IGlzIHNjaGVkdWxlZC4iPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiB0aGVyZSdzIGEgZHVyYXRpb24sIHRoZXJlIG5lZWRzIHRvIGJlIGR1cmF0aW9uIHVuaXRzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImR1cmF0aW9uLmVtcHR5KCkgb3IgZHVyYXRpb25Vbml0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgdGhlcmUncyBhIHBlcmlvZCwgdGhlcmUgbmVlZHMgdG8gYmUgcGVyaW9kIHVuaXRzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBlcmlvZC5lbXB0eSgpIG9yIHBlcmlvZFVuaXQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJkdXJhdGlvbiBTSEFMTCBiZSBhIG5vbi1uZWdhdGl2ZSB2YWx1ZSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkdXJhdGlvbi5leGlzdHMoKSBpbXBsaWVzIGR1cmF0aW9uID49IDAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJwZXJpb2QgU0hBTEwgYmUgYSBub24tbmVnYXRpdmUgdmFsdWUiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icGVyaW9kLmV4aXN0cygpIGltcGxpZXMgcGVyaW9kID49IDAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgcGVyaW9kTWF4LCB0aGVyZSBtdXN0IGJlIGEgcGVyaW9kIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBlcmlvZE1heC5lbXB0eSgpIG9yIHBlcmlvZC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS03IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlJ3MgYSBkdXJhdGlvbk1heCwgdGhlcmUgbXVzdCBiZSBhIGR1cmF0aW9uIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImR1cmF0aW9uTWF4LmVtcHR5KCkgb3IgZHVyYXRpb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgY291bnRNYXgsIHRoZXJlIG11c3QgYmUgYSBjb3VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJjb3VudE1heC5lbXB0eSgpIG9yIGNvdW50LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTkiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhbiBvZmZzZXQsIHRoZXJlIG11c3QgYmUgYSB3aGVuIChhbmQgbm90IEMsIENNLCBDRCwgQ1YpIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9mZnNldC5lbXB0eSgpIG9yICh3aGVuLmV4aXN0cygpIGFuZCAoKHdoZW4gaW4gKCdDJyB8ICdDTScgfCAnQ0QnIHwgJ0NWJykpLm5vdCgpKSkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tMTAiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhIHRpbWVPZkRheSwgdGhlcmUgY2Fubm90IGJlIGEgd2hlbiwgb3IgdmljZSB2ZXJzYSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0aW1lT2ZEYXkuZW1wdHkoKSBvciB3aGVuLmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJJRCB8IFRJRCB8IFFJRCB8IEFNIHwgUE0gfCBRRCB8IFFPRCB8ICsiIGRlZmluaXRpb249IkEgY29kZSBmb3IgdGhlIHRpbWluZyBzY2hlZHVsZSAob3IganVzdCB0ZXh0IGluIGNvZGUudGV4dCkuIFNvbWUgY29kZXMgc3VjaCBhcyBCSUQgYXJlIHViaXF1aXRvdXMsIGJ1dCBtYW55IGluc3RpdHV0aW9ucyBkZWZpbmUgdGhlaXIgb3duIGFkZGl0aW9uYWwgY29kZXMuIElmIGEgY29kZSBpcyBwcm92aWRlZCwgdGhlIGNvZGUgaXMgdW5kZXJzdG9vZCB0byBiZSBhIGNvbXBsZXRlIHN0YXRlbWVudCBvZiB3aGF0ZXZlciBpcyBzcGVjaWZpZWQgaW4gdGhlIHN0cnVjdHVyZWQgdGltaW5nIGRhdGEsIGFuZCBlaXRoZXIgdGhlIGNvZGUgb3IgdGhlIGRhdGEgbWF5IGJlIHVzZWQgdG8gaW50ZXJwcmV0IHRoZSBUaW1pbmcsIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IC5yZXBlYXQuYm91bmRzIHN0aWxsIGFwcGxpZXMgb3ZlciB0aGUgY29kZSAoYW5kIGlzIG5vdCBjb250YWluZWQgaW4gdGhlIGNvZGUpLiIgY29tbWVudD0iQklEIGV0Yy4gYXJlIGRlZmluZWQgYXMgJ2F0IGluc3RpdHV0aW9uYWxseSBzcGVjaWZpZWQgdGltZXMnLiBGb3IgZXhhbXBsZSwgYW4gaW5zdGl0dXRpb24gbWF5IGNob29zZSB0aGF0IEJJRCBpcyAmcXVvdDthbHdheXMgYXQgN2FtIGFuZCA2cG0mcXVvdDsuICBJZiBpdCBpcyBpbmFwcHJvcHJpYXRlIGZvciB0aGlzIGNob2ljZSB0byBiZSBtYWRlLCB0aGUgY29kZSBCSUQgc2hvdWxkIG5vdCBiZSB1c2VkLiBJbnN0ZWFkLCBhIGRpc3RpbmN0IG9yZ2FuaXphdGlvbi1zcGVjaWZpYyBjb2RlIHNob3VsZCBiZSB1c2VkIGluIHBsYWNlIG9mIHRoZSBITDctZGVmaW5lZCBCSUQgY29kZSBhbmQvb3IgYSBzdHJ1Y3R1cmVkIHJlcHJlc2VudGF0aW9uIHNob3VsZCBiZSB1c2VkIChpbiB0aGlzIGNhc2UsIHNwZWNpZnlpbmcgdGhlIHR3byBldmVudCB0aW1lcykuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGltaW5nQWJicmV2aWF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZSBmb3IgYSBrbm93biAvIGRlZmluZWQgdGltaW5nIHBhdHRlcm4uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZy5SZXBlYXQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvdW5kcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMZW5ndGgvUmFuZ2Ugb2YgbGVuZ3Rocywgb3IgKFN0YXJ0IGFuZC9vciBlbmQpIGxpbWl0cyIgZGVmaW5pdGlvbj0iRWl0aGVyIGEgZHVyYXRpb24gZm9yIHRoZSBsZW5ndGggb2YgdGhlIHRpbWluZyBzY2hlZHVsZSwgYSByYW5nZSBvZiBwb3NzaWJsZSBsZW5ndGgsIG9yIG91dGVyIGJvdW5kcyBmb3Igc3RhcnQgYW5kL29yIGVuZCBsaW1pdHMgb2YgdGhlIHRpbWluZyBzY2hlZHVsZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY291bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IiBkZWZpbml0aW9uPSJBIHRvdGFsIGNvdW50IG9mIHRoZSBkZXNpcmVkIG51bWJlciBvZiByZXBldGl0aW9ucyBhY3Jvc3MgdGhlIGR1cmF0aW9uIG9mIHRoZSBlbnRpcmUgdGltaW5nIHNwZWNpZmljYXRpb24uIElmIGNvdW50TWF4IGlzIHByZXNlbnQsIHRoaXMgZWxlbWVudCBpbmRpY2F0ZXMgdGhlIGxvd2VyIGJvdW5kIG9mIHRoZSBhbGxvd2VkIHJhbmdlIG9mIGNvdW50IHZhbHVlcy4iIGNvbW1lbnQ9IklmIHlvdSBoYXZlIGJvdGggYm91bmRzIGFuZCBjb3VudCwgdGhlbiB0aGlzIHNob3VsZCBiZSB1bmRlcnN0b29kIGFzIHdpdGhpbiB0aGUgYm91bmRzIHBlcmlvZCwgdW50aWwgY291bnQgdGltZXMgaGFwcGVucy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY291bnRNYXgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0byByZXBlYXQiIGRlZmluaXRpb249IklmIHByZXNlbnQsIGluZGljYXRlcyB0aGF0IHRoZSBjb3VudCBpcyBhIHJhbmdlIC0gc28gdG8gcGVyZm9ybSB0aGUgYWN0aW9uIGJldHdlZW4gW2NvdW50XSBhbmQgW2NvdW50TWF4XSB0aW1lcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyB3aGVuIGl0IGhhcHBlbnMiIGRlZmluaXRpb249IkhvdyBsb25nIHRoaXMgdGhpbmcgaGFwcGVucyBmb3Igd2hlbiBpdCBoYXBwZW5zLiBJZiBkdXJhdGlvbk1heCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgYWxsb3dlZCByYW5nZSBvZiB0aGUgZHVyYXRpb24uIiBjb21tZW50PSJGb3Igc29tZSBldmVudHMgdGhlIGR1cmF0aW9uIGlzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV2ZW50IChlLmcuIElWIGluZnVzaW9ucywgd2hlcmUgdGhlIGR1cmF0aW9uIGlzIGltcGxpY2l0IGluIHRoZSBzcGVjaWZpZWQgcXVhbnRpdHkgYW5kIHJhdGUpLiBGb3Igb3RoZXJzLCBpdCdzIHBhcnQgb2YgdGhlIHRpbWluZyBzcGVjaWZpY2F0aW9uIChlLmcuIGV4ZXJjaXNlKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb25NYXgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyB3aGVuIGl0IGhhcHBlbnMgKE1heCkiIGRlZmluaXRpb249IklmIHByZXNlbnQsIGluZGljYXRlcyB0aGF0IHRoZSBkdXJhdGlvbiBpcyBhIHJhbmdlIC0gc28gdG8gcGVyZm9ybSB0aGUgYWN0aW9uIGJldHdlZW4gW2R1cmF0aW9uXSBhbmQgW2R1cmF0aW9uTWF4XSB0aW1lIGxlbmd0aC4iIGNvbW1lbnQ9IkZvciBzb21lIGV2ZW50cyB0aGUgZHVyYXRpb24gaXMgcGFydCBvZiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgZXZlbnQgKGUuZy4gSVYgaW5mdXNpb25zLCB3aGVyZSB0aGUgZHVyYXRpb24gaXMgaW1wbGljaXQgaW4gdGhlIHNwZWNpZmllZCBxdWFudGl0eSBhbmQgcmF0ZSkuIEZvciBvdGhlcnMsIGl0J3MgcGFydCBvZiB0aGUgdGltaW5nIHNwZWNpZmljYXRpb24gKGUuZy4gZXhlcmNpc2UpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvblVuaXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVW5pdHNPZlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icyB8IG1pbiB8IGggfCBkIHwgd2sgfCBtbyB8IGEgLSB1bml0IG9mIHRpbWUgKFVDVU0pIiBkZWZpbml0aW9uPSJUaGUgdW5pdHMgb2YgdGltZSBmb3IgdGhlIGR1cmF0aW9uLCBpbiBVQ1VNIHVuaXRzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVuaXRzT2ZUaW1lIiBkZXNjcmlwdGlvbj0iQSB1bml0IG9mIHRpbWUgKHVuaXRzIGZyb20gVUNVTSkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmcmVxdWVuY3kiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmVudCBvY2N1cnMgZnJlcXVlbmN5IHRpbWVzIHBlciBwZXJpb2QiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IHRoZSBhY3Rpb24gd2l0aGluIHRoZSBzcGVjaWZpZWQgcGVyaW9kLiBJZiBmcmVxdWVuY3lNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdGhlIGZyZXF1ZW5jeS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZnJlcXVlbmN5TWF4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXZlbnQgb2NjdXJzIHVwIHRvIGZyZXF1ZW5jeU1heCB0aW1lcyBwZXIgcGVyaW9kIiBkZWZpbml0aW9uPSJJZiBwcmVzZW50LCBpbmRpY2F0ZXMgdGhhdCB0aGUgZnJlcXVlbmN5IGlzIGEgcmFuZ2UgLSBzbyB0byByZXBlYXQgYmV0d2VlbiBbZnJlcXVlbmN5XSBhbmQgW2ZyZXF1ZW5jeU1heF0gdGltZXMgd2l0aGluIHRoZSBwZXJpb2Qgb3IgcGVyaW9kIHJhbmdlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmVudCBvY2N1cnMgZnJlcXVlbmN5IHRpbWVzIHBlciBwZXJpb2QiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgZHVyYXRpb24gb2YgdGltZSBvdmVyIHdoaWNoIHJlcGV0aXRpb25zIGFyZSB0byBvY2N1cjsgZS5nLiB0byBleHByZXNzICZxdW90OzMgdGltZXMgcGVyIGRheSZxdW90OywgMyB3b3VsZCBiZSB0aGUgZnJlcXVlbmN5IGFuZCAmcXVvdDsxIGRheSZxdW90OyB3b3VsZCBiZSB0aGUgcGVyaW9kLiBJZiBwZXJpb2RNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdGhlIHBlcmlvZCBsZW5ndGguIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZE1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9mIHBlcmlvZCAoMy00IGhvdXJzKSIgZGVmaW5pdGlvbj0iSWYgcHJlc2VudCwgaW5kaWNhdGVzIHRoYXQgdGhlIHBlcmlvZCBpcyBhIHJhbmdlIGZyb20gW3BlcmlvZF0gdG8gW3BlcmlvZE1heF0sIGFsbG93aW5nIGV4cHJlc3NpbmcgY29uY2VwdHMgc3VjaCBhcyAmcXVvdDtkbyB0aGlzIG9uY2UgZXZlcnkgMy01IGRheXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZFVuaXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVW5pdHNPZlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icyB8IG1pbiB8IGggfCBkIHwgd2sgfCBtbyB8IGEgLSB1bml0IG9mIHRpbWUgKFVDVU0pIiBkZWZpbml0aW9uPSJUaGUgdW5pdHMgb2YgdGltZSBmb3IgdGhlIHBlcmlvZCBpbiBVQ1VNIHVuaXRzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVuaXRzT2ZUaW1lIiBkZXNjcmlwdGlvbj0iQSB1bml0IG9mIHRpbWUgKHVuaXRzIGZyb20gVUNVTSkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXlPZldlZWsiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0ibW9uIHwgdHVlIHwgd2VkIHwgdGh1IHwgZnJpIHwgc2F0IHwgc3VuIiBkZWZpbml0aW9uPSJJZiBvbmUgb3IgbW9yZSBkYXlzIG9mIHdlZWsgaXMgcHJvdmlkZWQsIHRoZW4gdGhlIGFjdGlvbiBoYXBwZW5zIG9ubHkgb24gdGhlIHNwZWNpZmllZCBkYXkocykuIiBjb21tZW50PSJJZiBubyBkYXlzIGFyZSBzcGVjaWZpZWQsIHRoZSBhY3Rpb24gaXMgYXNzdW1lZCB0byBoYXBwZW4gZXZlcnkgZGF5IGFzIG90aGVyd2lzZSBzcGVjaWZpZWQuIFRoZSBlbGVtZW50cyBmcmVxdWVuY3kgYW5kIHBlcmlvZCBjYW5ub3QgYmUgdXNlZCBhcyB3ZWxsIGFzIGRheU9mV2Vlay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXlPZldlZWsiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEYXlPZldlZWsiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWVPZkRheSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaW1lIG9mIGRheSBmb3IgYWN0aW9uIiBkZWZpbml0aW9uPSJTcGVjaWZpZWQgdGltZSBvZiBkYXkgZm9yIGFjdGlvbiB0byB0YWtlIHBsYWNlLiIgY29tbWVudD0iV2hlbiB0aW1lIG9mIGRheSBpcyBzcGVjaWZpZWQsIGl0IGlzIGluZmVycmVkIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5zIGV2ZXJ5IGRheSAoYXMgZmlsdGVyZWQgYnkgZGF5b2ZXZWVrKSBvbiB0aGUgc3BlY2lmaWVkIHRpbWVzLiBUaGUgZWxlbWVudHMgd2hlbiwgZnJlcXVlbmN5IGFuZCBwZXJpb2QgY2Fubm90IGJlIHVzZWQgYXMgd2VsbCBhcyB0aW1lT2ZEYXkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb2RlIGZvciB0aW1lIHBlcmlvZCBvZiBvY2N1cnJlbmNlIiBkZWZpbml0aW9uPSJBbiBhcHByb3hpbWF0ZSB0aW1lIHBlcmlvZCBkdXJpbmcgdGhlIGRheSwgcG90ZW50aWFsbHkgbGlua2VkIHRvIGFuIGV2ZW50IG9mIGRhaWx5IGxpdmluZyB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gc2hvdWxkIG9jY3VyLiIgY29tbWVudD0iV2hlbiBtb3JlIHRoYW4gb25lIGV2ZW50IGlzIGxpc3RlZCwgdGhlIGV2ZW50IGlzIHRpZWQgdG8gdGhlIHVuaW9uIG9mIHRoZSBzcGVjaWZpZWQgZXZlbnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkV2ZW50VGltaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRXZlbnRUaW1pbmciIGRlc2NyaXB0aW9uPSJSZWFsIHdvcmxkIGV2ZW50IHJlbGF0aW5nIHRvIHRoZSBzY2hlZHVsZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9mZnNldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik1pbnV0ZXMgZnJvbSBldmVudCAoYmVmb3JlIG9yIGFmdGVyKSIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiBtaW51dGVzIGZyb20gdGhlIGV2ZW50LiBJZiB0aGUgZXZlbnQgY29kZSBkb2VzIG5vdCBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBtaW51dGVzIGlzIGJlZm9yZSBvciBhZnRlciB0aGUgZXZlbnQsIHRoZW4gdGhlIG9mZnNldCBpcyBhc3N1bWVkIHRvIGJlIGFmdGVyIHRoZSBldmVudC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vVHJpZ2dlckRlZmluaXRpb24iIGxhYmVsPSJUcmlnZ2VyRGVmaW5pdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UcmlnZ2VyVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJuYW1lZC1ldmVudCB8IHBlcmlvZGljIHwgZGF0YS1jaGFuZ2VkIHwgZGF0YS1hZGRlZCB8IGRhdGEtbW9kaWZpZWQgfCBkYXRhLXJlbW92ZWQgfCBkYXRhLWFjY2Vzc2VkIHwgZGF0YS1hY2Nlc3MtZW5kZWQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRyaWdnZXJpbmcgZXZlbnQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVHJpZ2dlclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0cmlnZ2VyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvciBVUkkgdGhhdCBpZGVudGlmaWVzIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iQSBmb3JtYWwgbmFtZSBmb3IgdGhlIGV2ZW50LiBUaGlzIG1heSBiZSBhbiBhYnNvbHV0ZSBVUkkgdGhhdCBpZGVudGlmaWVzIHRoZSBldmVudCBmb3JtYWxseSAoZS5nLiBmcm9tIGEgdHJpZ2dlciByZWdpc3RyeSksIG9yIGEgc2ltcGxlIHJlbGF0aXZlIFVSSSB0aGF0IGlkZW50aWZpZXMgdGhlIGV2ZW50IGluIGEgbG9jYWwgY29udGV4dC4iIGNvbW1lbnQ9IkFuIGV2ZW50IG5hbWUgY2FuIGJlIHByb3ZpZGVkIGZvciBhbGwgZXZlbnQgdHlwZXMsIGJ1dCBpcyByZXF1aXJlZCBmb3IgbmFtZWQgZXZlbnRzLiBJZiBhIG5hbWUgaXMgcHJvdmlkZWQgZm9yIGEgdHlwZSBvdGhlciB0aGFuIG5hbWVkIGV2ZW50cywgaXQgaXMgY29uc2lkZXJlZCB0byBiZSBhIHNob3J0aGFuZCBmb3IgdGhlIHNlbWFudGljcyBkZXNjcmliZWQgYnkgdGhlIGZvcm1hbCBkZXNjcmlwdGlvbiBvZiB0aGUgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1pbmcgb2YgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIG9mIHRoZSBldmVudCAoaWYgdGhpcyBpcyBhIHBlcmlvZGljIHRyaWdnZXIpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGEiIGRlc2NyaXB0aW9uPSJUcmlnZ2VyaW5nIGRhdGEgb2YgdGhlIGV2ZW50IChtdWx0aXBsZSA9ICdhbmQnKSIgZGVmaW5pdGlvbj0iVGhlIHRyaWdnZXJpbmcgZGF0YSBvZiB0aGUgZXZlbnQgKGlmIHRoaXMgaXMgYSBkYXRhIHRyaWdnZXIpLiBJZiBtb3JlIHRoYW4gb25lIGRhdGEgaXMgcmVxdWlyZW1lbnQgaXMgc3BlY2lmaWVkLCB0aGVuIGFsbCB0aGUgZGF0YSByZXF1aXJlbWVudHMgbXVzdCBiZSB0cnVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHNoYWxsIGJlIHByZXNlbnQgZm9yIGFueSBkYXRhIHR5cGUgdHJpZ2dlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5FeHByZXNzaW9uIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgZXZlbnQgdHJpZ2dlcnMgKGJvb2xlYW4gZXhwcmVzc2lvbikiIGRlZmluaXRpb249IkEgYm9vbGVhbi12YWx1ZWQgZXhwcmVzc2lvbiB0aGF0IGlzIGV2YWx1YXRlZCBpbiB0aGUgY29udGV4dCBvZiB0aGUgY29udGFpbmVyIG9mIHRoZSB0cmlnZ2VyIGRlZmluaXRpb24gYW5kIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHRyaWdnZXIgZmlyZXMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGJlIG9ubHkgYmUgc3BlY2lmaWVkIGZvciBkYXRhIHR5cGUgdHJpZ2dlcnMgYW5kIHByb3ZpZGVzIGFkZGl0aW9uYWwgc2VtYW50aWNzIGZvciB0aGUgdHJpZ2dlci4gVGhlIGNvbnRleHQgYXZhaWxhYmxlIHdpdGhpbiB0aGUgY29uZGl0aW9uIGlzIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGRhdGEgZXZlbnQuIEZvciBhbGwgZXZlbnRzLCB0aGUgY3VycmVudCByZXNvdXJjZSB3aWxsIGJlIGF2YWlsYWJsZSBhcyBjb250ZXh0LiBJbiBhZGRpdGlvbiwgZm9yIG1vZGlmaWNhdGlvbiBldmVudHMsIHRoZSBwcmV2aW91cyByZXNvdXJjZSB3aWxsIGFsc28gYmUgYXZhaWxhYmxlLiBUaGUgZXhwcmVzc2lvbiBtYXkgYmUgaW5saW5lZCwgb3IgbWF5IGJlIGEgc2ltcGxlIGFic29sdXRlIFVSSSwgd2hpY2ggaXMgYSByZWZlcmVuY2UgdG8gYSBuYW1lZCBleHByZXNzaW9uIHdpdGhpbiBhIGxvZ2ljIGxpYnJhcnkgcmVmZXJlbmNlZCBieSBhIGxpYnJhcnkgZWxlbWVudCBvciBleHRlbnNpb24gd2l0aGluIHRoZSBjb250YWluaW5nIHJlc291cmNlLiBJZiB0aGUgZXhwcmVzc2lvbiBpcyBhIEZISVIgUGF0aCBleHByZXNzaW9uLCBpdCBldmFsdWF0ZXMgaW4gdGhlIGNvbnRleHQgb2YgYSByZXNvdXJjZSBvZiBvbmUgb2YgdGhlIHR5cGUgaWRlbnRpZmllZCBpbiB0aGUgZGF0YSByZXF1aXJlbWVudCwgYW5kIG1heSBhbHNvIHJlZmVyIHRvIHRoZSB2YXJpYWJsZSAlcHJldmlvdXMgZm9yIGRlbHRhIGNvbXBhcmlzb25zIG9uIGV2ZW50cyBvZiB0eXBlIGRhdGEtY2hhbmdlZCwgZGF0YS1tb2RpZmllZCwgYW5kIGRhdGEtZGVsZXRlZCB3aGljaCB3aWxsIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHR5cGUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVURJRW50cnlUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVCTUlQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWJtaSIgbGFiZWw9IlVTIENvcmUgQk1JIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVCaXJ0aFNleEV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCIgbGFiZWw9IlVTIENvcmUgQmlydGggU2V4IEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQmxvb2RQcmVzc3VyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYmxvb2QtcHJlc3N1cmUiIGxhYmVsPSJVUyBDb3JlIEJsb29kIFByZXNzdXJlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdG9saWMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhc3RvbGljIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IkRpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlIZWlnaHRQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWJvZHktaGVpZ2h0IiBsYWJlbD0iVVMgQ29yZSBCb2R5IEhlaWdodCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBIZWlnaHQiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlUZW1wZXJhdHVyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS10ZW1wZXJhdHVyZSIgbGFiZWw9IlVTIENvcmUgQm9keSBUZW1wZXJhdHVyZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBUZW1wZXJhdHVyZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQm9keVdlaWdodFByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS13ZWlnaHQiIGxhYmVsPSJVUyBDb3JlIEJvZHkgV2VpZ2h0IFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IFdlaWdodCIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkV4dGVuc2lvbiIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUV0aG5pY2l0eUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1ldGhuaWNpdHkiIGxhYmVsPSJVUyBDb3JlIEV0aG5pY2l0eSBFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9tYkNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nb21iQ2F0ZWdvcnknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaXNwYW5pYyBvciBMYXRpbm98Tm90IEhpc3BhbmljIG9yIExhdGlubyIgZGVmaW5pdGlvbj0iVGhlIDIgZXRobmljaXR5IGNhdGVnb3J5IGNvZGVzIGFjY29yZGluZyB0byB0aGUgW09NQiBTdGFuZGFyZHMgZm9yIE1haW50YWluaW5nLCBDb2xsZWN0aW5nLCBhbmQgUHJlc2VudGluZyBGZWRlcmFsIERhdGEgb24gUmFjZSBhbmQgRXRobmljaXR5LCBTdGF0aXN0aWNhbCBQb2xpY3kgRGlyZWN0aXZlIE5vLiAxNSwgYXMgcmV2aXNlZCwgT2N0b2JlciAzMCwgMTk5N10oaHR0cHM6Ly93d3cuZ292aW5mby5nb3YvY29udGVudC9wa2cvRlItMTk5Ny0xMC0zMC9wZGYvOTctMjg2NTMucGRmKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSglcGFyZW50LmV4dGVuc2lvblt1cmw9J2RldGFpbGVkJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iRXh0ZW5kZWQgZXRobmljaXR5IGNvZGVzIiBkZWZpbml0aW9uPSJUaGUgNDEgQ0RDIGV0aG5pY2l0eSBjb2RlcyB0aGF0IGFyZSBncm91cGVkIHVuZGVyIG9uZSBvZiB0aGUgMiBPTUIgZXRobmljaXR5IGNhdGVnb3J5IGNvZGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0ndGV4dCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZXRobmljaXR5IFRleHQiIGRlZmluaXRpb249IlBsYWluIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGV0aG5pY2l0eSBjb25jZXB0KHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJpZGVudGlmaWVzIHRoZSBtZWFuaW5nIG9mIHRoZSBleHRlbnNpb24iIGRlZmluaXRpb249IlNvdXJjZSBvZiB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGV4dGVuc2lvbiBjb2RlIC0gYSBsb2dpY2FsIG5hbWUgb3IgYSBVUkwuIiBjb21tZW50PSJUaGUgZGVmaW5pdGlvbiBtYXkgcG9pbnQgZGlyZWN0bHkgdG8gYSBjb21wdXRhYmxlIG9yIGh1bWFuLXJlYWRhYmxlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2liaWxpdHkgY29kZXMsIG9yIGl0IG1heSBiZSBhIGxvZ2ljYWwgVVJJIGFzIGRlY2xhcmVkIGluIHNvbWUgb3RoZXIgc3BlY2lmaWNhdGlvbi4gVGhlIGRlZmluaXRpb24gU0hBTEwgYmUgYSBVUkkgZm9yIHRoZSBTdHJ1Y3R1cmUgRGVmaW5pdGlvbiBkZWZpbmluZyB0aGUgZXh0ZW5zaW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVFeHRlbnNpb25RdWVzdGlvbm5haXJlVXJpIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV4dGVuc2lvbi1xdWVzdGlvbm5haXJlLXVyaSIgbGFiZWw9IlVTIENvcmUgRXh0ZW5zaW9uIFF1ZXN0aW9ubmFpcmUgVVJJIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVHZW5kZXJJZGVudGl0eUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1nZW5kZXJJZGVudGl0eSIgbGFiZWw9IlVTIENvcmUgR2VuZGVyIElkZW50aXR5IEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSGVhZENpcmN1bWZlcmVuY2VQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWhlYWQtY2lyY3VtZmVyZW5jZSIgbGFiZWw9IlVTIENvcmUgSGVhZCBDaXJjdW1mZXJlbmNlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIZWFkIENpcmN1bWZlcmVuY2UiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUhlYXJ0UmF0ZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtaGVhcnQtcmF0ZSIgbGFiZWw9IlVTIENvcmUgSGVhcnQgUmF0ZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGVhcnQgUmF0ZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSW1wbGFudGFibGVEZXZpY2VQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWltcGxhbnRhYmxlLWRldmljZSIgbGFiZWw9IlVTIENvcmUgSW1wbGFudGFibGUgRGV2aWNlIFByb2ZpbGUiIHRhcmdldD0iRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249Ikluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpbnN0YW5jZSBpZGVudGlmaWVycyBhc3NpZ25lZCB0byBhIGRldmljZSBieSBtYW51ZmFjdHVyZXJzIG90aGVyIG9yZ2FuaXphdGlvbnMgb3Igb3duZXJzLiIgY29tbWVudD0iVGhlIGJhcmNvZGUgc3RyaW5nIGZyb20gYSBiYXJjb2RlIHByZXNlbnQgb24gYSBkZXZpY2UgbGFiZWwgb3IgcGFja2FnZSBtYXkgaWRlbnRpZnkgdGhlIGluc3RhbmNlLCBpbmNsdWRlIG5hbWVzIGdpdmVuIHRvIHRoZSBkZXZpY2UgaW4gbG9jYWwgdXNhZ2UsIG9yIG1heSBpZGVudGlmeSB0aGUgdHlwZSBvZiBkZXZpY2UuIElmIHRoZSBpZGVudGlmaWVyIGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgZGV2aWNlLCBEZXZpY2UudHlwZSBlbGVtZW50IHNob3VsZCBiZSB1c2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idWRpQ2FycmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuVWRpQ2FycmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllciAoVURJKSBCYXJjb2RlIHN0cmluZyIgZGVmaW5pdGlvbj0iVW5pcXVlIGRldmljZSBpZGVudGlmaWVyIChVREkpIGFzc2lnbmVkIHRvIGRldmljZSBsYWJlbCBvciBwYWNrYWdlLiAgTm90ZSB0aGF0IHRoZSBEZXZpY2UgbWF5IGluY2x1ZGUgbXVsdGlwbGUgdWRpQ2FycmllcnMgYXMgaXQgZWl0aGVyIG1heSBpbmNsdWRlIGp1c3QgdGhlIHVkaUNhcnJpZXIgZm9yIHRoZSBqdXJpc2RpY3Rpb24gaXQgaXMgc29sZCwgb3IgZm9yIG11bHRpcGxlIGp1cmlzZGljdGlvbnMgaXQgY291bGQgaGF2ZSBiZWVuIHNvbGQuIiBjb21tZW50PSJTb21lIGRldmljZXMgbWF5IG5vdCBoYXZlIFVESSBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUuIGhpc3RvcmljYWwgZGF0YSBvciBwYXRpZW50IHJlcG9ydGVkIGRhdGEpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Im9ubGluZSB8IHBhdXNlZCB8IHN0YW5kYnkgfCBvZmZsaW5lIHwgbm90LXJlYWR5IHwgdHJhbnNkdWMtZGlzY29uIHwgaHctZGlzY29uIHwgb2ZmIiBkZWZpbml0aW9uPSJSZWFzb24gZm9yIHRoZSBkdGF0dXMgb2YgdGhlIERldmljZSBhdmFpbGFiaWxpdHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJEZXZpY2VTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IHN0YXR1cyByZWFzb24gb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdGluY3RJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIiBkZWZpbml0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIGFzIHJlcXVpcmVkIGJ5IHJlZ3VsYXRpb24gZm9yIGEgaHVtYW4gY2VsbCwgdGlzc3VlLCBvciBjZWxsdWxhciBhbmQgdGlzc3VlLWJhc2VkIHByb2R1Y3QuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhpcyBhcHBsaWVzIHRvIGRldmljZXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgcmVndWxhdGVkIHVuZGVyICpDb2RlIG9mIEZlZGVyYWwgUmVndWxhdGlvbiAyMUNGUsKnMTI3MS4yOTAoYykqLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIGRldmljZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IkEgbmFtZSBvZiB0aGUgbWFudWZhY3R1cmVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW51ZmFjdHVyZURhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSB3aGVuIHRoZSBkZXZpY2Ugd2FzIG1hZGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHdoZW4gdGhlIGRldmljZSB3YXMgbWFudWZhY3R1cmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSBvZiBleHBpcnkgb2YgdGhpcyBkZXZpY2UgKGlmIGFwcGxpY2FibGUpIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBiZXlvbmQgd2hpY2ggdGhpcyBkZXZpY2UgaXMgbm8gbG9uZ2VyIHZhbGlkIG9yIHNob3VsZCBub3QgYmUgdXNlZCAoaWYgYXBwbGljYWJsZSkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxvdCBudW1iZXIgb2YgbWFudWZhY3R1cmUiIGRlZmluaXRpb249IkxvdCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmlhbE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU2VyaWFsIG51bWJlciBhc3NpZ25lZCBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGUgc2VyaWFsIG51bWJlciBhc3NpZ25lZCBieSB0aGUgb3JnYW5pemF0aW9uIHdoZW4gdGhlIGRldmljZSB3YXMgbWFudWZhY3R1cmVkLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VOYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSBhcyBnaXZlbiBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGlzIHJlcHJlc2VudHMgdGhlIG1hbnVmYWN0dXJlcidzIG5hbWUgb2YgdGhlIGRldmljZSBhcyBwcm92aWRlZCBieSB0aGUgZGV2aWNlLCBmcm9tIGEgVURJIGxhYmVsLCBvciBieSBhIHBlcnNvbiBkZXNjcmliaW5nIHRoZSBEZXZpY2UuICBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSB1c2VkIHdoZW4gYSBwZXJzb24gcHJvdmlkZXMgdGhlIG5hbWUocykgb3Igd2hlbiB0aGUgZGV2aWNlIHJlcHJlc2VudHMgb25lIG9mIHRoZSBuYW1lcyBhdmFpbGFibGUgZnJvbSBEZXZpY2VEZWZpbml0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5EZXZpY2VOYW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RlbE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG1vZGVsIG51bWJlciBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIG1vZGVsIG51bWJlciBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcnQgbnVtYmVyIG9mIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9yIHR5cGUgb2YgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUga2luZCBvciB0eXBlIG9mIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IG1lZGljYWwgZGV2aWNlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsaXphdGlvbiIgZGVzY3JpcHRpb249IlRoZSBjYXBhYmlsaXRpZXMgc3VwcG9ydGVkIG9uIGEgIGRldmljZSwgdGhlIHN0YW5kYXJkcyB0byB3aGljaCB0aGUgZGV2aWNlIGNvbmZvcm1zIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgYW5kIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgY2FwYWJpbGl0aWVzIHN1cHBvcnRlZCBvbiBhICBkZXZpY2UsIHRoZSBzdGFuZGFyZHMgdG8gd2hpY2ggdGhlIGRldmljZSBjb25mb3JtcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UsIGFuZCB1c2VkIGZvciB0aGUgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuU3BlY2lhbGl6YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5WZXJzaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9wZXJ0eSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBvZiBhIGRldmljZSBhcyBpdCBhY3R1YWxseSBvcGVyYXRlcywgZS5nLiwgcmVndWxhdGlvbiBzdGF0dXMsIHRpbWUgcHJvcGVydGllcyIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBjb25maWd1cmF0aW9uIHNldHRpbmdzIG9mIGEgZGV2aWNlIGFzIGl0IGFjdHVhbGx5IG9wZXJhdGVzLCBlLmcuLCByZWd1bGF0aW9uIHN0YXR1cywgdGltZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5Qcm9wZXJ0eSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQYXRpZW50IHRvIHdob20gRGV2aWNlIGlzIGFmZml4ZWQiIGRlZmluaXRpb249IlBhdGllbnQgaW5mb3JtYXRpb24sIElmIHRoZSBkZXZpY2UgaXMgYWZmaXhlZCB0byBhIHBlcnNvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im93bmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgZGV2aWNlIiBkZWZpbml0aW9uPSJBbiBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHByb3Zpc2lvbiBhbmQgb25nb2luZyBtYWludGVuYW5jZSBvZiB0aGUgZGV2aWNlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWN0IiBkZXNjcmlwdGlvbj0iRGV0YWlscyBmb3IgaHVtYW4vb3JnYW5pemF0aW9uIGZvciBzdXBwb3J0IiBkZWZpbml0aW9uPSJDb250YWN0IGRldGFpbHMgZm9yIGFuIG9yZ2FuaXphdGlvbiBvciBhIHBhcnRpY3VsYXIgaHVtYW4gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGRldmljZS4iIGNvbW1lbnQ9InVzZWQgZm9yIHRyb3VibGVzaG9vdGluZyBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZGV2aWNlIGlzIGZvdW5kIiBkZWZpbml0aW9uPSJUaGUgcGxhY2Ugd2hlcmUgdGhlIGRldmljZSBjYW4gYmUgZm91bmQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmV0d29yayBhZGRyZXNzIHRvIGNvbnRhY3QgZGV2aWNlIiBkZWZpbml0aW9uPSJBIG5ldHdvcmsgYWRkcmVzcyBvbiB3aGljaCB0aGUgZGV2aWNlIG1heSBiZSBjb250YWN0ZWQgZGlyZWN0bHkuIiBjb21tZW50PSJJZiB0aGUgZGV2aWNlIGlzIHJ1bm5pbmcgYSBGSElSIHNlcnZlciwgdGhlIG5ldHdvcmsgYWRkcmVzcyBzaG91bGQgIGJlIHRoZSBCYXNlIFVSTCBmcm9tIHdoaWNoIGEgY29uZm9ybWFuY2Ugc3RhdGVtZW50IG1heSBiZSByZXRyaWV2ZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJEZXZpY2Ugbm90ZXMgYW5kIGNvbW1lbnRzIiBkZWZpbml0aW9uPSJEZXNjcmlwdGl2ZSBpbmZvcm1hdGlvbiwgdXNhZ2UgaW5mb3JtYXRpb24gb3IgaW1wbGFudGF0aW9uIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IGNhcHR1cmVkIGluIGFuIGV4aXN0aW5nIGVsZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2FmZXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2FmZXR5IENoYXJhY3RlcmlzdGljcyBvZiBEZXZpY2UiIGRlZmluaXRpb249IlByb3ZpZGVzIGFkZGl0aW9uYWwgc2FmZXR5IGNoYXJhY3RlcmlzdGljcyBhYm91dCBhIG1lZGljYWwgZGV2aWNlLiAgRm9yIGV4YW1wbGUgZGV2aWNlcyBjb250YWluaW5nIGxhdGV4LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcmVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGFyZW50IGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHBhcmVudCBkZXZpY2UuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlT2JzZXJ2YXRpb25TRE9IQXNzZXNzbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1vYnNlcnZhdGlvbi1zZG9oLWFzc2Vzc21lbnQiIGxhYmVsPSJVUyBDb3JlIE9ic2VydmF0aW9uIFNET0ggQXNzZXNzbWVudCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcHJvdmlkaW5nIHRoZSBzdGF0dXMgb2YgYW4gb2JzZXJ2YXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXJ2ZXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNkb2giIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2Ygb2JzZXJ2YXRpb24gKGNvZGUgLyB0eXBlKSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iIGNvbW1lbnQ9IlNvbWUgcXVlc3Rpb25zIG9uIHF1ZXN0aW9ubmFpcmVzIGFyZSBub3QgYW5zd2VyZWQgZGlyZWN0bHkgKGUuZy4sIGFzc2VydGVkKSBieSB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBxdWVzdGlvbm5haXJlLCBidXQgYXJlIGRlcml2ZWQgZnJvbSBhbnN3ZXJzIHRvIG9uZSBvciBtb3JlIG90aGVyIHF1ZXN0aW9ucy4gRm9yIHR5cGVzIG9mIGFuc3dlcnMsIGBPYnNlcnZhdGlvbi5wZXJmb3JtZXJgIHNob3VsZCBub3QgYmUgc3BlY2lmaWVkIGFuZCBgT2JzZXJ2YXRpb24uZGVyaXZlZEZyb21gIHNob3VsZCByZWZlcmVuY2UgdGhlIHJlbGV2YW50IFNjcmVlbmluZyBSZXNwb25zZSBPYnNlcnZhdGlvbihzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmUgYSB2YWx1ZSBpZiBpdCByZXByZXNlbnRzIGFuIGluZGl2aWR1YWwgc3VydmV5IHF1ZXN0aW9uIGFuZCBhbnN3ZXIgcGFpci4gQW4gb2JzZXJ2YXRpb24gc2hvdWxkIG5vdCBoYXZlIGEgdmFsdWUgaWYgaXQgcmVwcmVzZW50cyBhIG11bHRpLXF1ZXN0aW9uIHN1cnZleSBvciBtdWx0aS1zZWxlY3Qg4oCcY2hlY2sgYWxsIHRoYXQgYXBwbHnigJ0gcXVlc3Rpb24uIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9IiZxdW90O051bGwmcXVvdDsgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgVGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiBGb3IgYSBnaXZlbiBMT0lOQyBxdWVzdGlvbiwgaWYgdGhlIExPSU5DIGFuc3dlciBsaXN0IGluY2x1ZGVzIGNvbmNlcHRzIHN1Y2ggYXMgJ3Vua25vd24nIG9yICdub3QgYXZhaWxhYmxlJywgdGhleSBzaG91bGQgYmUgdXNlZCBmb3IgT2JzZXJ2YXRpb24udmFsdWUuIFdoZXJlIHRoZXNlIGNvbmNlcHRzIGFyZSBub3QgcGFydCBvZiB0aGUgdmFsdWUgc2V0IGZvciBPYnNlcnZhdGlvbi52YWx1ZSwgdGhlIE9ic2VydmF0aW9uLmRhdGFBYnNlbnRSZWFzb24gY2FuIGJlIHVzZWQgaWYgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgT2JzZXJ2YXRpb25zIHRoYXQgYmVsb25nIHRvIGFuIFNET0ggbXVsdGktcXVlc3Rpb24gc3J1dmV5IG9yIG11bHRpLXNlbGVjdCBxdWVzdGlvbi4iIGRlZmluaXRpb249IkFnZ3JlZ2F0ZSBzZXQgb2YgT2JzZXJ2YXRpb25zIHRoYXQgcmVwcmVzZW50IHF1ZXN0aW9uIGFuc3dlciBwYWlycyBmb3IgYm90aCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXlzIGFuZCBtdWx0aS1zZWxlY3QgcXVlc3Rpb25zLiIgY29tbWVudD0iVGhpcyBncm91cGluZyBlbGVtZW50IGlzIHVzZWQgdG8gcmVwcmVzZW50IHN1cnZleXMgdGhhdCBncm91cCBzZXZlcmFsIHF1ZXN0aW9ucyB0b2dldGhlciBvciBpbmRpdmlkdWFsIHF1ZXN0aW9ucyB3aXRoICDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSByZXNwb25zZXMuIEZvciBleGFtcGxlIGluIHRoZSBzaW1wbGVzdCBjYXNlIGEgZmxhdCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgd2hlcmUgdGhlICZxdW90O3BhbmVsJnF1b3Q7IG9ic2VydmF0aW9uIGlzIHRoZSBzdXJ2ZXkgaW5zdHJ1bWVudCBpdHNlbGYgYW5kIGluc3RlYWQgb2YgYW4gYE9ic2VydmF0aW9uLnZhbHVlYCB0aGUgYGhhc01lbWJlcmAgZWxlbWVudCByZWZlcmVuY2VzIG90aGVyIE9ic2VydmF0aW9uIHRoYXQgcmVwcmVzZW50IHRoZSBpbmRpdmlkdWFsIHF1ZXN0aW9ucyBhbnN3ZXIgcGFpcnMuIEluIGEgc3VydmV5IHRoYXQgaGFzIGEgaGVpcmFyY2hpY2FsIGdyb3VwaW5nIG9mIHF1ZXN0aW9ucywgdGhlIG9ic2VydmF0aW9uICZxdW90O3BhbmVscyZxdW90OyBjYW4gYmUgbmVzdGVkLiBCZWNhdXNlIHN1cnZleXMgY2FuIGJlIGFyYml0cmFyaWx5IGNvbXBsZXggc3RydWN0dXJhbGx5LCBub3QgYWxsIHN1cnZleSBzdHJ1Y3R1cmVzIGNhbiBiZSByZXByZXNlbnRlZCB1c2luZyB0aGlzIE9ic2VydmF0aW9uIGdyb3VwaW5nIHBhdHRlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIE9ic2VydmF0aW9ucyBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2VzIHRoYXQgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iT2JzZXJ2YXRpb25zIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZXMgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZU9ic2VydmF0aW9uU2V4dWFsT3JpZW50YXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLXNleHVhbC1vcmllbnRhdGlvbiIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gU2V4dWFsIE9yaWVudGF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2V4dWFsIE9yaWVudGF0aW9uIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBuYW1lcyBvZiBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGlzIHJlY29yZHMgdGhlIHRpbWUgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IGhhZCBpZGVudGlmaWVkIHRoZWlyIGVtb3Rpb25hbCwgcm9tYW50aWMsIHNleHVhbCwgb3IgYWZmZWN0aW9uYWwgYXR0cmFjdGlvbiB0byBhbm90aGVyIHBlcnNvbi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlT2JzZXJ2YXRpb25Tb2NpYWxIaXN0b3J5UHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1vYnNlcnZhdGlvbi1zb2NpYWwtaGlzdG9yeSIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gU29jaWFsIEhpc3RvcnkgUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZS9zb2NpYWwtaGlzdG9yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2RvaCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBvYnNlcnZhdGlvbiAoY29kZSAvIHR5cGUpIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkRhdGV0aW1lIG11c3QgYmUgYXQgbGVhc3QgdG8gZGF5LiI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gMTAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUGVkaWF0cmljQk1JZm9yQWdlT2JzZXJ2YXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9wZWRpYXRyaWMtYm1pLWZvci1hZ2UiIGxhYmVsPSJVUyBDb3JlIFBlZGlhdHJpYyBCTUkgZm9yIEFnZSBPYnNlcnZhdGlvbiBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQk1JIHBlcmNlbnRpbGUgcGVyIGFnZSBhbmQgc2V4IGZvciB5b3V0aCAyLTIwIiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpID49IDgiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVQZWRpYXRyaWNIZWFkT2NjaXBpdGFsRnJvbnRhbENpcmN1bWZlcmVuY2VQZXJjZW50aWxlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vaGVhZC1vY2NpcGl0YWwtZnJvbnRhbC1jaXJjdW1mZXJlbmNlLXBlcmNlbnRpbGUiIGxhYmVsPSJVUyBDb3JlIFBlZGlhdHJpYyBIZWFkIE9jY2lwaXRhbC1mcm9udGFsIENpcmN1bWZlcmVuY2UgUGVyY2VudGlsZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGVhZCBPY2NpcGl0YWwtZnJvbnRhbCBjaXJjdW1mZXJlbmNlIFBlcmNlbnRpbGUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY1dlaWdodEZvckhlaWdodE9ic2VydmF0aW9uUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcGVkaWF0cmljLXdlaWdodC1mb3ItaGVpZ2h0IiBsYWJlbD0iVVMgQ29yZSBQZWRpYXRyaWMgV2VpZ2h0IGZvciBIZWlnaHQgT2JzZXJ2YXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldlaWdodC1mb3ItbGVuZ3RoIHBlciBhZ2UgYW5kIGdlbmRlciIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUHVsc2VPeGltZXRyeVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcHVsc2Utb3hpbWV0cnkiIGxhYmVsPSJVUyBDb3JlIFB1bHNlIE94aW1ldHJ5IFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPeHlnZW4gU2F0dXJhdGlvbiBieSBQdWxzZSBPeGltZXRyeSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iVGhlIGNvZGUgKDU5NDA4LTUgT3h5Z2VuIHNhdHVyYXRpb24gaW4gQXJ0ZXJpYWwgYmxvb2QgYnkgUHVsc2Ugb3hpbWV0cnkpIGlzIGluY2x1ZGVkIGFzIGFuIGFkZGl0aW9uYWwgb2JzZXJ2YXRpb24gY29kZSB0byBGSElSIENvcmUgdml0YWwgT3h5Z2VuIFNhdHVyYXRpb24gY29kZSAoMjcwOC02IE94eWdlbiBzYXR1cmF0aW9uIGluIEFydGVyaWFsIGJsb29kKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iUHVsc2VPeCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGNvZGUgZGVmaW5lZCBieSBhIHRlcm1pbm9sb2d5IHN5c3RlbS4iIGNvbW1lbnQ9IkNvZGVzIG1heSBiZSBkZWZpbmVkIHZlcnkgY2FzdWFsbHkgaW4gZW51bWVyYXRpb25zLCBvciBjb2RlIGxpc3RzLCB1cCB0byB2ZXJ5IGZvcm1hbCBkZWZpbml0aW9ucyBzdWNoIGFzIFNOT01FRCBDVCAtIHNlZSB0aGUgSEw3IHYzIENvcmUgUHJpbmNpcGxlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gIE9yZGVyaW5nIG9mIGNvZGluZ3MgaXMgdW5kZWZpbmVkIGFuZCBTSEFMTCBOT1QgYmUgdXNlZCB0byBpbmZlciBtZWFuaW5nLiBHZW5lcmFsbHksIGF0IG1vc3Qgb25seSBvbmUgb2YgdGhlIGNvZGluZyB2YWx1ZXMgd2lsbCBiZSBsYWJlbGVkIGFzIFVzZXJTZWxlY3RlZCA9IHRydWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJPMlNhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGNvZGUgZGVmaW5lZCBieSBhIHRlcm1pbm9sb2d5IHN5c3RlbS4iIGNvbW1lbnQ9IkNvZGVzIG1heSBiZSBkZWZpbmVkIHZlcnkgY2FzdWFsbHkgaW4gZW51bWVyYXRpb25zLCBvciBjb2RlIGxpc3RzLCB1cCB0byB2ZXJ5IGZvcm1hbCBkZWZpbml0aW9ucyBzdWNoIGFzIFNOT01FRCBDVCAtIHNlZSB0aGUgSEw3IHYzIENvcmUgUHJpbmNpcGxlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gIE9yZGVyaW5nIG9mIGNvZGluZ3MgaXMgdW5kZWZpbmVkIGFuZCBTSEFMTCBOT1QgYmUgdXNlZCB0byBpbmZlciBtZWFuaW5nLiBHZW5lcmFsbHksIGF0IG1vc3Qgb25seSBvbmUgb2YgdGhlIGNvZGluZyB2YWx1ZXMgd2lsbCBiZSBsYWJlbGVkIGFzIFVzZXJTZWxlY3RlZCA9IHRydWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNhbXBsZWREYXRhIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IkZsb3dSYXRlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IkluaGFsZWQgb3h5Z2VuIGZsb3cgcmF0ZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJDb25jZW50cmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IkluaGFsZWQgb3h5Z2VuIGNvbmNlbnRyYXRpb24iIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUmFjZUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlIiBsYWJlbD0iVVMgQ29yZSBSYWNlIEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ib21iQ2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nb21iQ2F0ZWdvcnknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbWVyaWNhbiBJbmRpYW4gb3IgQWxhc2thIE5hdGl2ZXxBc2lhbnxCbGFjayBvciBBZnJpY2FuIEFtZXJpY2FufE5hdGl2ZSBIYXdhaWlhbiBvciBPdGhlciBQYWNpZmljIElzbGFuZGVyfFdoaXRlIiBkZWZpbml0aW9uPSJUaGUgNSByYWNlIGNhdGVnb3J5IGNvZGVzIGFjY29yZGluZyB0byB0aGUgW09NQiBTdGFuZGFyZHMgZm9yIE1haW50YWluaW5nLCBDb2xsZWN0aW5nLCBhbmQgUHJlc2VudGluZyBGZWRlcmFsIERhdGEgb24gUmFjZSBhbmQgRXRobmljaXR5LCBTdGF0aXN0aWNhbCBQb2xpY3kgRGlyZWN0aXZlIE5vLiAxNSwgYXMgcmV2aXNlZCwgT2N0b2JlciAzMCwgMTk5N10oaHR0cHM6Ly93d3cuZ292aW5mby5nb3YvY29udGVudC9wa2cvRlItMTk5Ny0xMC0zMC9wZGYvOTctMjg2NTMucGRmKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nZGV0YWlsZWQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbmRlZCByYWNlIGNvZGVzIiBkZWZpbml0aW9uPSJUaGUgOTAwKyBDREMgcmFjZSBjb2RlcyB0aGF0IGFyZSBncm91cGVkIHVuZGVyIG9uZSBvZiB0aGUgNSBPTUIgcmFjZSBjYXRlZ29yeSBjb2RlczouIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSd0ZXh0J10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSYWNlIFRleHQiIGRlZmluaXRpb249IlBsYWluIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJhY2UgY29uY2VwdChzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaWRlbnRpZmllcyB0aGUgbWVhbmluZyBvZiB0aGUgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJTb3VyY2Ugb2YgdGhlIGRlZmluaXRpb24gZm9yIHRoZSBleHRlbnNpb24gY29kZSAtIGEgbG9naWNhbCBuYW1lIG9yIGEgVVJMLiIgY29tbWVudD0iVGhlIGRlZmluaXRpb24gbWF5IHBvaW50IGRpcmVjdGx5IHRvIGEgY29tcHV0YWJsZSBvciBodW1hbi1yZWFkYWJsZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpYmlsaXR5IGNvZGVzLCBvciBpdCBtYXkgYmUgYSBsb2dpY2FsIFVSSSBhcyBkZWNsYXJlZCBpbiBzb21lIG90aGVyIHNwZWNpZmljYXRpb24uIFRoZSBkZWZpbml0aW9uIFNIQUxMIGJlIGEgVVJJIGZvciB0aGUgU3RydWN0dXJlIERlZmluaXRpb24gZGVmaW5pbmcgdGhlIGV4dGVuc2lvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVSZXNwaXJhdG9yeVJhdGVQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJlc3BpcmF0b3J5LXJhdGUiIGxhYmVsPSJVUyBDb3JlIFJlc3BpcmF0b3J5IFJhdGUgUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlc3BpcmF0b3J5IFJhdGUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVNtb2tpbmdTdGF0dXNQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXNtb2tpbmdzdGF0dXMiIGxhYmVsPSJVUyBDb3JlIFNtb2tpbmcgU3RhdHVzIE9ic2VydmF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlNvY2lhbEhpc3RvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNtb2tpbmcgU3RhdHVzIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVZpdGFsU2lnbnNQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXZpdGFsLXNpZ25zIiBsYWJlbD0iVVMgQ29yZSBWaXRhbCBTaWducyBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzIiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpID49IDgiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVbml0c09mVGltZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVc2FnZUNvbnRleHQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Vc2FnZUNvbnRleHQiIGxhYmVsPSJVc2FnZUNvbnRleHQiIHJldHJpZXZhYmxlPSJmYWxzZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCBieSB0aGlzIHVzYWdlIGNvbnRleHQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNhZ2VDb250ZXh0VHlwZSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IHNwZWNpZmllcyBhIHR5cGUgb2YgY29udGV4dCBiZWluZyBzcGVjaWZpZWQgYnkgYSB1c2FnZSBjb250ZXh0LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWx1ZSB0aGF0IGRlZmluZXMgdGhlIGNvbnRleHQiIGRlZmluaXRpb249IkEgdmFsdWUgdGhhdCBkZWZpbmVzIHRoZSBjb250ZXh0IHNwZWNpZmllZCBpbiB0aGlzIGNvbnRleHQgb2YgdXNlLiBUaGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIHZhbHVlIGlzIGRlZmluZWQgYnkgdGhlIGNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVzYWdlQ29udGV4dFZhbHVlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgZGVmaW5lcyB0aGUgc3BlY2lmaWMgdmFsdWUgZm9yIHRoZSBjb250ZXh0IGJlaW5nIHNwZWNpZmllZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJhYmF0ZW1lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9mYW1pbHltZW1iZXJoaXN0b3J5LWFiYXRlbWVudCIgbGFiZWw9ImFiYXRlbWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvYmFzZVR5cGVTcGVjaWZpZXI+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImFwcHJvYWNoQm9keVN0cnVjdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1hcHByb2FjaEJvZHlTdHJ1Y3R1cmUiIGxhYmVsPSJhcHByb2FjaEJvZHlTdHJ1Y3R1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5EYXRlVGltZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImFzc2VydGVkRGF0ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUiIGxhYmVsPSJhc3NlcnRlZERhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5BZGRyZXNzIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iYmlydGhQbGFjZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3BhdGllbnQtYmlydGhQbGFjZSIgbGFiZWw9IkJpcnRoIFBsYWNlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJiaXJ0aFRpbWUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LWJpcnRoVGltZSIgbGFiZWw9IkJpcnRoIFRpbWUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5Db25jZXB0IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iYm9keVBvc2l0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vb2JzZXJ2YXRpb24tYm9keVBvc2l0aW9uIiBsYWJlbD0iYm9keVBvc2l0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImNhZGF2ZXJpY0Rvbm9yIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcGF0aWVudC1jYWRhdmVyaWNEb25vciIgbGFiZWw9ImNhZGF2ZXJpY0Rvbm9yIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImNvbXBsZXRpb25Nb2RlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcXVlc3Rpb25uYWlyZXJlc3BvbnNlLWNvbXBsZXRpb25Nb2RlIiBsYWJlbD0iY29tcGxldGlvbk1vZGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImR1ZVRvIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLWR1ZVRvIiBsYWJlbD0iZHVlVG8iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxiYXNlVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvYmFzZVR5cGVTcGVjaWZpZXI+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlF1YW50aXR5IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iZHVyYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9hbGxlcmd5aW50b2xlcmFuY2UtZHVyYXRpb24iIGxhYmVsPSJkdXJhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkRhdGVUaW1lIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iaW5jaXNpb25EYXRlVGltZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1pbmNpc2lvbkRhdGVUaW1lIiBsYWJlbD0iaW5jaXNpb25EYXRlVGltZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImxvY2F0aW9uUGVyZm9ybWVkIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlhZ25vc3RpY1JlcG9ydC1sb2NhdGlvblBlcmZvcm1lZCIgbGFiZWw9ImxvY2F0aW9uUGVyZm9ybWVkIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0ibmF0aW9uYWxpdHkiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LW5hdGlvbmFsaXR5IiBsYWJlbD0ibmF0aW9uYWxpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2NvZGUnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJOYXRpb25hbGl0eSBDb2RlIiBkZWZpbml0aW9uPSJDb2RlIHJlcHJlc2VudGluZyBuYXRpb25hbGl0eSBvZiBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCglcGFyZW50LmV4dGVuc2lvblt1cmw9J3BlcmlvZCddLnZhbHVlKSIgZGVzY3JpcHRpb249Ik5hdGlvbmFsaXR5IFBlcmlvZCIgZGVmaW5pdGlvbj0iUGVyaW9kIHdoZW4gbmF0aW9uYWxpdHkgd2FzIGVmZmVjdGl2ZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJpZGVudGlmaWVzIHRoZSBtZWFuaW5nIG9mIHRoZSBleHRlbnNpb24iIGRlZmluaXRpb249IlNvdXJjZSBvZiB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGV4dGVuc2lvbiBjb2RlIC0gYSBsb2dpY2FsIG5hbWUgb3IgYSBVUkwuIiBjb21tZW50PSJUaGUgZGVmaW5pdGlvbiBtYXkgcG9pbnQgZGlyZWN0bHkgdG8gYSBjb21wdXRhYmxlIG9yIGh1bWFuLXJlYWRhYmxlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2liaWxpdHkgY29kZXMsIG9yIGl0IG1heSBiZSBhIGxvZ2ljYWwgVVJJIGFzIGRlY2xhcmVkIGluIHNvbWUgb3RoZXIgc3BlY2lmaWNhdGlvbi4gVGhlIGRlZmluaXRpb24gU0hBTEwgYmUgYSBVUkkgZm9yIHRoZSBTdHJ1Y3R1cmUgRGVmaW5pdGlvbiBkZWZpbmluZyB0aGUgZXh0ZW5zaW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Im9ic2VydmF0aW9uLW94eWdlbnNhdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL294eWdlbnNhdCIgbGFiZWw9Ik9ic2VydmF0aW9uIE94eWdlbiBTYXR1cmF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPeHlnZW4gU2F0dXJhdGlvbiIgZGVmaW5pdGlvbj0iT3h5Z2VuIFNhdHVyYXRpb24uIiBjb21tZW50PSJhZGRpdGlvbmFsIGNvZGVzIHRoYXQgdHJhbnNsYXRlIG9yIG1hcCB0byB0aGlzIGNvZGUgYXJlIGFsbG93ZWQuICBGb3IgZXhhbXBsZSBhIG1vcmUgZ3JhbnVsYXIgTE9JTkMgY29kZSBvciBjb2RlIHRoYXQgaXMgdXNlZCBsb2NhbGx5IGluIGEgc3lzdGVtLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJWaXRhbFNpZ25zIiBkZXNjcmlwdGlvbj0iVGhpcyBpZGVudGlmaWVzIHRoZSB2aXRhbCBzaWduIHJlc3VsdCB0eXBlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJPeHlnZW5TYXRDb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuY29kZS5jb2Rpbmdbc3lzdGVtPSdodHRwOi8vbG9pbmMub3JnJyxjb2RlPScyNzA4LTYnXSkiIGRlc2NyaXB0aW9uPSJDb2RlIGRlZmluZWQgYnkgYSB0ZXJtaW5vbG9neSBzeXN0ZW0iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgY29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtLiIgY29tbWVudD0iQ29kZXMgbWF5IGJlIGRlZmluZWQgdmVyeSBjYXN1YWxseSBpbiBlbnVtZXJhdGlvbnMsIG9yIGNvZGUgbGlzdHMsIHVwIHRvIHZlcnkgZm9ybWFsIGRlZmluaXRpb25zIHN1Y2ggYXMgU05PTUVEIENUIC0gc2VlIHRoZSBITDcgdjMgQ29yZSBQcmluY2lwbGVzIGZvciBtb3JlIGluZm9ybWF0aW9uLiAgT3JkZXJpbmcgb2YgY29kaW5ncyBpcyB1bmRlZmluZWQgYW5kIFNIQUxMIE5PVCBiZSB1c2VkIHRvIGluZmVyIG1lYW5pbmcuIEdlbmVyYWxseSwgYXQgbW9zdCBvbmx5IG9uZSBvZiB0aGUgY29kaW5nIHZhbHVlcyB3aWxsIGJlIGxhYmVsZWQgYXMgVXNlclNlbGVjdGVkID0gdHJ1ZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpID49IDgiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIEZvciBzdXBwb3J0aW5nIG9ic2VydmF0aW9ucyBzdWNoIGFzIEN1ZmYgc2l6ZSBjb3VsZCB1c2Ugb3RoZXIgZGF0YXR5cGVzIHN1Y2ggYXMgQ29kZWFibGVDb25jZXB0LiIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIEZvciBzdXBwb3J0aW5nIG9ic2VydmF0aW9ucyBzdWNoIGFzIEN1ZmYgc2l6ZSBjb3VsZCB1c2Ugb3RoZXIgZGF0YXR5cGVzIHN1Y2ggYXMgQ29kZWFibGVDb25jZXB0LiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Im9jY3VycmVkRm9sbG93aW5nIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLW9jY3VycmVkRm9sbG93aW5nIiBsYWJlbD0ib2NjdXJyZWRGb2xsb3dpbmciIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxiYXNlVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvYmFzZVR5cGVTcGVjaWZpZXI+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkJvb2xlYW4iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJwcmVmZXJyZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQiIGxhYmVsPSJwcmVmZXJyZWQiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5Db25jZXB0IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0icmVhc29uUmVqZWN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9nb2FsLXJlYXNvblJlamVjdGVkIiBsYWJlbD0icmVhc29uIHJlamVjdGVkIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InJlbGlnaW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcGF0aWVudC1yZWxpZ2lvbiIgbGFiZWw9InJlbGlnaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJyZXNvbHV0aW9uQWdlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vYWxsZXJneWludG9sZXJhbmNlLXJlc29sdXRpb25BZ2UiIGxhYmVsPSJyZXNvbHV0aW9uQWdlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uSW50ZWdlciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InNlcXVlbmNlTnVtYmVyIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vc3BlY2ltZW4tc2VxdWVuY2VOdW1iZXIiIGxhYmVsPSJzZXF1ZW5jZU51bWJlciIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJzZXZlcml0eSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHkiIGxhYmVsPSJzZXZlcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLlNpZ25hdHVyZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InNpZ25hdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1zaWduYXR1cmUiIGxhYmVsPSJzaWduYXR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8Y29udGV4dEluZm8gbmFtZT0iUHJhY3RpdGlvbmVyIiBrZXlFbGVtZW50PSJpZCI+CiAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyIi8+CiAgIDwvY29udGV4dEluZm8+CiAgIDxjb250ZXh0SW5mbyBuYW1lPSJEZXZpY2UiIGtleUVsZW1lbnQ9ImlkIj4KICAgICAgPGNvbnRleHRUeXBlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UiLz4KICAgPC9jb250ZXh0SW5mbz4KICAgPGNvbnRleHRJbmZvIG5hbWU9IlBhdGllbnQiIGtleUVsZW1lbnQ9ImlkIiBiaXJ0aERhdGVFbGVtZW50PSJiaXJ0aERhdGUiPgogICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0SW5mbz4KICAgPGNvbnRleHRJbmZvIG5hbWU9IkVuY291bnRlciIga2V5RWxlbWVudD0iaWQiPgogICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlciIvPgogICA8L2NvbnRleHRJbmZvPgogICA8Y29udGV4dEluZm8gbmFtZT0iUmVsYXRlZFBlcnNvbiIga2V5RWxlbWVudD0iaWQiPgogICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRQZXJzb24iLz4KICAgPC9jb250ZXh0SW5mbz4KPC9tb2RlbEluZm8+"/>
    <url
         value="https://github.com/cqframework/clinical_quality_language/blob/master/Src/java/quick/src/main/resources/org/hl7/fhir/qicore-modelinfo-5.0.0.xml"/>
  </content>
</Library>