WHO Immunization Implementation Guide
0.2.0 - ci-build
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions
| Draft as of 2025-11-25 |
{
"resourceType" : "Library",
"id" : "IMMZD2DTDengueElements",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
]
},
"text" : {
"status" : "extensions",
"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;\">IMMZD2DTDengueElements</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTDengueElements</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-IMMZD2DTDengueElements.html\">IMMZD2DTDengueElements</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/7.0.0/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-11-25 20:07:03+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 context-independent elements for Dengue 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-IMMZElements.html\">IMMZElements</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>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Dengue Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Dengue 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 Dengue Primary Series Doses Administered</th><th>integer</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 45 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Dengue serostatus Observation</th><th>Observation</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Client's dengue serostatus is negative</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>No dengue primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is between 9 years and 45 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's dengue serostatus is positive</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>One dengue primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Date of Latest Dengue Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest dengue 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 dengue 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>Two dengue primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Three dengue primary series doses were administered</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: IMMZD2DTDengueElements\n */\nlibrary IMMZD2DTDengueElements\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\ninclude IMMZElements called Elements\n\n\ncontext Patient\n\n/*\n@internal: Dengue containing Doses Administered to Patient\n*/\ndefine "Dengue Doses Administered to Patient":\n Elements."Doses Administered to Patient" I\n where\n I.vaccineCode in Concepts."Dengue vaccines"\n\n/*\n@internal: Dengue containing Doses Administered to Patient that are in the Primary series\n*/\ndefine "Dengue Primary Series Doses Administered to Patient":\n "Dengue Doses Administered to Patient".seriesPrimary()\n\n/*\n@internal: Number of Dengue Primary Series doses\n*/\ndefine "Number of Dengue Primary Series Doses Administered":\n Count("Dengue Primary Series Doses Administered to Patient")\n\n/*\n@input: Client's age is less than 9 years\n@pseudocode: Today's date − "Date of birth" < 9 years\n@code: Client's age is less than 9 years-40\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "Client's age is less than 9 years":\n Elements."Current Patient Age In Years" < 9\n\n/*\n@input: Client's age is more than 45 years\n@pseudocode: Today's date − "Date of birth" > 45 years\n@code: Client's age is more than 45 years-41\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "Client's age is more than 45 years":\n Elements."Current Patient Age In Years" > 45\n\n/*\n@input: Client's dengue serostatus is negative\n@pseudocode: "Dengue serostatus" = "Negative"\n@code: Client's dengue serostatus is negative-32\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n*/\ndefine "Client's dengue serostatus is negative":\n First( "Dengue serostatus Observation" ).value ~ Concepts."Dengue-Negative"\n\n/*\n@input: No dengue primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Dengue vaccines" and "Type of dose" = "Primary series") = 0\n@code: No dengue primary series doses were administered-115\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "No dengue primary series doses were administered":\n "Number of Dengue Primary Series Doses Administered" = 0\n\n/*\n@input: Client's age is between 9 years and 45 years\n@pseudocode: 9 years ≤ Today's date − "Date of birth" ≤ 45 years\n@code: Client's age is between 9 years and 45 years-51\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "Client's age is between 9 years and 45 years":\n Elements."Current Patient Age In Years" >= 9\n and Elements."Current Patient Age In Years" <= 45\n\n/*\n@input: Client's dengue serostatus is positive\n@pseudocode: "Dengue serostatus" = "Positive"\n@code: Client's dengue serostatus is positive-32\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n*/\ndefine "Client's dengue serostatus is positive":\n First( "Dengue serostatus Observation" ).value ~ Concepts."Dengue-Positive"\n\n/*\n@input: One dengue primary series dose was administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Dengue vaccines" and "Type of dose" = "Primary series") = 1\n@code: One dengue primary series dose was administered-115\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "One dengue primary series dose was administered":\n "Number of Dengue Primary Series Doses Administered" = 1\n\n/*\n@input: The latest dengue dose was administered less than 6 months ago\n@pseudocode: Today's date - Latest "Date and time of vaccination" (where "Vaccine type" = "Dengue vaccines") < 6 months\n@code: The latest dengue dose was administered less than 6 months ago-106\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "The latest dengue dose was administered less than 6 months ago":\n "Date of Latest Dengue Dose" is not null\n and duration in months between "Date of Latest Dengue Dose" and Now() < 6\n\n/*\n@input: The latest dengue dose was administered more than 6 months ago\n@pseudocode: Today's date - Latest "Date and time of vaccination" (where "Vaccine type" = "Dengue vaccines") ≥ 6 months\n@code: The latest dengue dose was administered more than 6 months ago-106\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "The latest dengue dose was administered more than 6 months ago":\n "Date of Latest Dengue Dose" is not null\n and duration in months between "Date of Latest Dengue Dose" and Now() >= 6\n\n/*\n@input: Two dengue primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Dengue vaccines" and "Type of dose" = "Primary series") = 2\n@code: Two dengue primary series doses were administered-115\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "Two dengue primary series doses were administered":\n "Number of Dengue Primary Series Doses Administered" = 2\n\n/*\n@input: Three dengue primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Dengue vaccines" and "Type of dose" = "Primary series") = 3\n@code: Three dengue primary series doses were administered-115\n@decision: IMMZ.D2.DT.Dengue.3 doses with pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule with pre-vaccination screening, the recommended strategy where feasible (pre-vaccination screening whereby only those tested seropositive would be vaccinated)\n@decision: IMMZ.D2.DT.Dengue.3 doses without pre-vaccination screening: CYD-TDV (Dengvaxia), 3-dose schedule without pre-vaccination screening [when pre-vaccination screening is not feasible and in areas with recent documentation of seroprevalence rates of at least 80% by age 9 years]\n*/\ndefine "Three dengue primary series doses were administered":\n "Number of Dengue Primary Series Doses Administered" = 3\n\n/*\n@internal: Date of Latest Dengue Dose\n*/\ndefine "Date of Latest Dengue Dose":\n date from start of "Dengue Doses Administered to Patient".mostRecent().occurrence.toInterval()\n\n/*\n@internal: Dengue serostatus Observation\n*/\ndefine "Dengue serostatus Observation":\n ([Observation: Concepts."Dengue serostatus"] O\n sort by end of effective.toInterval() desc).complete()\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 (72244 characters)</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n </table>\n</div>\n</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/immunizations/Library/IMMZD2DTDengueElements",
"version" : "0.2.0",
"name" : "IMMZD2DTDengueElements",
"title" : "IMMZD2DTDengueElements",
"status" : "draft",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2025-11-25T20:07:03+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "This library defines context-independent elements for Dengue used throughout the Immunization CPG",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library WHOConcepts",
"resource" : "http://smart.who.int/immunizations/Library/WHOConcepts"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library WE",
"resource" : "http://smart.who.int/immunizations/Library/WHOElements"
},
{
"type" : "depends-on",
"display" : "Library Common",
"resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
},
{
"type" : "depends-on",
"display" : "Library Concepts",
"resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
},
{
"type" : "depends-on",
"display" : "Library Elements",
"resource" : "http://smart.who.int/immunizations/Library/IMMZElements"
}
],
"parameter" : [
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Dengue Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Dengue Primary Series Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Number of Dengue Primary Series Doses Administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "integer"
},
{
"name" : "Client's age is less than 9 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's age is more than 45 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Dengue serostatus Observation",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Observation"
},
{
"name" : "Client's dengue serostatus is negative",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "No dengue primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's age is between 9 years and 45 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's dengue serostatus is positive",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "One dengue primary series dose was administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Date of Latest Dengue Dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "The latest dengue dose was administered less than 6 months ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest dengue dose was administered more than 6 months ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Two dengue primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Three dengue primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVERlbmd1ZUVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVERlbmd1ZUVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbGVtZW50cyBjYWxsZWQgRWxlbWVudHMKCgpjb250ZXh0IFBhdGllbnQKCi8qCkBpbnRlcm5hbDogRGVuZ3VlIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJEZW5ndWUgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIEVsZW1lbnRzLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSQogIHdoZXJlCiAgICBJLnZhY2NpbmVDb2RlIGluIENvbmNlcHRzLiJEZW5ndWUgdmFjY2luZXMiCgovKgpAaW50ZXJuYWw6IERlbmd1ZSBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IHRoYXQgYXJlIGluIHRoZSBQcmltYXJ5IHNlcmllcwoqLwpkZWZpbmUgIkRlbmd1ZSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgIkRlbmd1ZSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzUHJpbWFyeSgpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICJOdW1iZXIgb2YgRGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCI6CiAgQ291bnQoIkRlbmd1ZSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPCA5IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgW3doZW4gcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBpcyBub3QgZmVhc2libGUgYW5kIGluIGFyZWFzIHdpdGggcmVjZW50IGRvY3VtZW50YXRpb24gb2Ygc2Vyb3ByZXZhbGVuY2UgcmF0ZXMgb2YgYXQgbGVhc3QgODAlIGJ5IGFnZSA5IHllYXJzXQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgOQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDQ1IHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA+IDQ1IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDQ1IHllYXJzLTQxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDQ1IHllYXJzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPiA0NQoKLyoKQGlucHV0OiBDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBuZWdhdGl2ZQpAcHNldWRvY29kZTogIkRlbmd1ZSBzZXJvc3RhdHVzIiA9ICJOZWdhdGl2ZSIKQGNvZGU6IENsaWVudCdzIGRlbmd1ZSBzZXJvc3RhdHVzIGlzIG5lZ2F0aXZlLTMyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQoqLwpkZWZpbmUgIkNsaWVudCdzIGRlbmd1ZSBzZXJvc3RhdHVzIGlzIG5lZ2F0aXZlIjoKICBGaXJzdCggIkRlbmd1ZSBzZXJvc3RhdHVzIE9ic2VydmF0aW9uIiApLnZhbHVlIH4gQ29uY2VwdHMuIkRlbmd1ZS1OZWdhdGl2ZSIKCi8qCkBpbnB1dDogTm8gZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRlbmd1ZSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAwCkBjb2RlOiBObyBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTE1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICJObyBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgRGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDkgeWVhcnMgYW5kIDQ1IHllYXJzCkBwc2V1ZG9jb2RlOiA5IHllYXJzIOKJpCBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaQgNDUgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDkgeWVhcnMgYW5kIDQ1IHllYXJzLTUxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA5IHllYXJzIGFuZCA0NSB5ZWFycyI6CiAgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID49IDkKICBhbmQgRWxlbWVudHMuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDw9IDQ1CgovKgpAaW5wdXQ6IENsaWVudCdzIGRlbmd1ZSBzZXJvc3RhdHVzIGlzIHBvc2l0aXZlCkBwc2V1ZG9jb2RlOiAiRGVuZ3VlIHNlcm9zdGF0dXMiID0gIlBvc2l0aXZlIgpAY29kZTogQ2xpZW50J3MgZGVuZ3VlIHNlcm9zdGF0dXMgaXMgcG9zaXRpdmUtMzIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpCiovCmRlZmluZSAiQ2xpZW50J3MgZGVuZ3VlIHNlcm9zdGF0dXMgaXMgcG9zaXRpdmUiOgogIEZpcnN0KCAiRGVuZ3VlIHNlcm9zdGF0dXMgT2JzZXJ2YXRpb24iICkudmFsdWUgfiBDb25jZXB0cy4iRGVuZ3VlLVBvc2l0aXZlIgoKLyoKQGlucHV0OiBPbmUgZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEZW5ndWUgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMQpAY29kZTogT25lIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTE1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICJPbmUgZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDEKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBkZW5ndWUgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSAtIExhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRlbmd1ZSB2YWNjaW5lcyIpIDwgNiBtb250aHMKQGNvZGU6IFRoZSBsYXRlc3QgZGVuZ3VlIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNiBtb250aHMgYWdvLTEwNgpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nLCB0aGUgcmVjb21tZW5kZWQgc3RyYXRlZ3kgd2hlcmUgZmVhc2libGUgKHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgd2hlcmVieSBvbmx5IHRob3NlIHRlc3RlZCBzZXJvcG9zaXRpdmUgd291bGQgYmUgdmFjY2luYXRlZCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBbd2hlbiBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIGlzIG5vdCBmZWFzaWJsZSBhbmQgaW4gYXJlYXMgd2l0aCByZWNlbnQgZG9jdW1lbnRhdGlvbiBvZiBzZXJvcHJldmFsZW5jZSByYXRlcyBvZiBhdCBsZWFzdCA4MCUgYnkgYWdlIDkgeWVhcnNdCiovCmRlZmluZSAiVGhlIGxhdGVzdCBkZW5ndWUgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBEZW5ndWUgRG9zZSIgaXMgbm90IG51bGwKICBhbmQgZHVyYXRpb24gaW4gbW9udGhzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IERlbmd1ZSBEb3NlIiBhbmQgTm93KCkgPCA2CgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgZGVuZ3VlIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiBtb250aHMgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUgLSBMYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJEZW5ndWUgdmFjY2luZXMiKSDiiaUgNiBtb250aHMKQGNvZGU6IFRoZSBsYXRlc3QgZGVuZ3VlIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiBtb250aHMgYWdvLTEwNgpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nLCB0aGUgcmVjb21tZW5kZWQgc3RyYXRlZ3kgd2hlcmUgZmVhc2libGUgKHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgd2hlcmVieSBvbmx5IHRob3NlIHRlc3RlZCBzZXJvcG9zaXRpdmUgd291bGQgYmUgdmFjY2luYXRlZCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBbd2hlbiBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIGlzIG5vdCBmZWFzaWJsZSBhbmQgaW4gYXJlYXMgd2l0aCByZWNlbnQgZG9jdW1lbnRhdGlvbiBvZiBzZXJvcHJldmFsZW5jZSByYXRlcyBvZiBhdCBsZWFzdCA4MCUgYnkgYWdlIDkgeWVhcnNdCiovCmRlZmluZSAiVGhlIGxhdGVzdCBkZW5ndWUgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBEZW5ndWUgRG9zZSIgaXMgbm90IG51bGwKICBhbmQgZHVyYXRpb24gaW4gbW9udGhzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IERlbmd1ZSBEb3NlIiBhbmQgTm93KCkgPj0gNgoKLyoKQGlucHV0OiBUd28gZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRlbmd1ZSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkBjb2RlOiBUd28gZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTExNQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nLCB0aGUgcmVjb21tZW5kZWQgc3RyYXRlZ3kgd2hlcmUgZmVhc2libGUgKHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgd2hlcmVieSBvbmx5IHRob3NlIHRlc3RlZCBzZXJvcG9zaXRpdmUgd291bGQgYmUgdmFjY2luYXRlZCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBbd2hlbiBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIGlzIG5vdCBmZWFzaWJsZSBhbmQgaW4gYXJlYXMgd2l0aCByZWNlbnQgZG9jdW1lbnRhdGlvbiBvZiBzZXJvcHJldmFsZW5jZSByYXRlcyBvZiBhdCBsZWFzdCA4MCUgYnkgYWdlIDkgeWVhcnNdCiovCmRlZmluZSAiVHdvIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDIKCi8qCkBpbnB1dDogVGhyZWUgZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkRlbmd1ZSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAzCkBjb2RlOiBUaHJlZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTE1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICJUaHJlZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgRGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAzCgovKgpAaW50ZXJuYWw6IERhdGUgb2YgTGF0ZXN0IERlbmd1ZSBEb3NlCiovCmRlZmluZSAiRGF0ZSBvZiBMYXRlc3QgRGVuZ3VlIERvc2UiOgogIGRhdGUgZnJvbSBzdGFydCBvZiAiRGVuZ3VlIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkub2NjdXJyZW5jZS50b0ludGVydmFsKCkKCi8qCkBpbnRlcm5hbDogRGVuZ3VlIHNlcm9zdGF0dXMgT2JzZXJ2YXRpb24KKi8KZGVmaW5lICJEZW5ndWUgc2Vyb3N0YXR1cyBPYnNlcnZhdGlvbiI6CiAgKFtPYnNlcnZhdGlvbjogQ29uY2VwdHMuIkRlbmd1ZSBzZXJvc3RhdHVzIl0gTwogICAgc29ydCBieSBlbmQgb2YgZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSBkZXNjKS5jb21wbGV0ZSgpCg=="
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjc3Ij4KICAgICAgICAgPGE6cz4vKgogICogTGlicmFyeTogSU1NWkQyRFREZW5ndWVFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFREZW5ndWVFbGVtZW50czwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkQyRFREZW5ndWVFbGVtZW50cyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+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+IGNhbGxlZCBDb25jZXB0czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE2OjEtMTY6MzYiIGxvY2FsSWRlbnRpZmllcj0iRWxlbWVudHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvSU1NWkVsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIxOToxLTE5OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTk6MS0xOToxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyNCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjE5OjEtMTk6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjgiIGxvY2F0b3I9IjI0OjEtMjc6NDciIG5hbWU9IkRlbmd1ZSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iRGVuZ3VlIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLz4KICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogRGVuZ3VlIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICZxdW90O0Rlbmd1ZSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50cy4mcXVvdDtEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFjY2luZUNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGVuZ3VlIHZhY2NpbmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIyNTozLTI3OjQ3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMjU6My0yNTo0NCIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjI1OjMtMjU6NDIiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSIyNjozLTI3OjQ3IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjM5IiBuYW1lPSJ0OkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNvZGUgbG9jYWxJZD0iMjM4IiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIyNzo1LTI3OjE3IiBwYXRoPSJ2YWNjaW5lQ29kZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjI3OjIyLTI3OjQ3IiBuYW1lPSJEZW5ndWUgdmFjY2luZXMiIGxpYnJhcnlOYW1lPSJDb25jZXB0cyIgcHJlc2VydmU9InRydWUiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjMyOjEtMzM6NTYiIG5hbWU9IkRlbmd1ZSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iRGVuZ3VlIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IERlbmd1ZSBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IHRoYXQgYXJlIGluIHRoZSBQcmltYXJ5IHNlcmllcwoqLwpkZWZpbmUgJnF1b3Q7RGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEZW5ndWUgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2VyaWVzUHJpbWFyeSgpPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIzMzozLTMzOjU2IiBuYW1lPSJzZXJpZXNQcmltYXJ5IiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjMzOjMtMzM6NDAiIG5hbWU9IkRlbmd1ZSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjM4OjEtMzk6NjIiIG5hbWU9Ik51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJOdW1iZXIgb2YgRGVuZ3VlIFByaW1hcnkgU2VyaWVzIGRvc2VzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IE51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgZG9zZXMKKi8KZGVmaW5lICZxdW90O051bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q291bnQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIzOTozLTM5OjYyIiB4c2k6dHlwZT0iQ291bnQiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMzk6OS0zOTo2MSIgbmFtZT0iRGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1NSIgbG9jYXRvcj0iNDg6MS00OTo0NSIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IHllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDkgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IHllYXJzLTQwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBbd2hlbiBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIGlzIG5vdCBmZWFzaWJsZSBhbmQgaW4gYXJlYXMgd2l0aCByZWNlbnQgZG9jdW1lbnRhdGlvbiBvZiBzZXJvcHJldmFsZW5jZSByYXRlcyBvZiBhdCBsZWFzdCA4MCUgYnkgYWdlIDkgeWVhcnNdIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgOSB5ZWFycwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IHllYXJzLTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPiAmbHQ7IDk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1NiIgbG9jYXRvcj0iNDk6My00OTo0NSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI2MCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjYxIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSI0OTozLTQ5OjQxIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1OSIgbG9jYXRvcj0iNDk6NDUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjU4OjEtNTk6NDYiIG5hbWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNDUgeWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNDUgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyA+IDQ1IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNDUgeWVhcnMtNDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nLCB0aGUgcmVjb21tZW5kZWQgc3RyYXRlZ3kgd2hlcmUgZmVhc2libGUgKHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgd2hlcmVieSBvbmx5IHRob3NlIHRlc3RlZCBzZXJvcG9zaXRpdmUgd291bGQgYmUgdmFjY2luYXRlZCkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10iLz4KICAgICAgICAgICAgPGE6cyByPSIyNjQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA0NSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ID4gNDUgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNDUgeWVhcnMtNDEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgW3doZW4gcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBpcyBub3QgZmVhc2libGUgYW5kIGluIGFyZWFzIHdpdGggcmVjZW50IGRvY3VtZW50YXRpb24gb2Ygc2Vyb3ByZXZhbGVuY2UgcmF0ZXMgb2YgYXQgbGVhc3QgODAlIGJ5IGFnZSA5IHllYXJzXQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA0NSB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPiA+IDQ1PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNjUiIGxvY2F0b3I9IjU5OjMtNTk6NDYiIHhzaTp0eXBlPSJHcmVhdGVyIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNjkiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI3MCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iNTk6My01OTo0MSIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjU5OjQ1LTU5OjQ2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQ1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTYxOjEtMTYzOjU4IiBuYW1lPSJEZW5ndWUgc2Vyb3N0YXR1cyBPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iRGVuZ3VlIHNlcm9zdGF0dXMgT2JzZXJ2YXRpb24iLz4KICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogRGVuZ3VlIHNlcm9zdGF0dXMgT2JzZXJ2YXRpb24KKi8KZGVmaW5lICZxdW90O0Rlbmd1ZSBzZXJvc3RhdHVzIE9ic2VydmF0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bT2JzZXJ2YXRpb246IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbmNlcHRzLiZxdW90O0Rlbmd1ZSBzZXJvc3RhdHVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBPPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lZmZlY3RpdmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dG9JbnRlcnZhbCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGRlc2M8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbXBsZXRlKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDMiIGxvY2F0b3I9IjE2MjozLTE2Mzo1OCIgbmFtZT0iY29tcGxldGUiIGxpYnJhcnlOYW1lPSJXQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxNjI6My0xNjM6NDciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxNjI6NC0xNjI6NDgiIGFsaWFzPSJPIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjgyIiBsb2NhdG9yPSIxNjI6NC0xNjI6NDYiIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9In4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhbElkPSIyOTAiIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjE2MjoxOC0xNjI6NDUiIG5hbWU9IkRlbmd1ZSBzZXJvc3RhdHVzIiBsaWJyYXJ5TmFtZT0iQ29uY2VwdHMiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxzb3J0IGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTYzOjUtMTYzOjQ2Ij4KICAgICAgICAgICAgICAgICAgPGJ5IGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iMTYzOjEzLTE2Mzo0NiIgZGlyZWN0aW9uPSJkZXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkyIiBsb2NhdG9yPSIxNjM6MTMtMTYzOjQxIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk0IiBsb2NhdG9yPSIxNjM6MjAtMTYzOjQxIiBuYW1lPSJ0b0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iMTYzOjIwLTE2MzoyOCIgbmFtZT0iZWZmZWN0aXZlIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9ieT4KICAgICAgICAgICAgICAgPC9zb3J0PgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjczIiBsb2NhdG9yPSI2NzoxLTY4Ojc3IiBuYW1lPSJDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBuZWdhdGl2ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgZGVuZ3VlIHNlcm9zdGF0dXMgaXMgbmVnYXRpdmUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGVuZ3VlIHNlcm9zdGF0dXMmcXVvdDsgPSAmcXVvdDtOZWdhdGl2ZSZxdW90OyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBuZWdhdGl2ZS0zMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKSIvPgogICAgICAgICAgICA8YTpzIHI9IjI3MyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBuZWdhdGl2ZQpAcHNldWRvY29kZTogJnF1b3Q7RGVuZ3VlIHNlcm9zdGF0dXMmcXVvdDsgPSAmcXVvdDtOZWdhdGl2ZSZxdW90OwpAY29kZTogQ2xpZW50J3MgZGVuZ3VlIHNlcm9zdGF0dXMgaXMgbmVnYXRpdmUtMzIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBuZWdhdGl2ZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GaXJzdCggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEZW5ndWUgc2Vyb3N0YXR1cyBPYnNlcnZhdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IH4gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rlbmd1ZS1OZWdhdGl2ZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzQiIGxvY2F0b3I9IjY4OjMtNjg6NzciIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTYiIG5hbWU9InQ6Q29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNyIgbmFtZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMSIgYXNUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSI2ODozLTY4OjQ4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDciIGxvY2F0b3I9IjY4OjMtNjg6NDIiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSI2ODoxMC02ODo0MCIgbmFtZT0iRGVuZ3VlIHNlcm9zdGF0dXMgT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTQiIHhzaTp0eXBlPSJUb0NvbmNlcHQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNSIgbmFtZT0idDpDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iNjg6NTItNjg6NzciIG5hbWU9IkRlbmd1ZS1OZWdhdGl2ZSIgbGlicmFyeU5hbWU9IkNvbmNlcHRzIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzIwIiBsb2NhdG9yPSI3NzoxLTc4OjU4IiBuYW1lPSJObyBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik5vIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEZW5ndWUgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iTm8gZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTExNSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgW3doZW4gcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBpcyBub3QgZmVhc2libGUgYW5kIGluIGFyZWFzIHdpdGggcmVjZW50IGRvY3VtZW50YXRpb24gb2Ygc2Vyb3ByZXZhbGVuY2UgcmF0ZXMgb2YgYXQgbGVhc3QgODAlIGJ5IGFnZSA5IHllYXJzXSIvPgogICAgICAgICAgICA8YTpzIHI9IjMyMCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBObyBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RGVuZ3VlIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAwCkBjb2RlOiBObyBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTE1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICZxdW90O05vIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIERlbmd1ZSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIzIj4gPSAwPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMjEiIGxvY2F0b3I9Ijc4OjMtNzg6NTgiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMjUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjIiIGxvY2F0b3I9Ijc4OjMtNzg6NTQiIG5hbWU9Ik51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjMiIGxvY2F0b3I9Ijc4OjU4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzI4IiBsb2NhdG9yPSI4NzoxLTg5OjUxIiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA5IHllYXJzIGFuZCA0NSB5ZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gOSB5ZWFycyBhbmQgNDUgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgNDUgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gOSB5ZWFycyBhbmQgNDUgeWVhcnMtNTEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nLCB0aGUgcmVjb21tZW5kZWQgc3RyYXRlZ3kgd2hlcmUgZmVhc2libGUgKHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgd2hlcmVieSBvbmx5IHRob3NlIHRlc3RlZCBzZXJvcG9zaXRpdmUgd291bGQgYmUgdmFjY2luYXRlZCkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10iLz4KICAgICAgICAgICAgPGE6cyByPSIzMjgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gOSB5ZWFycyBhbmQgNDUgeWVhcnMKQHBzZXVkb2NvZGU6IDkgeWVhcnMg4omkIFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgNDUgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDkgeWVhcnMgYW5kIDQ1IHllYXJzLTUxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDkgeWVhcnMgYW5kIDQ1IHllYXJzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4gPj0gOTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM5Ij4gJmx0Oz0gNDU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMjkiIGxvY2F0b3I9Ijg4OjMtODk6NTEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzAiIGxvY2F0b3I9Ijg4OjMtODg6NDYiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzM0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzIiIGxvY2F0b3I9Ijg4OjMtODg6NDEiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMzIiBsb2NhdG9yPSI4ODo0NiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNiIgbG9jYXRvcj0iODk6Ny04OTo1MSIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNDAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM0MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzOCIgbG9jYXRvcj0iODk6Ny04OTo0NSIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzkiIGxvY2F0b3I9Ijg5OjUwLTg5OjUxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQ1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQ0IiBsb2NhdG9yPSI5NzoxLTk4Ojc3IiBuYW1lPSJDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBwb3NpdGl2ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgZGVuZ3VlIHNlcm9zdGF0dXMgaXMgcG9zaXRpdmUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGVuZ3VlIHNlcm9zdGF0dXMmcXVvdDsgPSAmcXVvdDtQb3NpdGl2ZSZxdW90OyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBwb3NpdGl2ZS0zMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKSIvPgogICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBwb3NpdGl2ZQpAcHNldWRvY29kZTogJnF1b3Q7RGVuZ3VlIHNlcm9zdGF0dXMmcXVvdDsgPSAmcXVvdDtQb3NpdGl2ZSZxdW90OwpAY29kZTogQ2xpZW50J3MgZGVuZ3VlIHNlcm9zdGF0dXMgaXMgcG9zaXRpdmUtMzIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBkZW5ndWUgc2Vyb3N0YXR1cyBpcyBwb3NpdGl2ZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNDUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GaXJzdCggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEZW5ndWUgc2Vyb3N0YXR1cyBPYnNlcnZhdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IH4gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rlbmd1ZS1Qb3NpdGl2ZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNDUiIGxvY2F0b3I9Ijk4OjMtOTg6NzciIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNTgiIG5hbWU9InQ6Q29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1OSIgbmFtZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NCIgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1MyIgYXNUeXBlPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUwIiBsb2NhdG9yPSI5ODozLTk4OjQ4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNDkiIGxvY2F0b3I9Ijk4OjMtOTg6NDIiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzQ2IiBsb2NhdG9yPSI5ODoxMC05ODo0MCIgbmFtZT0iRGVuZ3VlIHNlcm9zdGF0dXMgT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTYiIHhzaTp0eXBlPSJUb0NvbmNlcHQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1NyIgbmFtZT0idDpDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1MiIgbG9jYXRvcj0iOTg6NTItOTg6NzciIG5hbWU9IkRlbmd1ZS1Qb3NpdGl2ZSIgbGlicmFyeU5hbWU9IkNvbmNlcHRzIiB4c2k6dHlwZT0iQ29kZVJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzYyIiBsb2NhdG9yPSIxMDc6MS0xMDg6NTgiIG5hbWU9Ik9uZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJPbmUgZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEZW5ndWUgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iT25lIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTE1Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBbd2hlbiBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIGlzIG5vdCBmZWFzaWJsZSBhbmQgaW4gYXJlYXMgd2l0aCByZWNlbnQgZG9jdW1lbnRhdGlvbiBvZiBzZXJvcHJldmFsZW5jZSByYXRlcyBvZiBhdCBsZWFzdCA4MCUgYnkgYWdlIDkgeWVhcnNdIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE9uZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0Rlbmd1ZSB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMQpAY29kZTogT25lIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTE1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICZxdW90O09uZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgRGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjUiPiA9IDE8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM2MyIgbG9jYXRvcj0iMTA4OjMtMTA4OjU4IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM2NiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzY3IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY0IiBsb2NhdG9yPSIxMDg6My0xMDg6NTQiIG5hbWU9Ik51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjUiIGxvY2F0b3I9IjEwODo1OCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3NCIgbG9jYXRvcj0iMTU1OjEtMTU2Ojk2IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBEZW5ndWUgRG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iRGF0ZSBvZiBMYXRlc3QgRGVuZ3VlIERvc2UiLz4KICAgICAgICAgICAgPGE6cyByPSIzNzQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBMYXRlc3QgRGVuZ3VlIERvc2UKKi8KZGVmaW5lICZxdW90O0RhdGUgb2YgTGF0ZXN0IERlbmd1ZSBEb3NlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+ZGF0ZSBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEZW5ndWUgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bW9zdFJlY2VudCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vY2N1cnJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50b0ludGVydmFsKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTU2OjMtMTU2Ojk2IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzYiIGxvY2F0b3I9IjE1NjoxMy0xNTY6OTYiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MiIgbG9jYXRvcj0iMTU2OjIyLTE1Njo5NiIgbmFtZT0idG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODEiIGxvY2F0b3I9IjE1NjoyMi0xNTY6ODMiIHBhdGg9Im9jY3VycmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzc4IiBsb2NhdG9yPSIxNTY6MjItMTU2OjcyIiBuYW1lPSJtb3N0UmVjZW50IiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzc5IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMzgwIiBuYW1lPSJmaGlyOkltbXVuaXphdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NpZ25hdHVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzc3IiBsb2NhdG9yPSIxNTY6MjItMTU2OjU5IiBuYW1lPSJEZW5ndWUgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3MCIgbG9jYXRvcj0iMTE3OjEtMTE5Ojc1IiBuYW1lPSJUaGUgbGF0ZXN0IGRlbmd1ZSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCBkZW5ndWUgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RGVuZ3VlIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDYgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgZGVuZ3VlIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNiBtb250aHMgYWdvLTEwNiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgW3doZW4gcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBpcyBub3QgZmVhc2libGUgYW5kIGluIGFyZWFzIHdpdGggcmVjZW50IGRvY3VtZW50YXRpb24gb2Ygc2Vyb3ByZXZhbGVuY2UgcmF0ZXMgb2YgYXQgbGVhc3QgODAlIGJ5IGFnZSA5IHllYXJzXSIvPgogICAgICAgICAgICA8YTpzIHI9IjM3MCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IGRlbmd1ZSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDYgbW9udGhzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIC0gTGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0Rlbmd1ZSB2YWNjaW5lcyZxdW90OykgJmx0OyA2IG1vbnRocwpAY29kZTogVGhlIGxhdGVzdCBkZW5ndWUgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28tMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgZGVuZ3VlIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNiBtb250aHMgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IERlbmd1ZSBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmR1cmF0aW9uIGluIG1vbnRocyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgRGVuZ3VlIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vdygpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTciPiAmbHQ7IDY8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNzEiIGxvY2F0b3I9IjExODozLTExOTo3NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4NSIgbG9jYXRvcj0iMTE4OjMtMTE4OjQyIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzg0IiBsb2NhdG9yPSIxMTg6My0xMTg6NDIiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODMiIGxvY2F0b3I9IjExODozLTExODozMCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgRGVuZ3VlIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODYiIGxvY2F0b3I9IjExOTo3LTExOTo3NSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5OCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzk5IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzg3IiBsb2NhdG9yPSIxMTk6Ny0xMTk6NzEiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5NSIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5NiIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTMiIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzOTQiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODgiIGxvY2F0b3I9IjExOTozNC0xMTk6NjEiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IERlbmd1ZSBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5MSIgbG9jYXRvcj0iMTE5OjY3LTExOTo3MSIgeHNpOnR5cGU9Ik5vdyIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5NyIgbG9jYXRvcj0iMTE5Ojc1IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MDIiIGxvY2F0b3I9IjEyODoxLTEzMDo3NiIgbmFtZT0iVGhlIGxhdGVzdCBkZW5ndWUgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgZGVuZ3VlIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiBtb250aHMgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0Rlbmd1ZSB2YWNjaW5lcyZxdW90Oykg4omlIDYgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgZGVuZ3VlIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiBtb250aHMgYWdvLTEwNiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgW3doZW4gcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBpcyBub3QgZmVhc2libGUgYW5kIGluIGFyZWFzIHdpdGggcmVjZW50IGRvY3VtZW50YXRpb24gb2Ygc2Vyb3ByZXZhbGVuY2UgcmF0ZXMgb2YgYXQgbGVhc3QgODAlIGJ5IGFnZSA5IHllYXJzXSIvPgogICAgICAgICAgICA8YTpzIHI9IjQwMiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IGRlbmd1ZSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgbW9udGhzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIC0gTGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O0Rlbmd1ZSB2YWNjaW5lcyZxdW90Oykg4omlIDYgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IGRlbmd1ZSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgbW9udGhzIGFnby0xMDYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgW3doZW4gcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBpcyBub3QgZmVhc2libGUgYW5kIGluIGFyZWFzIHdpdGggcmVjZW50IGRvY3VtZW50YXRpb24gb2Ygc2Vyb3ByZXZhbGVuY2UgcmF0ZXMgb2YgYXQgbGVhc3QgODAlIGJ5IGFnZSA5IHllYXJzXQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBkZW5ndWUgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDAzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgRGVuZ3VlIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZHVyYXRpb24gaW4gbW9udGhzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBEZW5ndWUgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm93KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxOCI+ID49IDY8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MDMiIGxvY2F0b3I9IjEyOTozLTEzMDo3NiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwNiIgbG9jYXRvcj0iMTI5OjMtMTI5OjQyIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA1IiBsb2NhdG9yPSIxMjk6My0xMjk6NDIiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDQiIGxvY2F0b3I9IjEyOTozLTEyOTozMCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgRGVuZ3VlIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDciIGxvY2F0b3I9IjEzMDo3LTEzMDo3NiIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MTkiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQyMCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwOCIgbG9jYXRvcj0iMTMwOjctMTMwOjcxIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MTYiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MTciIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDE0IiB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDE1IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA5IiBsb2NhdG9yPSIxMzA6MzQtMTMwOjYxIiBuYW1lPSJEYXRlIG9mIExhdGVzdCBEZW5ndWUgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTIiIGxvY2F0b3I9IjEzMDo2Ny0xMzA6NzEiIHhzaTp0eXBlPSJOb3ciLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTgiIGxvY2F0b3I9IjEzMDo3NiIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDIzIiBsb2NhdG9yPSIxMzk6MS0xNDA6NTgiIG5hbWU9IlR3byBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlR3byBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RGVuZ3VlIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlR3byBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTE1Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGggcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZywgdGhlIHJlY29tbWVuZGVkIHN0cmF0ZWd5IHdoZXJlIGZlYXNpYmxlIChwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIHdoZXJlYnkgb25seSB0aG9zZSB0ZXN0ZWQgc2Vyb3Bvc2l0aXZlIHdvdWxkIGJlIHZhY2NpbmF0ZWQpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBbd2hlbiBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIGlzIG5vdCBmZWFzaWJsZSBhbmQgaW4gYXJlYXMgd2l0aCByZWNlbnQgZG9jdW1lbnRhdGlvbiBvZiBzZXJvcHJldmFsZW5jZSByYXRlcyBvZiBhdCBsZWFzdCA4MCUgYnkgYWdlIDkgeWVhcnNdIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDIzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFR3byBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RGVuZ3VlIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAyCkBjb2RlOiBUd28gZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTExNQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nLCB0aGUgcmVjb21tZW5kZWQgc3RyYXRlZ3kgd2hlcmUgZmVhc2libGUgKHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgd2hlcmVieSBvbmx5IHRob3NlIHRlc3RlZCBzZXJvcG9zaXRpdmUgd291bGQgYmUgdmFjY2luYXRlZCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkRlbmd1ZS4zIGRvc2VzIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZzogQ1lELVREViAoRGVuZ3ZheGlhKSwgMy1kb3NlIHNjaGVkdWxlIHdpdGhvdXQgcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBbd2hlbiBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIGlzIG5vdCBmZWFzaWJsZSBhbmQgaW4gYXJlYXMgd2l0aCByZWNlbnQgZG9jdW1lbnRhdGlvbiBvZiBzZXJvcHJldmFsZW5jZSByYXRlcyBvZiBhdCBsZWFzdCA4MCUgYnkgYWdlIDkgeWVhcnNdCiovCmRlZmluZSAmcXVvdDtUd28gZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQyNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgRGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjYiPiA9IDI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQyNCIgbG9jYXRvcj0iMTQwOjMtMTQwOjU4IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQyNyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDI4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI1IiBsb2NhdG9yPSIxNDA6My0xNDA6NTQiIG5hbWU9Ik51bWJlciBvZiBEZW5ndWUgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjYiIGxvY2F0b3I9IjE0MDo1OCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQzMSIgbG9jYXRvcj0iMTQ5OjEtMTUwOjU4IiBuYW1lPSJUaHJlZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRocmVlIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtEZW5ndWUgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhyZWUgZGVuZ3VlIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTExNSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRob3V0IHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgW3doZW4gcHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyBpcyBub3QgZmVhc2libGUgYW5kIGluIGFyZWFzIHdpdGggcmVjZW50IGRvY3VtZW50YXRpb24gb2Ygc2Vyb3ByZXZhbGVuY2UgcmF0ZXMgb2YgYXQgbGVhc3QgODAlIGJ5IGFnZSA5IHllYXJzXSIvPgogICAgICAgICAgICA8YTpzIHI9IjQzMSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaHJlZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7RGVuZ3VlIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAzCkBjb2RlOiBUaHJlZSBkZW5ndWUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTE1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5EZW5ndWUuMyBkb3NlcyB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmc6IENZRC1URFYgKERlbmd2YXhpYSksIDMtZG9zZSBzY2hlZHVsZSB3aXRoIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcsIHRoZSByZWNvbW1lbmRlZCBzdHJhdGVneSB3aGVyZSBmZWFzaWJsZSAocHJlLXZhY2NpbmF0aW9uIHNjcmVlbmluZyB3aGVyZWJ5IG9ubHkgdGhvc2UgdGVzdGVkIHNlcm9wb3NpdGl2ZSB3b3VsZCBiZSB2YWNjaW5hdGVkKQpAZGVjaXNpb246IElNTVouRDIuRFQuRGVuZ3VlLjMgZG9zZXMgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nOiBDWUQtVERWIChEZW5ndmF4aWEpLCAzLWRvc2Ugc2NoZWR1bGUgd2l0aG91dCBwcmUtdmFjY2luYXRpb24gc2NyZWVuaW5nIFt3aGVuIHByZS12YWNjaW5hdGlvbiBzY3JlZW5pbmcgaXMgbm90IGZlYXNpYmxlIGFuZCBpbiBhcmVhcyB3aXRoIHJlY2VudCBkb2N1bWVudGF0aW9uIG9mIHNlcm9wcmV2YWxlbmNlIHJhdGVzIG9mIGF0IGxlYXN0IDgwJSBieSBhZ2UgOSB5ZWFyc10KKi8KZGVmaW5lICZxdW90O1RocmVlIGRlbmd1ZSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MzIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TnVtYmVyIG9mIERlbmd1ZSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM0Ij4gPSAzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MzIiIGxvY2F0b3I9IjE1MDozLTE1MDo1OCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MzUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQzNiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzMyIgbG9jYXRvcj0iMTUwOjMtMTUwOjU0IiBuYW1lPSJOdW1iZXIgb2YgRGVuZ3VlIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDM0IiBsb2NhdG9yPSIxNTA6NTgiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="
}
]
}