WHO Immunization Implementation Guide
0.2.0 - ci-build

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions

: IMMZD2DTDTPEncounterElements - TTL Representation

Draft as of 2025-08-08

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "IMMZD2DTDTPEncounterElements"] ; # 
  fhir:meta [
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module>     ] )
  ] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTDTPEncounterElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTDTPEncounterElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.2.0</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD2DTDTPEncounterElements.html\">IMMZD2DTDTPEncounterElements</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span><a href=\"http://terminology.hl7.org/6.0.2/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2025-08-08 19:12:11+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">WHO</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>This library defines encounter-based elements for DTP used throughout the Immunization CPG</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Related Artifacts: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                \n                \n                <p><b>Dependencies</b></p>\n                <ul>\n                  \n                    <li><a href=\"Library-WHOConcepts.html\">WHOConcepts</a></li>\n                  \n                    <li><a href=\"Library-WHOCommon.html\">WHOCommon</a></li>\n                  \n                    <li><a href=\"Library-WHOElements.html\">WHOElements</a></li>\n                  \n                    <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n                  \n                    <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n                  \n                    <li><a href=\"Library-IMMZEncounterElements.html\">IMMZEncounterElements</a></li>\n                  \n                    <li><a href=\"Library-IMMZD2DTDTPElements.html\">IMMZD2DTDTPElements</a></li>\n                  \n                </ul>\n                \n                \n                \n                \n                \n            </td>\n        </tr>\n        \n\n        \n        <tr>\n          <th scope=\"row\"><b>Parameters: </b></th>\n          <td style=\"padding-left: 4px;\">\n            <table class=\"grid-dict\">\n              <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n              \n                <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>EncounterId</th><th>string</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>DTP Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Td Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Pertussis Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest DTP Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest Td Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest Pertussis Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>DTP Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of DTP Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No DTP primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One DTP primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two DTP primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Three DTP primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Td Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Td Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No tetanus and diphtheria booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One tetanus and diphtheria booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Three tetanus and diphtheria booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Pertussis Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Pertussis Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No pertussis booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One pertussis booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 6 weeks</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is between 6 weeks and 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 12 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than or equal to 12 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 4 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than or equal to 4 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 9 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than or equal to 9 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is between 1 year and 6 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than 6 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered less than 6 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered more than 6 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered less than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest DTP dose was administered more than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered less than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest tetanus and diphtheria dose was administered more than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client is currently pregnant</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n            </table>\n          </td>\n        </tr>\n        \n\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">\n/*\n  * Library: IMMZD2DTDTPEncounterElements\n  */\nlibrary IMMZD2DTDTPEncounterElements\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOConcepts\ninclude WHOCommon called WC\ninclude WHOElements called WE\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\n\ninclude IMMZEncounterElements called Encounter\n\ninclude IMMZD2DTDTPElements called DTPElements\n\nparameter Today Date default Today()\nparameter EncounterId String\n\ncontext Patient\n\n/*\n@internal: DTP containing Doses Administered to Patient\n*/\ndefine \"DTP Doses Administered to Patient\":\n  DTPElements.\"DTP Doses Administered to Patient\".onOrBefore(Today)\n\n/*\n@internal: Td containing Doses Administered to Patient\n*/\ndefine \"Td Doses Administered to Patient\":\n  DTPElements.\"Td Doses Administered to Patient\".onOrBefore(Today)\n\n/*\n@internal: Pertussis containing Doses Administered to Patient\n*/\ndefine \"Pertussis Doses Administered to Patient\":\n  DTPElements.\"Pertussis Doses Administered to Patient\".onOrBefore(Today)\n\n/*\n@internal: Date and time of last DTP dose\n*/\ndefine \"Date of Latest DTP Dose\":\n  date from start of \"DTP Doses Administered to Patient\".mostRecent().occurrence.toInterval()\n\n/*\n@internal: Date and time of last Td dose\n*/\ndefine \"Date of Latest Td Dose\":\n  date from start of \"Td Doses Administered to Patient\".mostRecent().occurrence.toInterval()\n\n/*\n@internal: Date and time of last Pertussis dose\n*/\ndefine \"Date of Latest Pertussis Dose\":\n  date from start of \"Pertussis Doses Administered to Patient\".mostRecent().occurrence.toInterval()\n\n/*\n@internal: DTP containing Doses Administered to Patient that are in the Primary series\n*/\ndefine \"DTP Primary Series Doses Administered to Patient\":\n  DTPElements.\"DTP Primary Series Doses Administered to Patient\".onOrBefore(Today)\n\n/*\n@internal: Number of DTP Primary Series doses\n*/\ndefine \"Number of DTP Primary Series Doses Administered\":\n  Count(\"DTP Primary Series Doses Administered to Patient\")\n\n/*\n@input: No DTP primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"DTP-containing vaccines\" and \"Type of dose\" = \"Primary series\") = 0\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: Determine whether DTP-containing vaccines are needed for pregnant women\n*/\ndefine \"No DTP primary series doses were administered\":\n  \"Number of DTP Primary Series Doses Administered\" = 0\n\n/*\n@input: One DTP primary series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"DTP-containing vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"One DTP primary series dose was administered\":\n  \"Number of DTP Primary Series Doses Administered\" = 1\n\n/*\n@input: Two DTP primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"DTP-containing vaccines\" and \"Type of dose\" = \"Primary series\") = 2\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"Two DTP primary series doses were administered\":\n  \"Number of DTP Primary Series Doses Administered\" = 2\n\n/*\n@input: Three DTP primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"DTP-containing vaccines\" and \"Type of dose\" = \"Primary series\") = 3\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine \"Three DTP primary series doses were administered\":\n  \"Number of DTP Primary Series Doses Administered\" = 3\n\n/*\n@internal: Td containing Doses Administered to Patient that are in the Booster series\n*/\ndefine \"Td Booster Series Doses Administered to Patient\":\n  DTPElements.\"Td Booster Series Doses Administered to Patient\".onOrBefore(Today)\n\n/*\n@internal: Number of Td Booster Series doses\n*/\ndefine \"Number of Td Booster Series Doses Administered\":\n  Count(\"Td Booster Series Doses Administered to Patient\")\n\n/*\n@input: No tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 0\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine \"No tetanus and diphtheria booster doses were administered\":\n  \"Number of Td Booster Series Doses Administered\" = 0\n\n/*\n@input: No tetanus and diphtheria booster dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 0\n@decision: Determine whether DTP-containing vaccines are needed for pregnant women\n*/\ndefine \"No tetanus and diphtheria booster dose was administered\":\n  \"No tetanus and diphtheria booster doses were administered\"\n\n/*\n@input: One tetanus and diphtheria booster dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 1\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine \"One tetanus and diphtheria booster dose was administered\":\n  \"Number of Td Booster Series Doses Administered\" = 1\n\n/*\n@input: One tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 1\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine \"One tetanus and diphtheria booster doses were administered\":\n  \"One tetanus and diphtheria booster dose was administered\"\n\n/*\n@input: Two tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 2\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine \"Two tetanus and diphtheria booster doses were administered\":\n  \"Number of Td Booster Series Doses Administered\" = 2\n\n/*\n@input: Three tetanus and diphtheria booster doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 3\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine \"Three tetanus and diphtheria booster doses were administered\":\n  \"Number of Td Booster Series Doses Administered\" = 3\n\n/*\n@internal: Pertussis containing Doses Administered to Patient that are in the Booster series\n*/\ndefine \"Pertussis Booster Series Doses Administered to Patient\":\n  DTPElements.\"Pertussis Booster Series Doses Administered to Patient\".onOrBefore(Today)\n\n/*\n@internal: Number of Pertussis Booster Series doses\n*/\ndefine \"Number of Pertussis Booster Series Doses Administered\":\n  Count(\"Pertussis Booster Series Doses Administered to Patient\")\n\n/*\n@input: No pertussis booster doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Pertussis-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 0\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"No pertussis booster doses were administered\":\n  \"Number of Pertussis Booster Series Doses Administered\" = 0\n\n/*\n@input: One pertussis booster dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Pertussis-containing vaccines\" and \"Type of dose\" = \"Booster dose\") = 1\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"One pertussis booster dose was administered\":\n  \"Number of Pertussis Booster Series Doses Administered\" = 1\n\n/*\n@input: Client's age is less than 6 weeks\n@pseudocode: Today's date − \"Date of birth\" &lt; 6 weeks\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is less than 6 weeks\":\n  Encounter.\"Current Patient Age In Weeks\" &lt; 6\n\n/*\n@input: Client's age is between 6 weeks and 1 year\n@pseudocode: 6 weeks ≤ Today's date − \"Date of birth\" &lt; 1 year\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is between 6 weeks and 1 year\":\n  6 &lt;= Encounter.\"Current Patient Age In Weeks\" \n  and Encounter.\"Current Patient Age In Years\" &lt; 1\n\n/*\n@input: Client's age is less than 12 months\n@pseudocode: Today's date − \"Date of birth\" &lt; 12 months\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is less than 12 months\":\n  Encounter.\"Current Patient Age In Months\" &lt; 12\n\n/*\n@input: Client's age is more than or equal to 12 months\n@pseudocode: Today's date − \"Date of birth\" ≥ 12 months\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is more than or equal to 12 months\":\n  Encounter.\"Current Patient Age In Months\" &gt;= 12\n\n/*\n@input: Client's age is less than 4 years\n@pseudocode: Today's date − \"Date of birth\" &lt; 4 years\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is less than 4 years\":\n  Encounter.\"Current Patient Age In Years\" &lt; 4\n\n/*\n@input: Client's age is more than or equal to 4 years\n@pseudocode: Today's date − \"Date of birth\" ≥ 4 years\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is more than or equal to 4 years\":\n  Encounter.\"Current Patient Age In Years\" &gt;= 4\n\n/*\n@input: Client's age is less than 9 years\n@pseudocode: Today's date − \"Date of birth\" &lt; 9 years\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is less than 9 years\":\n  Encounter.\"Current Patient Age In Years\" &lt; 9\n\n/*\n@input: Client's age is more than or equal to 9 years\n@pseudocode: Today's date − \"Date of birth\" ≥ 9 years\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is more than or equal to 9 years\":\n  Encounter.\"Current Patient Age In Years\" &gt;= 9\n\n/*\n@input: Client's age is less than 1 year\n@pseudocode: Today's date − \"Date of birth\" &lt; 1 year\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n*/\ndefine \"Client's age is less than 1 year\":\n  Encounter.\"Current Patient Age In Years\" &lt; 1\n\n/*\n@input: Client's age is more than 1 year\n@pseudocode: Today's date − \"Date of birth\" &gt;= 1 year\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"Client's age is more than 1 year\":\n  Encounter.\"Current Patient Age In Years\" &gt;= 1\n\n/*\n@input: Client's age is between 1 year and 6 years\n@pseudocode: 1 year ≤  Today's date − \"Date of birth\" ≤  6 years\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"Client's age is between 1 year and 6 years\":\n  1 &lt;= Encounter.\"Current Patient Age In Years\" \n  and Encounter.\"Current Patient Age In Years\" &lt;= 6\n\n/*\n@input: Client's age is more than 6 years\n@pseudocode: Today's date − \"Date of birth\" &gt;  6 years\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"Client's age is more than 6 years\":\n  Encounter.\"Current Patient Age In Years\" &gt; 6\n\n/*\n@input: The latest DTP dose was administered less than 4 weeks ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"DTP-containing vaccines\") &lt; 4 weeks\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"The latest DTP dose was administered less than 4 weeks ago\":\n  \"Date of Latest DTP Dose\" is not null\n    and duration in weeks between \"Date of Latest DTP Dose\" and Today &lt; 4\n/*\n@input: The latest DTP dose was administered more than 4 weeks ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"DTP-containing vaccines\") ≥ 4 weeks\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"The latest DTP dose was administered more than 4 weeks ago\":\n  not(\"The latest DTP dose was administered less than 4 weeks ago\")\n\n/*\n@input: The latest DTP dose was administered less than 6 months ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"DTP-containing vaccines\") &lt; 6 months\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"The latest DTP dose was administered less than 6 months ago\":\n  \"Date of Latest DTP Dose\" is not null\n    and duration in months between \"Date of Latest DTP Dose\" and Today &lt; 6\n\n/*\n@input: The latest DTP dose was administered more than 6 months ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"DTP-containing vaccines\") ≥ 6 months\n@decision: DTP vaccination schedule, on-time start (at ≤ 12 months of age)\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"The latest DTP dose was administered more than 6 months ago\":\n  not(\"The latest DTP dose was administered less than 6 months ago\")\n\n/*\n@input: The latest DTP dose was administered less than 1 year ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"DTP-containing vaccines\") &lt; 1 year\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"The latest DTP dose was administered less than 1 year ago\":\n  \"Date of Latest DTP Dose\" is not null\n    and duration in years between \"Date of Latest DTP Dose\" and Today &lt; 1\n    \n/*\n@input: The latest DTP dose was administered more than 1 year ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"DTP-containing vaccines\") ≥ 1 year\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n*/\ndefine \"The latest DTP dose was administered more than 1 year ago\":\n  not(\"The latest DTP dose was administered less than 1 year ago\")\n\n/*\n@input: The latest tetanus and diphtheria dose was administered less than 4 weeks ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Tetanus and diphtheria-containing\n vaccines\") &lt; 4 weeks\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine \"The latest tetanus and diphtheria dose was administered less than 4 weeks ago\":\n  \"Date of Latest Td Dose\" is not null\n    and duration in weeks between \"Date of Latest Td Dose\" and Today &lt; 4\n/*\n@input: The latest tetanus and diphtheria dose was administered more than 4 weeks ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Tetanus and diphtheria-containing\n vaccines\") &gt; 4 weeks\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n*/\ndefine \"The latest tetanus and diphtheria dose was administered more than 4 weeks ago\":\n  not(\"The latest tetanus and diphtheria dose was administered less than 4 weeks ago\")\n\n/*\n@input: The latest tetanus and diphtheria dose was administered less than 1 year ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\") &lt; 1 year\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine \"The latest tetanus and diphtheria dose was administered less than 1 year ago\":\n  \"Date of Latest Td Dose\" is not null\n    and duration in years between \"Date of Latest Td Dose\" and Today &lt; 1\n    \n/*\n@input: The latest tetanus and diphtheria dose was administered more than 1 year ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Tetanus and diphtheria-containing vaccines\") ≥ 1 year\n@decision: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine \"The latest tetanus and diphtheria dose was administered more than 1 year ago\":\n  not(\"The latest tetanus and diphtheria dose was administered less than 1 year ago\")\n\n/*\n@input: Client is currently pregnant\n@pseudocode: \"Currently pregnant\" = TRUE\n@decision: Determine whether DTP-containing vaccines are needed for pregnant women\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses\n@decision: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses\n*/\ndefine \"Client is currently pregnant\":\n  Encounter.\"The client is pregnant\"\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><b>Content: </b> application/elm+xml</th></tr>\n              <tr><td><pre><code>Encoded data (153076 characters)</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n    </table>\n</div>\n</div>"^^rdf:XMLLiteral
  ] ; # 
  fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "computable"     ]
  ] ) ; # 
  fhir:url [ fhir:v "http://smart.who.int/immunizations/Library/IMMZD2DTDTPEncounterElements"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.2.0"] ; # 
  fhir:name [ fhir:v "IMMZD2DTDTPEncounterElements"] ; # 
  fhir:title [ fhir:v "IMMZD2DTDTPEncounterElements"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:type [
    ( fhir:coding [
fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ;
fhir:code [ fhir:v "logic-library" ]     ] )
  ] ; # 
  fhir:date [ fhir:v "2025-08-08T19:12:11+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "WHO"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "WHO" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://who.int" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "This library defines encounter-based elements for DTP used throughout the Immunization CPG"] ; # 
  fhir:relatedArtifact ( [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library WHOConcepts" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/WHOConcepts"^^xsd:anyURI ;
fhir:link <http://smart.who.int/immunizations/Library/WHOConcepts>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library WC" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/WHOCommon"^^xsd:anyURI ;
fhir:link <http://smart.who.int/immunizations/Library/WHOCommon>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library WE" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/WHOElements"^^xsd:anyURI ;
fhir:link <http://smart.who.int/immunizations/Library/WHOElements>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library Common" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZCommon"^^xsd:anyURI ;
fhir:link <http://smart.who.int/immunizations/Library/IMMZCommon>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library Concepts" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZConcepts"^^xsd:anyURI ;
fhir:link <http://smart.who.int/immunizations/Library/IMMZConcepts>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library Encounter" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZEncounterElements"^^xsd:anyURI ;
fhir:link <http://smart.who.int/immunizations/Library/IMMZEncounterElements>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library DTPElements" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZD2DTDTPElements"^^xsd:anyURI ;
fhir:link <http://smart.who.int/immunizations/Library/IMMZD2DTDTPElements>     ]
  ] ) ; # 
  fhir:parameter ( [
fhir:name [ fhir:v "Today" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "date" ]
  ] [
fhir:name [ fhir:v "EncounterId" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "string" ]
  ] [
fhir:name [ fhir:v "Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Patient" ]
  ] [
fhir:name [ fhir:v "DTP Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Td Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Pertussis Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Date of Latest DTP Dose" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "date" ]
  ] [
fhir:name [ fhir:v "Date of Latest Td Dose" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "date" ]
  ] [
fhir:name [ fhir:v "Date of Latest Pertussis Dose" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "date" ]
  ] [
fhir:name [ fhir:v "DTP Primary Series Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Number of DTP Primary Series Doses Administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "No DTP primary series doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "One DTP primary series dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Two DTP primary series doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Three DTP primary series doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Td Booster Series Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Number of Td Booster Series Doses Administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "No tetanus and diphtheria booster doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "No tetanus and diphtheria booster dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "One tetanus and diphtheria booster dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "One tetanus and diphtheria booster doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Two tetanus and diphtheria booster doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Three tetanus and diphtheria booster doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Pertussis Booster Series Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Number of Pertussis Booster Series Doses Administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "No pertussis booster doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "One pertussis booster dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is less than 6 weeks" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is between 6 weeks and 1 year" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is less than 12 months" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is more than or equal to 12 months" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is less than 4 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is more than or equal to 4 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is less than 9 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is more than or equal to 9 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is less than 1 year" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is more than 1 year" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is between 1 year and 6 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is more than 6 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest DTP dose was administered less than 4 weeks ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest DTP dose was administered more than 4 weeks ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest DTP dose was administered less than 6 months ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest DTP dose was administered more than 6 months ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest DTP dose was administered less than 1 year ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest DTP dose was administered more than 1 year ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest tetanus and diphtheria dose was administered less than 4 weeks ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest tetanus and diphtheria dose was administered more than 4 weeks ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest tetanus and diphtheria dose was administered less than 1 year ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest tetanus and diphtheria dose was administered more than 1 year ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client is currently pregnant" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] ) ; # 
  fhir:content ( [
fhir:contentType [ fhir:v "text/cql" ] ;
fhir:data [ fhir:v "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVERUUEVuY291bnRlckVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVERUUEVuY291bnRlckVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwoKaW5jbHVkZSBJTU1aRW5jb3VudGVyRWxlbWVudHMgY2FsbGVkIEVuY291bnRlcgoKaW5jbHVkZSBJTU1aRDJEVERUUEVsZW1lbnRzIGNhbGxlZCBEVFBFbGVtZW50cwoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCnBhcmFtZXRlciBFbmNvdW50ZXJJZCBTdHJpbmcKCmNvbnRleHQgUGF0aWVudAoKLyoKQGludGVybmFsOiBEVFAgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgIkRUUCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgRFRQRWxlbWVudHMuIkRUUCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIub25PckJlZm9yZShUb2RheSkKCi8qCkBpbnRlcm5hbDogVGQgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgIlRkIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICBEVFBFbGVtZW50cy4iVGQgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm9uT3JCZWZvcmUoVG9kYXkpCgovKgpAaW50ZXJuYWw6IFBlcnR1c3NpcyBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiovCmRlZmluZSAiUGVydHVzc2lzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICBEVFBFbGVtZW50cy4iUGVydHVzc2lzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5vbk9yQmVmb3JlKFRvZGF5KQoKLyoKQGludGVybmFsOiBEYXRlIGFuZCB0aW1lIG9mIGxhc3QgRFRQIGRvc2UKKi8KZGVmaW5lICJEYXRlIG9mIExhdGVzdCBEVFAgRG9zZSI6CiAgZGF0ZSBmcm9tIHN0YXJ0IG9mICJEVFAgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5vY2N1cnJlbmNlLnRvSW50ZXJ2YWwoKQoKLyoKQGludGVybmFsOiBEYXRlIGFuZCB0aW1lIG9mIGxhc3QgVGQgZG9zZQoqLwpkZWZpbmUgIkRhdGUgb2YgTGF0ZXN0IFRkIERvc2UiOgogIGRhdGUgZnJvbSBzdGFydCBvZiAiVGQgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5vY2N1cnJlbmNlLnRvSW50ZXJ2YWwoKQoKLyoKQGludGVybmFsOiBEYXRlIGFuZCB0aW1lIG9mIGxhc3QgUGVydHVzc2lzIGRvc2UKKi8KZGVmaW5lICJEYXRlIG9mIExhdGVzdCBQZXJ0dXNzaXMgRG9zZSI6CiAgZGF0ZSBmcm9tIHN0YXJ0IG9mICJQZXJ0dXNzaXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5vY2N1cnJlbmNlLnRvSW50ZXJ2YWwoKQoKLyoKQGludGVybmFsOiBEVFAgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMKKi8KZGVmaW5lICJEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIERUUEVsZW1lbnRzLiJEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm9uT3JCZWZvcmUoVG9kYXkpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICJOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCI6CiAgQ291bnQoIkRUUCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW5wdXQ6IE5vIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAwCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCkBkZWNpc2lvbjogRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4KKi8KZGVmaW5lICJObyBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IE9uZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRUUC1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJPbmUgRFRQIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDEKCi8qCkBpbnB1dDogVHdvIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiVHdvIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDIKCi8qCkBpbnB1dDogVGhyZWUgRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRUUC1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIlRocmVlIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDMKCi8qCkBpbnRlcm5hbDogVGQgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgQm9vc3RlciBzZXJpZXMKKi8KZGVmaW5lICJUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgRFRQRWxlbWVudHMuIlRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5vbk9yQmVmb3JlKFRvZGF5KQoKLyoKQGludGVybmFsOiBOdW1iZXIgb2YgVGQgQm9vc3RlciBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICJOdW1iZXIgb2YgVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIjoKICBDb3VudCgiVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKQoKLyoKQGlucHV0OiBObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAwCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCkBkZWNpc2lvbjogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiTm8gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IE5vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAwCkBkZWNpc2lvbjogRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4KKi8KZGVmaW5lICJObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTm8gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIgoKLyoKQGlucHV0OiBPbmUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDEKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIk9uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAxCgovKgpAaW5wdXQ6IE9uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAxCkBkZWNpc2lvbjogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiT25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk9uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIgoKLyoKQGlucHV0OiBUd28gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIkJvb3N0ZXIgZG9zZSIpID0gMgpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQpAZGVjaXNpb246IERldGVybWluZSB3aGV0aGVyIERUUC1jb250YWluaW5nIHZhY2NpbmVzIGFyZSBuZWVkZWQgZm9yIHByZWduYW50IHdvbWVuCkBkZWNpc2lvbjogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCkBkZWNpc2lvbjogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiVHdvIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMgoKLyoKQGlucHV0OiBUaHJlZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIlRocmVlIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMwoKLyoKQGludGVybmFsOiBQZXJ0dXNzaXMgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgQm9vc3RlciBzZXJpZXMKKi8KZGVmaW5lICJQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIERUUEVsZW1lbnRzLiJQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm9uT3JCZWZvcmUoVG9kYXkpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICJOdW1iZXIgb2YgUGVydHVzc2lzIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCI6CiAgQ291bnQoIlBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW5wdXQ6IE5vIHBlcnR1c3NpcyBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBlcnR1c3Npcy1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAwCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiTm8gcGVydHVzc2lzIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgUGVydHVzc2lzIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IE9uZSBwZXJ0dXNzaXMgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUGVydHVzc2lzLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDEKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJPbmUgcGVydHVzc2lzIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgNiB3ZWVrcwpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MiIDwgNgoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCAxIHllYXIKQHBzZXVkb2NvZGU6IDYgd2Vla3Mg4omkIFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMSB5ZWFyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCAxIHllYXIiOgogIDYgPD0gRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzIiAKICBhbmQgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA8IDEKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMTIgbW9udGhzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPCAxMgoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDEyIG1vbnRocwpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiID49IDEyCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNCB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCA0IHllYXJzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDQgeWVhcnMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCA0CgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gNCB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDQgeWVhcnMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gNCB5ZWFycyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA+PSA0CgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCA5IHllYXJzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgeWVhcnMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCA5CgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDkgeWVhcnMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSB5ZWFycyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA+PSA5CgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMSB5ZWFyCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDEgeWVhcgpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxIHllYXIiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCAxCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gMSB5ZWFyCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA+PSAxIHllYXIKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiAxIHllYXIiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPj0gMQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiAxIHllYXIgYW5kIDYgeWVhcnMKQHBzZXVkb2NvZGU6IDEgeWVhciDiiaQgIFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpCAgNiB5ZWFycwpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDEgeWVhciBhbmQgNiB5ZWFycyI6CiAgMSA8PSBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIAogIGFuZCBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDw9IDYKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA2IHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA+ICA2IHllYXJzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA2IHllYXJzIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID4gNgoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRUUC1jb250YWluaW5nIHZhY2NpbmVzIikgPCA0IHdlZWtzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBhbmQgVG9kYXkgPCA0Ci8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIpIOKJpSA0IHdlZWtzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyI6CiAgbm90KCJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIikKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMiKSA8IDYgbW9udGhzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBEVFAgRG9zZSIgaXMgbm90IG51bGwKICAgIGFuZCBkdXJhdGlvbiBpbiBtb250aHMgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UiIGFuZCBUb2RheSA8IDYKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMiKSDiiaUgNiBtb250aHMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgbW9udGhzIGFnbyI6CiAgbm90KCJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyIpCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEVFAtY29udGFpbmluZyB2YWNjaW5lcyIpIDwgMSB5ZWFyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHllYXJzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiBhbmQgVG9kYXkgPCAxCiAgICAKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMiKSDiiaUgMSB5ZWFyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnbyI6CiAgbm90KCJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iKQoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcKIHZhY2NpbmVzIikgPCA0IHdlZWtzCkBkZWNpc2lvbjogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBUZCBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IFRkIERvc2UiIGFuZCBUb2RheSA8IDQKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcKIHZhY2NpbmVzIikgPiA0IHdlZWtzCkBkZWNpc2lvbjogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAiVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iOgogIG5vdCgiVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iKQoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyIpIDwgMSB5ZWFyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBUZCBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHllYXJzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IFRkIERvc2UiIGFuZCBUb2RheSA8IDEKICAgIAovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzIikg4omlIDEgeWVhcgpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCA0IGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxIHllYXIgYWdvIjoKICBub3QoIlRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iKQoKLyoKQGlucHV0OiBDbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50CkBwc2V1ZG9jb2RlOiAiQ3VycmVudGx5IHByZWduYW50IiA9IFRSVUUKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgIkNsaWVudCBpcyBjdXJyZW50bHkgcHJlZ25hbnQiOgogIEVuY291bnRlci4iVGhlIGNsaWVudCBpcyBwcmVnbmFudCIK"^^xsd:base64Binary ]
  ] [
fhir:contentType [ fhir:v "application/elm+xml" ] ;
fhir:data [ fhir:v "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNjUwIj4KICAgICAgICAgPGE6cz4vKgogICogTGlicmFyeTogSU1NWkQyRFREVFBFbmNvdW50ZXJFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFREVFBFbmNvdW50ZXJFbGVtZW50czwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkQyRFREVFBFbmNvdW50ZXJFbGVtZW50cyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSI3OjEtNzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI4OjEtODozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEwOjEtMTA6MTkiIGxvY2FsSWRlbnRpZmllcj0iV0hPQ29uY2VwdHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvV0hPQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTE6MS0xMToyNyIgbG9jYWxJZGVudGlmaWVyPSJXQyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9XSE9Db21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0M8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSIxMjoxLTEyOjI5IiBsb2NhbElkZW50aWZpZXI9IldFIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL1dIT0VsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0VsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDoxLTE0OjMyIiBsb2NhbElkZW50aWZpZXI9IkNvbW1vbiIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb21tb248L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSIxNToxLTE1OjM2IiBsb2NhbElkZW50aWZpZXI9IkNvbmNlcHRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpDb25jZXB0cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb25jZXB0czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE3OjEtMTc6NDYiIGxvY2FsSWRlbnRpZmllcj0iRW5jb3VudGVyIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpFbmNvdW50ZXJFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRW5jb3VudGVyRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxOToxLTE5OjQ2IiBsb2NhbElkZW50aWZpZXI9IkRUUEVsZW1lbnRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpEMkRURFRQRWxlbWVudHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkQyRFREVFBFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIERUUEVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyMjQiIGxvY2F0b3I9IjIxOjEtMjE6MzYiIG5hbWU9IlRvZGF5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgVG9kYXkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjI3IiBsb2NhdG9yPSIyMTozMC0yMTozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iMjE6MTctMjE6MjAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzAiIGxvY2F0b3I9IjIyOjEtMjI6MjgiIG5hbWU9IkVuY291bnRlcklkIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgRW5jb3VudGVySWQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzMSIgbG9jYXRvcj0iMjI6MjMtMjI6MjgiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICA8L3BhcmFtZXRlcnM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjI0OjEtMjQ6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIyNDoxLTI0OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjM1IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMjQ6MS0yNDoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMjk6MS0zMDo2NyIgbmFtZT0iRFRQIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJEVFAgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIvPgogICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBEVFAgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgJnF1b3Q7RFRQIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkRUUEVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RUUCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25PckJlZm9yZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjMwOjMtMzA6NjciIG5hbWU9Im9uT3JCZWZvcmUiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMzA6My0zMDo0OSIgbmFtZT0iRFRQIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iRFRQRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0MiIgbG9jYXRvcj0iMzA6NjItMzA6NjYiIG5hbWU9IlRvZGF5IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjQ2IiBsb2NhdG9yPSIzNToxLTM2OjY2IiBuYW1lPSJUZCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iVGQgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIvPgogICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBUZCBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiovCmRlZmluZSAmcXVvdDtUZCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5EVFBFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUZCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25PckJlZm9yZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTAiIGxvY2F0b3I9IjM2OjMtMzY6NjYiIG5hbWU9Im9uT3JCZWZvcmUiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMzY6My0zNjo0OCIgbmFtZT0iVGQgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGxpYnJhcnlOYW1lPSJEVFBFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ5IiBsb2NhdG9yPSIzNjo2MS0zNjo2NSIgbmFtZT0iVG9kYXkiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTMiIGxvY2F0b3I9IjQxOjEtNDI6NzMiIG5hbWU9IlBlcnR1c3NpcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iUGVydHVzc2lzIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogUGVydHVzc2lzIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICZxdW90O1BlcnR1c3NpcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5EVFBFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQZXJ0dXNzaXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPm9uT3JCZWZvcmUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub2RheTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU3IiBsb2NhdG9yPSI0MjozLTQyOjczIiBuYW1lPSJvbk9yQmVmb3JlIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjQyOjMtNDI6NTUiIG5hbWU9IlBlcnR1c3NpcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgbGlicmFyeU5hbWU9IkRUUEVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjQyOjY4LTQyOjcyIiBuYW1lPSJUb2RheSIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iNDc6MS00ODo5MyIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9IkRhdGUgYW5kIHRpbWUgb2YgbGFzdCBEVFAgZG9zZSIvPgogICAgICAgICAgICA8YTpzIHI9IjI2MCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBEYXRlIGFuZCB0aW1lIG9mIGxhc3QgRFRQIGRvc2UKKi8KZGVmaW5lICZxdW90O0RhdGUgb2YgTGF0ZXN0IERUUCBEb3NlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+ZGF0ZSBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEVFAgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bW9zdFJlY2VudCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vY2N1cnJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50b0ludGVydmFsKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iNDg6My00ODo5MyIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYyIiBsb2NhdG9yPSI0ODoxMy00ODo5MyIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY4IiBsb2NhdG9yPSI0ODoyMi00ODo5MyIgbmFtZT0idG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjQ4OjIyLTQ4OjgwIiBwYXRoPSJvY2N1cnJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iNDg6MjItNDg6NjkiIG5hbWU9Im1vc3RSZWNlbnQiIGxpYnJhcnlOYW1lPSJXQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNjUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIyNjYiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2lnbmF0dXJlPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjQ4OjIyLTQ4OjU2IiBuYW1lPSJEVFAgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3MSIgbG9jYXRvcj0iNTM6MS01NDo5MiIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgVGQgRG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iRGF0ZSBhbmQgdGltZSBvZiBsYXN0IFRkIGRvc2UiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogRGF0ZSBhbmQgdGltZSBvZiBsYXN0IFRkIGRvc2UKKi8KZGVmaW5lICZxdW90O0RhdGUgb2YgTGF0ZXN0IFRkIERvc2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjcyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RkIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1vc3RSZWNlbnQoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b2NjdXJyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dG9JbnRlcnZhbCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjU0OjMtNTQ6OTIiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iNTQ6MTMtNTQ6OTIiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3OSIgbG9jYXRvcj0iNTQ6MjItNTQ6OTIiIG5hbWU9InRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJXQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSI1NDoyMi01NDo3OSIgcGF0aD0ib2NjdXJyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjU0OjIyLTU0OjY4IiBuYW1lPSJtb3N0UmVjZW50IiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjc2IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMjc3IiBuYW1lPSJmaGlyOkltbXVuaXphdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NpZ25hdHVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc0IiBsb2NhdG9yPSI1NDoyMi01NDo1NSIgbmFtZT0iVGQgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iNTk6MS02MDo5OSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUGVydHVzc2lzIERvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9IkRhdGUgYW5kIHRpbWUgb2YgbGFzdCBQZXJ0dXNzaXMgZG9zZSIvPgogICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBEYXRlIGFuZCB0aW1lIG9mIGxhc3QgUGVydHVzc2lzIGRvc2UKKi8KZGVmaW5lICZxdW90O0RhdGUgb2YgTGF0ZXN0IFBlcnR1c3NpcyBEb3NlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+ZGF0ZSBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQZXJ0dXNzaXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bW9zdFJlY2VudCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vY2N1cnJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50b0ludGVydmFsKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iNjA6My02MDo5OSIgeHNpOnR5cGU9IkRhdGVGcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSI2MDoxMy02MDo5OSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkwIiBsb2NhdG9yPSI2MDoyMi02MDo5OSIgbmFtZT0idG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjYwOjIyLTYwOjg2IiBwYXRoPSJvY2N1cnJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iNjA6MjItNjA6NzUiIG5hbWU9Im1vc3RSZWNlbnQiIGxpYnJhcnlOYW1lPSJXQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyODciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIyODgiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2lnbmF0dXJlPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODUiIGxvY2F0b3I9IjYwOjIyLTYwOjYyIiBuYW1lPSJQZXJ0dXNzaXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iNjU6MS02Njo4MiIgbmFtZT0iRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJEVFAgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIyOTMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogRFRQIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzCiovCmRlZmluZSAmcXVvdDtEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RFRQRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbk9yQmVmb3JlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iNjY6My02Njo4MiIgbmFtZT0ib25PckJlZm9yZSIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSI2NjozLTY2OjY0IiBuYW1lPSJEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGxpYnJhcnlOYW1lPSJEVFBFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk2IiBsb2NhdG9yPSI2Njo3Ny02Njo4MSIgbmFtZT0iVG9kYXkiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDAiIGxvY2F0b3I9IjcxOjEtNzI6NTkiIG5hbWU9Ik51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzAwIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IE51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICZxdW90O051bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q291bnQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSI3MjozLTcyOjU5IiB4c2k6dHlwZT0iQ291bnQiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwMSIgbG9jYXRvcj0iNzI6OS03Mjo1OCIgbmFtZT0iRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwNyIgbG9jYXRvcj0iODE6MS04Mjo1NSIgbmFtZT0iTm8gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJObyBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RFRQLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbiIvPgogICAgICAgICAgICA8YTpzIHI9IjMwNyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBObyBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RFRQLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgoqLwpkZWZpbmUgJnF1b3Q7Tm8gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPiA9IDA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwOCIgbG9jYXRvcj0iODI6My04Mjo1NSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxMiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iODI6My04Mjo1MSIgbmFtZT0iTnVtYmVyIG9mIERUUCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iODI6NTUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMTUiIGxvY2F0b3I9IjkwOjEtOTE6NTUiIG5hbWU9Ik9uZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJPbmUgRFRQIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogT25lIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RFRQLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDEKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICZxdW90O09uZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTgiPiA9IDE8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iOTE6My05MTo1NSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTkiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyMCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNyIgbG9jYXRvcj0iOTE6My05MTo1MSIgbmFtZT0iTnVtYmVyIG9mIERUUCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxOCIgbG9jYXRvcj0iOTE6NTUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMjMiIGxvY2F0b3I9Ijk5OjEtMTAwOjU1IiBuYW1lPSJUd28gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUd28gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0RUUC1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZSIvPgogICAgICAgICAgICA8YTpzIHI9IjMyMyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUd28gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0RUUC1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAmcXVvdDtUd28gRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPiA9IDI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMyNCIgbG9jYXRvcj0iMTAwOjMtMTAwOjU1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyNyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI1IiBsb2NhdG9yPSIxMDA6My0xMDA6NTEiIG5hbWU9Ik51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjYiIGxvY2F0b3I9IjEwMDo1NSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzMSIgbG9jYXRvcj0iMTExOjEtMTEyOjU1IiBuYW1lPSJUaHJlZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRocmVlIERUUCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRldGVybWluZSB3aGV0aGVyIERUUC1jb250YWluaW5nIHZhY2NpbmVzIGFyZSBuZWVkZWQgZm9yIHByZWduYW50IHdvbWVuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcyIvPgogICAgICAgICAgICA8YTpzIHI9IjMzMSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaHJlZSBEVFAgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RFRQLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7VGhyZWUgRFRQIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgRFRQIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzQiPiA9IDM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMzMiIgbG9jYXRvcj0iMTEyOjMtMTEyOjU1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzNSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzM2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMzIiBsb2NhdG9yPSIxMTI6My0xMTI6NTEiIG5hbWU9Ik51bWJlciBvZiBEVFAgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzQiIGxvY2F0b3I9IjExMjo1NSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzOSIgbG9jYXRvcj0iMTE3OjEtMTE4OjgxIiBuYW1lPSJUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iVGQgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgQm9vc3RlciBzZXJpZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIzMzkiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogVGQgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgQm9vc3RlciBzZXJpZXMKKi8KZGVmaW5lICZxdW90O1RkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkRUUEVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbk9yQmVmb3JlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM0MyIgbG9jYXRvcj0iMTE4OjMtMTE4OjgxIiBuYW1lPSJvbk9yQmVmb3JlIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDEiIGxvY2F0b3I9IjExODozLTExODo2MyIgbmFtZT0iVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGxpYnJhcnlOYW1lPSJEVFBFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQyIiBsb2NhdG9yPSIxMTg6NzYtMTE4OjgwIiBuYW1lPSJUb2RheSIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM0NiIgbG9jYXRvcj0iMTIzOjEtMTI0OjU4IiBuYW1lPSJOdW1iZXIgb2YgVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJOdW1iZXIgb2YgVGQgQm9vc3RlciBTZXJpZXMgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIGRvc2VzCiovCmRlZmluZSAmcXVvdDtOdW1iZXIgb2YgVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q291bnQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNTAiIGxvY2F0b3I9IjEyNDozLTEyNDo1OCIgeHNpOnR5cGU9IkNvdW50Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjEyNDo5LTEyNDo1NyIgbmFtZT0iVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIxMzM6MS0xMzQ6NTQiIG5hbWU9Ik5vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1RldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIzNTMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogTm8gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1RldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDAKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICZxdW90O05vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTYiPiA9IDA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1NCIgbG9jYXRvcj0iMTM0OjMtMTM0OjU0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1NyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzU4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU1IiBsb2NhdG9yPSIxMzQ6My0xMzQ6NTAiIG5hbWU9Ik51bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NiIgbG9jYXRvcj0iMTM0OjU0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzYxIiBsb2NhdG9yPSIxNDE6MS0xNDI6NjEiIG5hbWU9Ik5vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik5vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4iLz4KICAgICAgICAgICAgPGE6cyByPSIzNjEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogTm8gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAwCkBkZWNpc2lvbjogRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4KKi8KZGVmaW5lICZxdW90O05vIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM2MiIgbG9jYXRvcj0iMTQyOjMtMTQyOjYxIiBuYW1lPSJObyB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMTUyOjEtMTUzOjU0IiBuYW1lPSJPbmUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iT25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRldGVybWluZSB3aGV0aGVyIERUUC1jb250YWluaW5nIHZhY2NpbmVzIGFyZSBuZWVkZWQgZm9yIHByZWduYW50IHdvbWVuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCA0IGNoaWxkaG9vZCBEVFAgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIzNjUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogT25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQpAZGVjaXNpb246IERldGVybWluZSB3aGV0aGVyIERUUC1jb250YWluaW5nIHZhY2NpbmVzIGFyZSBuZWVkZWQgZm9yIHByZWduYW50IHdvbWVuCkBkZWNpc2lvbjogRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzCiovCmRlZmluZSAmcXVvdDtPbmUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNjYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjgiPiA9IDE8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM2NiIgbG9jYXRvcj0iMTUzOjMtMTUzOjU0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM2OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzcwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY3IiBsb2NhdG9yPSIxNTM6My0xNTM6NTAiIG5hbWU9Ik51bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMTUzOjU0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzczIiBsb2NhdG9yPSIxNjA6MS0xNjE6NjAiIG5hbWU9Ik9uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik9uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzczIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE9uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMQpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7T25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzQiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O09uZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNzQiIGxvY2F0b3I9IjE2MTozLTE2MTo2MCIgbmFtZT0iT25lIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3NyIgbG9jYXRvcj0iMTcyOjEtMTczOjU0IiBuYW1lPSJUd28gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUd28gdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1RldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCA0IGNoaWxkaG9vZCBEVFAgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIzNzciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVHdvIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCkBkZWNpc2lvbjogRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4KQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCA0IGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICZxdW90O1R3byB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBUZCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgwIj4gPSAyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNzgiIGxvY2F0b3I9IjE3MzozLTE3Mzo1NCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzODEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM4MiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3OSIgbG9jYXRvcj0iMTczOjMtMTczOjUwIiBuYW1lPSJOdW1iZXIgb2YgVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODAiIGxvY2F0b3I9IjE3Mzo1NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM4NSIgbG9jYXRvcj0iMTgzOjEtMTg0OjU0IiBuYW1lPSJUaHJlZSB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRocmVlIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzg1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRocmVlIHRldGFudXMgYW5kIGRpcGh0aGVyaWEgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7VGhyZWUgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgVGQgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OCI+ID0gMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzg2IiBsb2NhdG9yPSIxODQ6My0xODQ6NTQiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzg5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzOTAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODciIGxvY2F0b3I9IjE4NDozLTE4NDo1MCIgbmFtZT0iTnVtYmVyIG9mIFRkIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzg4IiBsb2NhdG9yPSIxODQ6NTQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzOTMiIGxvY2F0b3I9IjE4OToxLTE5MDo4OCIgbmFtZT0iUGVydHVzc2lzIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJQZXJ0dXNzaXMgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgQm9vc3RlciBzZXJpZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIzOTMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogUGVydHVzc2lzIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIEJvb3N0ZXIgc2VyaWVzCiovCmRlZmluZSAmcXVvdDtQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RFRQRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGVydHVzc2lzIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbk9yQmVmb3JlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM5NyIgbG9jYXRvcj0iMTkwOjMtMTkwOjg4IiBuYW1lPSJvbk9yQmVmb3JlIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTUiIGxvY2F0b3I9IjE5MDozLTE5MDo3MCIgbmFtZT0iUGVydHVzc2lzIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iRFRQRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5NiIgbG9jYXRvcj0iMTkwOjgzLTE5MDo4NyIgbmFtZT0iVG9kYXkiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MDAiIGxvY2F0b3I9IjE5NToxLTE5Njo2NSIgbmFtZT0iTnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9Ik51bWJlciBvZiBQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSI0MDAiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7TnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Db3VudCg8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MDQiIGxvY2F0b3I9IjE5NjozLTE5Njo2NSIgeHNpOnR5cGU9IkNvdW50Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MDEiIGxvY2F0b3I9IjE5Njo5LTE5Njo2NCIgbmFtZT0iUGVydHVzc2lzIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwNyIgbG9jYXRvcj0iMjA0OjEtMjA1OjYxIiBuYW1lPSJObyBwZXJ0dXNzaXMgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gcGVydHVzc2lzIGJvb3N0ZXIgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7UGVydHVzc2lzLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZSIvPgogICAgICAgICAgICA8YTpzIHI9IjQwNyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBObyBwZXJ0dXNzaXMgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQZXJ0dXNzaXMtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDAKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICZxdW90O05vIHBlcnR1c3NpcyBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgUGVydHVzc2lzIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPiA9IDA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQwOCIgbG9jYXRvcj0iMjA1OjMtMjA1OjYxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQxMSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDEyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA5IiBsb2NhdG9yPSIyMDU6My0yMDU6NTciIG5hbWU9Ik51bWJlciBvZiBQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTAiIGxvY2F0b3I9IjIwNTo2MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQxNSIgbG9jYXRvcj0iMjEzOjEtMjE0OjYxIiBuYW1lPSJPbmUgcGVydHVzc2lzIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJPbmUgcGVydHVzc2lzIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1BlcnR1c3Npcy1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtCb29zdGVyIGRvc2UmcXVvdDspID0gMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6cyByPSI0MTUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogT25lIHBlcnR1c3NpcyBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtQZXJ0dXNzaXMtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDEKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICZxdW90O09uZSBwZXJ0dXNzaXMgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBQZXJ0dXNzaXMgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxOCI+ID0gMTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDE2IiBsb2NhdG9yPSIyMTQ6My0yMTQ6NjEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDE5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MjAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTciIGxvY2F0b3I9IjIxNDozLTIxNDo1NyIgbmFtZT0iTnVtYmVyIG9mIFBlcnR1c3NpcyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxOCIgbG9jYXRvcj0iMjE0OjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDIzIiBsb2NhdG9yPSIyMjE6MS0yMjI6NDYiIG5hbWU9IkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyA2IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQyMyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDYgd2Vla3MKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQyNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjciPiAmbHQ7IDY8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQyNCIgbG9jYXRvcj0iMjIyOjMtMjIyOjQ2IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDI4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MjkiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjYiIGxvY2F0b3I9IjIyMjozLTIyMjo0MiIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBXZWVrcyIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI3IiBsb2NhdG9yPSIyMjI6NDYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MzIiIGxvY2F0b3I9IjIyOToxLTIzMTo1MCIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgMSB5ZWFyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCAxIHllYXIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEgeWVhciIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6cyByPSI0MzIiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgMSB5ZWFyCkBwc2V1ZG9jb2RlOiA2IHdlZWtzIOKJpCBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAxIHllYXIKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgMSB5ZWFyJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzUiPjYgJmx0Oz0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IAogIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQzIj4gJmx0OyAxPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDMzIiBsb2NhdG9yPSIyMzA6My0yMzE6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzQiIGxvY2F0b3I9IjIzMDozLTIzMDo0NyIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MzgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQzOSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzNSIgbG9jYXRvcj0iMjMwOjMiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDM3IiBsb2NhdG9yPSIyMzA6OC0yMzA6NDciIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gV2Vla3MiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQwIiBsb2NhdG9yPSIyMzE6Ny0yMzE6NTAiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NDQiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ0NSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0MiIgbG9jYXRvcj0iMjMxOjctMjMxOjQ2IiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDMiIGxvY2F0b3I9IjIzMTo1MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDQ4IiBsb2NhdG9yPSIyMzg6MS0yMzk6NDgiIG5hbWU9IkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMTIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQ0OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMTIgbW9udGhzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUyIj4gJmx0OyAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDQ5IiBsb2NhdG9yPSIyMzk6My0yMzk6NDgiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NTMiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ1NCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1MSIgbG9jYXRvcj0iMjM5OjMtMjM5OjQzIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUyIiBsb2NhdG9yPSIyMzk6NDctMjM5OjQ4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ1NyIgbG9jYXRvcj0iMjQ2OjEtMjQ3OjQ5IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgMTIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQ1NyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAxMiBtb250aHMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDU4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjEiPiA+PSAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDU4IiBsb2NhdG9yPSIyNDc6My0yNDc6NDkiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDYyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NjMiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NjAiIGxvY2F0b3I9IjI0NzozLTI0Nzo0MyIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MSIgbG9jYXRvcj0iMjQ3OjQ4LTI0Nzo0OSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NjYiIGxvY2F0b3I9IjI1NDoxLTI1NTo0NiIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA0IHllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDQgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDQgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDY2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNCB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgNCB5ZWFycwpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDQgeWVhcnMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDY3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MCI+ICZsdDsgNDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDY3IiBsb2NhdG9yPSIyNTU6My0yNTU6NDYiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NzEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ3MiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2OSIgbG9jYXRvcj0iMjU1OjMtMjU1OjQyIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NzAiIGxvY2F0b3I9IjI1NTo0NiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ3NSIgbG9jYXRvcj0iMjYyOjEtMjYzOjQ3IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDQgeWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gNCB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSA0IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQ3NSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDQgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgNCB5ZWFycwpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDQgeWVhcnMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDc2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3OSI+ID49IDQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3NiIgbG9jYXRvcj0iMjYzOjMtMjYzOjQ3IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ4MCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDgxIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDc4IiBsb2NhdG9yPSIyNjM6My0yNjM6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3OSIgbG9jYXRvcj0iMjYzOjQ3IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDg0IiBsb2NhdG9yPSIyNzA6MS0yNzE6NDYiIG5hbWU9IkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyA5IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQ4NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDkgeWVhcnMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IHllYXJzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODgiPiAmbHQ7IDk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ4NSIgbG9jYXRvcj0iMjcxOjMtMjcxOjQ2IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDg5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0OTAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0ODciIGxvY2F0b3I9IjI3MTozLTI3MTo0MiIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDg4IiBsb2NhdG9yPSIyNzE6NDYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0OTMiIGxvY2F0b3I9IjI3ODoxLTI3OTo0NyIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA5IHllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDkgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgOSB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6cyByPSI0OTMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA5IHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDkgeWVhcnMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA5IHllYXJzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ5NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTciPiA+PSA5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0OTQiIGxvY2F0b3I9IjI3OTozLTI3OTo0NyIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0OTgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ5OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5NiIgbG9jYXRvcj0iMjc5OjMtMjc5OjQyIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OTciIGxvY2F0b3I9IjI3OTo0NyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUwMiIgbG9jYXRvcj0iMjg2OjEtMjg3OjQ2IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEgeWVhciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxIHllYXIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEgeWVhciIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6cyByPSI1MDIiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxIHllYXIKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEgeWVhcgpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEgeWVhciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MDMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA2Ij4gJmx0OyAxPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MDMiIGxvY2F0b3I9IjI4NzozLTI4Nzo0NiIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUwNyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTA4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTA1IiBsb2NhdG9yPSIyODc6My0yODc6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwNiIgbG9jYXRvcj0iMjg3OjQ2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTExIiBsb2NhdG9yPSIyOTQ6MS0yOTU6NDciIG5hbWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gMSB5ZWFyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDEgeWVhciIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ID49IDEgeWVhciIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZSIvPgogICAgICAgICAgICA8YTpzIHI9IjUxMSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDEgeWVhcgpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ID49IDEgeWVhcgpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gMSB5ZWFyJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTUiPiA+PSAxPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MTIiIGxvY2F0b3I9IjI5NTozLTI5NTo0NyIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MTYiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUxNyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxNCIgbG9jYXRvcj0iMjk1OjMtMjk1OjQyIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTUiIGxvY2F0b3I9IjI5NTo0NyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUyMCIgbG9jYXRvcj0iMzAzOjEtMzA1OjUxIiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiAxIHllYXIgYW5kIDYgeWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDEgeWVhciBhbmQgNiB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpCAgNiB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6cyByPSI1MjAiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gMSB5ZWFyIGFuZCA2IHllYXJzCkBwc2V1ZG9jb2RlOiAxIHllYXIg4omkICBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omkICA2IHllYXJzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiAxIHllYXIgYW5kIDYgeWVhcnMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTIxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyMyI+MSAmbHQ7PSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4gCiAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzEiPiAmbHQ7PSA2PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTIxIiBsb2NhdG9yPSIzMDQ6My0zMDU6NTEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MjIiIGxvY2F0b3I9IjMwNDozLTMwNDo0NyIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MjYiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUyNyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyMyIgbG9jYXRvcj0iMzA0OjMiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTI1IiBsb2NhdG9yPSIzMDQ6OC0zMDQ6NDciIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTI4IiBsb2NhdG9yPSIzMDU6Ny0zMDU6NTEiIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTMyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MzMiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MzAiIGxvY2F0b3I9IjMwNTo3LTMwNTo0NiIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTMxIiBsb2NhdG9yPSIzMDU6NTEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUzNiIgbG9jYXRvcj0iMzEzOjEtMzE0OjQ2IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDYgeWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNiB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ID4gIDYgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTM2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNiB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ID4gIDYgeWVhcnMKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNiB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MzciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQwIj4gPiA2PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MzciIGxvY2F0b3I9IjMxNDozLTMxNDo0NiIgeHNpOnR5cGU9IkdyZWF0ZXIiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU0MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTQyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTM5IiBsb2NhdG9yPSIzMTQ6My0zMTQ6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0MCIgbG9jYXRvcj0iMzE0OjQ2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQ1IiBsb2NhdG9yPSIzMjI6MS0zMjQ6NzMiIG5hbWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RFRQLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspICZsdDsgNCB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6cyByPSI1NDUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RFRQLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspICZsdDsgNCB3ZWVrcwpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBEVFAgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbm90IG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBEVFAgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NiI+ICZsdDsgNDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU0NiIgbG9jYXRvcj0iMzIzOjMtMzI0OjczIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTQ5IiBsb2NhdG9yPSIzMjM6My0zMjM6MzkiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NDgiIGxvY2F0b3I9IjMyMzozLTMyMzozOSIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0NyIgbG9jYXRvcj0iMzIzOjMtMzIzOjI3IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBEVFAgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1MCIgbG9jYXRvcj0iMzI0OjktMzI0OjczIiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTU3IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NTgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NTEiIGxvY2F0b3I9IjMyNDo5LTMyNDo2OSIgcHJlY2lzaW9uPSJXZWVrIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NTQiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU1NSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1MiIgbG9jYXRvcj0iMzI0OjM1LTMyNDo1OSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1MyIgbG9jYXRvcj0iMzI0OjY1LTMyNDo2OSIgbmFtZT0iVG9kYXkiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NTYiIGxvY2F0b3I9IjMyNDo3MyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTYxIiBsb2NhdG9yPSIzMzE6MS0zMzI6NjciIG5hbWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RFRQLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspIOKJpSA0IHdlZWtzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZSIvPgogICAgICAgICAgICA8YTpzIHI9IjU2MSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90Oykg4omlIDQgd2Vla3MKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUsIG9uLXRpbWUgc3RhcnQgKGF0IOKJpCAxMiBtb250aHMgb2YgYWdlKQpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTYyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU2MiIgbG9jYXRvcj0iMzMyOjMtMzMyOjY3IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTYzIiBsb2NhdG9yPSIzMzI6Ni0zMzI6NjciIG5hbWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTY2IiBsb2NhdG9yPSIzNDA6MS0zNDI6NzQiIG5hbWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNiBtb250aHMgYWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OykgJmx0OyA2IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6cyByPSI1NjYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0RUUC1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDYgbW9udGhzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBEVFAgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbm90IG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmR1cmF0aW9uIGluIG1vbnRocyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzciPiAmbHQ7IDY8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NjciIGxvY2F0b3I9IjM0MTozLTM0Mjo3NCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU3MCIgbG9jYXRvcj0iMzQxOjMtMzQxOjM5IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTY5IiBsb2NhdG9yPSIzNDE6My0zNDE6MzkiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NjgiIGxvY2F0b3I9IjM0MTozLTM0MToyNyIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NzEiIGxvY2F0b3I9IjM0Mjo5LTM0Mjo3NCIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU3OCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTc5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTcyIiBsb2NhdG9yPSIzNDI6OS0zNDI6NzAiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU3NSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTc2IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTczIiBsb2NhdG9yPSIzNDI6MzYtMzQyOjYwIiBuYW1lPSJEYXRlIG9mIExhdGVzdCBEVFAgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTc0IiBsb2NhdG9yPSIzNDI6NjYtMzQyOjcwIiBuYW1lPSJUb2RheSIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU3NyIgbG9jYXRvcj0iMzQyOjc0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1ODIiIGxvY2F0b3I9IjM1MDoxLTM1MTo2OCIgbmFtZT0iVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiBtb250aHMgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0RUUC1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7KSDiiaUgNiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSwgb24tdGltZSBzdGFydCAoYXQg4omkIDEyIG1vbnRocyBvZiBhZ2UpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTgyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiBtb250aHMgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90Oykg4omlIDYgbW9udGhzCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlLCBvbi10aW1lIHN0YXJ0IChhdCDiiaQgMTIgbW9udGhzIG9mIGFnZSkKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgbW9udGhzIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1ODMiPgogICAgICAgICAgICAgICAgICA8YTpzPm5vdDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU4MyIgbG9jYXRvcj0iMzUxOjMtMzUxOjY4IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTg0IiBsb2NhdG9yPSIzNTE6Ni0zNTE6NjgiIG5hbWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNiBtb250aHMgYWdvIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU4NyIgbG9jYXRvcj0iMzU4OjEtMzYwOjczIiBuYW1lPSJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OykgJmx0OyAxIHllYXIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6cyByPSI1ODciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OykgJmx0OyAxIHllYXIKQGRlY2lzaW9uOiBEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kdXJhdGlvbiBpbiB5ZWFycyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTgiPiAmbHQ7IDE8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1ODgiIGxvY2F0b3I9IjM1OTozLTM2MDo3MyIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU5MSIgbG9jYXRvcj0iMzU5OjMtMzU5OjM5IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTkwIiBsb2NhdG9yPSIzNTk6My0zNTk6MzkiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1ODkiIGxvY2F0b3I9IjM1OTozLTM1OToyNyIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgRFRQIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1OTIiIGxvY2F0b3I9IjM2MDo5LTM2MDo3MyIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU5OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNjAwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTkzIiBsb2NhdG9yPSIzNjA6OS0zNjA6NjkiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTk2IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1OTciIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1OTQiIGxvY2F0b3I9IjM2MDozNS0zNjA6NTkiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IERUUCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1OTUiIGxvY2F0b3I9IjM2MDo2NS0zNjA6NjkiIG5hbWU9IlRvZGF5IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTk4IiBsb2NhdG9yPSIzNjA6NzMiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYwMyIgbG9jYXRvcj0iMzY3OjEtMzY4OjY2IiBuYW1lPSJUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEVFAtY29udGFpbmluZyB2YWNjaW5lcyZxdW90Oykg4omlIDEgeWVhciIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZSIvPgogICAgICAgICAgICA8YTpzIHI9IjYwMyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0RUUC1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7KSDiiaUgMSB5ZWFyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBEVFAgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxIHllYXIgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYwNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+bm90PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjA1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgbGF0ZXN0IERUUCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYwNCIgbG9jYXRvcj0iMzY4OjMtMzY4OjY2IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjA1IiBsb2NhdG9yPSIzNjg6Ni0zNjg6NjYiIG5hbWU9IlRoZSBsYXRlc3QgRFRQIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MDgiIGxvY2F0b3I9IjM3NjoxLTM3ODo3MiIgbmFtZT0iVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1RldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgMyBjaGlsZGhvb2QgRFRQIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNjA4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcKIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDQgd2Vla3MKQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYwOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFRkIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgVGQgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxOSI+ICZsdDsgNDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYwOSIgbG9jYXRvcj0iMzc3OjMtMzc4OjcyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjEyIiBsb2NhdG9yPSIzNzc6My0zNzc6MzgiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MTEiIGxvY2F0b3I9IjM3NzozLTM3NzozOCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxMCIgbG9jYXRvcj0iMzc3OjMtMzc3OjI2IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBUZCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjEzIiBsb2NhdG9yPSIzNzg6OS0zNzg6NzIiIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI2MjAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYyMSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxNCIgbG9jYXRvcj0iMzc4OjktMzc4OjY4IiBwcmVjaXNpb249IldlZWsiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYxNyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNjE4IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjE1IiBsb2NhdG9yPSIzNzg6MzUtMzc4OjU4IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBUZCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MTYiIGxvY2F0b3I9IjM3ODo2NC0zNzg6NjgiIG5hbWU9IlRvZGF5IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjE5IiBsb2NhdG9yPSIzNzg6NzIiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYyNCIgbG9jYXRvcj0iMzg1OjEtMzg2Ojg2IiBuYW1lPSJUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VGV0YW51cyBhbmQgZGlwaHRoZXJpYS1jb250YWluaW5nIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSI2MjQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1RldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZwogdmFjY2luZXMmcXVvdDspID4gNCB3ZWVrcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MjUiIGxvY2F0b3I9IjM4NjozLTM4Njo4NiIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYyNiIgbG9jYXRvcj0iMzg2OjYtMzg2Ojg2IiBuYW1lPSJUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MjkiIGxvY2F0b3I9IjM5NToxLTM5Nzo3MiIgbmFtZT0iVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspICZsdDsgMSB5ZWFyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEVFAgdmFjY2luYXRpb24gc2NoZWR1bGUgZm9yIHRoZSBmb2xsb3dpbmcgZ3JvdXBzOiBjaGlsZHJlbiDiiaUgMSB5ZWFyIG9mIGFnZSB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiwgYWRvbGVzY2VudHMgYW5kIGFkdWx0cyB3aXRoIG5vIHByZXZpb3VzIGltbXVuaXphdGlvbiAoaW5jbHVkaW5nIHByZWduYW50IHdvbWVuKSBhbmQgc3VwcGxlbWVudGFyeSBpbW11bml6YXRpb24gYWN0aXZpdGllcyBpbiBoaWdoLXJpc2sgYXJlYXMsIGZvciB3b21lbiBvZiByZXByb2R1Y3RpdmUgYWdlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcyIvPgogICAgICAgICAgICA8YTpzIHI9IjYyOSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHRldGFudXMgYW5kIGRpcGh0aGVyaWEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspICZsdDsgMSB5ZWFyCkBkZWNpc2lvbjogRFRQIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGZvciB0aGUgZm9sbG93aW5nIGdyb3VwczogY2hpbGRyZW4g4omlIDEgeWVhciBvZiBhZ2Ugd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24sIGFkb2xlc2NlbnRzIGFuZCBhZHVsdHMgd2l0aCBubyBwcmV2aW91cyBpbW11bml6YXRpb24gKGluY2x1ZGluZyBwcmVnbmFudCB3b21lbikgYW5kIHN1cHBsZW1lbnRhcnkgaW1tdW5pemF0aW9uIGFjdGl2aXRpZXMgaW4gaGlnaC1yaXNrIGFyZWFzLCBmb3Igd29tZW4gb2YgcmVwcm9kdWN0aXZlIGFnZQpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBUZCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZHVyYXRpb24gaW4geWVhcnMgYmV0d2VlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFRkIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDAiPiAmbHQ7IDE8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MzAiIGxvY2F0b3I9IjM5NjozLTM5Nzo3MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYzMyIgbG9jYXRvcj0iMzk2OjMtMzk2OjM4IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjMyIiBsb2NhdG9yPSIzOTY6My0zOTY6MzgiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MzEiIGxvY2F0b3I9IjM5NjozLTM5NjoyNiIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgVGQgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYzNCIgbG9jYXRvcj0iMzk3OjktMzk3OjcyIiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNjQxIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI2NDIiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MzUiIGxvY2F0b3I9IjM5Nzo5LTM5Nzo2OCIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI2MzgiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjYzOSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYzNiIgbG9jYXRvcj0iMzk3OjM1LTM5Nzo1OCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgVGQgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjM3IiBsb2NhdG9yPSIzOTc6NjQtMzk3OjY4IiBuYW1lPSJUb2RheSIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY0MCIgbG9jYXRvcj0iMzk3OjcyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NDUiIGxvY2F0b3I9IjQwNjoxLTQwNzo4NSIgbmFtZT0iVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCB0ZXRhbnVzIGFuZCBkaXBodGhlcmlhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUZXRhbnVzIGFuZCBkaXBodGhlcmlhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspIOKJpSAxIHllYXIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNjQ1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1RldGFudXMgYW5kIGRpcGh0aGVyaWEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90Oykg4omlIDEgeWVhcgpAZGVjaXNpb246IERUUCB2YWNjaW5hdGlvbiBzY2hlZHVsZSBmb3IgdGhlIGZvbGxvd2luZyBncm91cHM6IGNoaWxkcmVuIOKJpSAxIHllYXIgb2YgYWdlIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uLCBhZG9sZXNjZW50cyBhbmQgYWR1bHRzIHdpdGggbm8gcHJldmlvdXMgaW1tdW5pemF0aW9uIChpbmNsdWRpbmcgcHJlZ25hbnQgd29tZW4pIGFuZCBzdXBwbGVtZW50YXJ5IGltbXVuaXphdGlvbiBhY3Rpdml0aWVzIGluIGhpZ2gtcmlzayBhcmVhcywgZm9yIHdvbWVuIG9mIHJlcHJvZHVjdGl2ZSBhZ2UKQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCAzIGNoaWxkaG9vZCBEVFAgZG9zZXMKQGRlY2lzaW9uOiBEaXBodGhlcmlhIGFuZCB0ZXRhbnVzIHZhY2NpbmF0aW9uIHNjaGVkdWxlIGluIHByZWduYW50IHdvbWVuIHdobyByZWNlaXZlZCA0IGNoaWxkaG9vZCBEVFAgZG9zZXMKKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjQ2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY0NiIgbG9jYXRvcj0iNDA3OjMtNDA3Ojg1IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjQ3IiBsb2NhdG9yPSI0MDc6Ni00MDc6ODUiIG5hbWU9IlRoZSBsYXRlc3QgdGV0YW51cyBhbmQgZGlwaHRoZXJpYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjUwIiBsb2NhdG9yPSI0MTY6MS00MTc6MzYiIG5hbWU9IkNsaWVudCBpcyBjdXJyZW50bHkgcHJlZ25hbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCBpcyBjdXJyZW50bHkgcHJlZ25hbnQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7Q3VycmVudGx5IHByZWduYW50JnF1b3Q7ID0gVFJVRSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGV0ZXJtaW5lIHdoZXRoZXIgRFRQLWNvbnRhaW5pbmcgdmFjY2luZXMgYXJlIG5lZWRlZCBmb3IgcHJlZ25hbnQgd29tZW4iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IkRpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iRGlwaHRoZXJpYSBhbmQgdGV0YW51cyB2YWNjaW5hdGlvbiBzY2hlZHVsZSBpbiBwcmVnbmFudCB3b21lbiB3aG8gcmVjZWl2ZWQgNCBjaGlsZGhvb2QgRFRQIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNjUwIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCBpcyBjdXJyZW50bHkgcHJlZ25hbnQKQHBzZXVkb2NvZGU6ICZxdW90O0N1cnJlbnRseSBwcmVnbmFudCZxdW90OyA9IFRSVUUKQGRlY2lzaW9uOiBEZXRlcm1pbmUgd2hldGhlciBEVFAtY29udGFpbmluZyB2YWNjaW5lcyBhcmUgbmVlZGVkIGZvciBwcmVnbmFudCB3b21lbgpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDMgY2hpbGRob29kIERUUCBkb3NlcwpAZGVjaXNpb246IERpcGh0aGVyaWEgYW5kIHRldGFudXMgdmFjY2luYXRpb24gc2NoZWR1bGUgaW4gcHJlZ25hbnQgd29tZW4gd2hvIHJlY2VpdmVkIDQgY2hpbGRob29kIERUUCBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIGN1cnJlbnRseSBwcmVnbmFudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NTIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBjbGllbnQgaXMgcHJlZ25hbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2NTIiIGxvY2F0b3I9IjQxNzozLTQxNzozNiIgbmFtZT0iVGhlIGNsaWVudCBpcyBwcmVnbmFudCIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="^^xsd:base64Binary ]
  ] ) . #