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/tree/123/merge and changes regularly. See the Directory of published versions
| Draft as of 2026-03-03 |
{
"resourceType" : "Library",
"id" : "IMMZD18SMeningococcalPolysaccharideVaccinesLogic",
"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;\">IMMZD18SMeningococcalPolysaccharideVaccinesLogic</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD18SMeningococcalPolysaccharideVaccinesLogic</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-IMMZD18SMeningococcalPolysaccharideVaccinesLogic.html\">IMMZD18SMeningococcalPolysaccharideVaccinesLogic</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.1/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;\">2026-03-03 13:07:11+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">WHO</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This library defines decision support logic for the IMMZ.D18.S.Meningococcal.Polysaccharide vaccines schedule table in 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-WHOCommon.html\">WHOCommon</a></li>\n \n <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n \n <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n \n <li><a href=\"Library-IMMZEncounterElements.html\">IMMZEncounterElements</a></li>\n \n <li><a href=\"Library-IMMZD2DTMeningococcalEncounterElements.html\">IMMZD2DTMeningococcalEncounterElements</a></li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Parameters: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n \n <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n \n <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>One meningococcal dose from primary series was administered. The primary series has been completed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal dose 1</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal dose 1 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal dose 1 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal dose 1 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal dose 1 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal booster dose was administered. The immunization schedule has been completed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal booster dose</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal booster dose Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal booster dose Overdue</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal booster dose Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Meningococcal booster dose Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Test Validation</th><th>Resource</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 * Library: IMMZD18SMeningococcalPolysaccharideVaccinesLogic (IMMZ.D18.S.Meningococcal.Polysaccharide vaccines schedule)\n * Schedule Table: Polysaccharide vaccines, 1-dose and booster dose schedule\n */\nlibrary IMMZD18SMeningococcalPolysaccharideVaccinesLogic\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WC\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\n\ninclude IMMZEncounterElements called IE\ninclude IMMZD2DTMeningococcalEncounterElements called Encounter\n\nparameter Today Date default Today()\n\n\ncontext Patient\n\n\n/*\n@output: Meningococcal dose 1\n@description: Provision of the meningococcal dose 1\n@trigger: Child's birth\n@pseudo: \n@triggerDate: "Date of birth"\n*/\ndefine "Meningococcal dose 1":\n Encounter."No meningococcal primary series dose was administered"\n and not "One meningococcal dose from primary series was administered. The primary series has been completed"\n\n\n/*\n@output: Meningococcal dose 1 Create\n@create: Polysaccharide vaccines should be administered to individuals aged ≥ 2 years.\n*/\ndefine "Meningococcal dose 1 Create":\n if "Meningococcal dose 1"\n then 'Polysaccharide vaccines should be administered to individuals aged ≥ 2 years.' + '\nDue Date: ' + ToString("Meningococcal dose 1 Due Date")\n else ''\n\n\n/*\n@dynamicValue: Meningococcal dose 1 Due Date\n@pseudocode: "Date of birth" + 2 years\n*/\ndefine "Meningococcal dose 1 Due Date":\n if "Meningococcal dose 1" then Patient.birthDate + 2 years\n else null\n\n\n/*\n@dynamicValue: Meningococcal dose 1 Overdue\n@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.\n*/\ndefine "Meningococcal dose 1 Overdue":\n null\n\n\n/*\n@dynamicValue: Meningococcal dose 1 Expiration\n@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.\n*/\ndefine "Meningococcal dose 1 Expiration":\n null\n\n \n/*\n@complete: One meningococcal dose from primary series was administered. The primary series has been completed\n@pseudocode: "Completed the primary vaccination series" (where "Vaccine type" = "Meningococcal vaccines") = TRUE\n*/\ndefine "One meningococcal dose from primary series was administered. The primary series has been completed":\n Encounter."One meningococcal primary series dose was administered"\n\n\n\n/*\n@output: Meningococcal booster dose\n@description: Provision of the meningococcal booster dose\n@trigger: Primary series has been completed\n@pseudo: "Completed the primary vaccination series" (where "Vaccine type" = "Meningococcal vaccines") = TRUE\n@triggerDate: "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines")\n*/\ndefine "Meningococcal booster dose":\n "One meningococcal dose from primary series was administered. The primary series has been completed"\n and not "Meningococcal booster dose was administered. The immunization schedule has been completed"\n\n\n/*\n@output: Meningococcal booster dose Create\n@create: One booster 3–5 years after the primary dose may be given to persons considered to be a continued high risk of exposure, including some health workers.\n*/\ndefine "Meningococcal booster dose Create":\n if "Meningococcal booster dose"\n then 'One booster 3–5 years after the primary dose may be given to persons considered to be a continued high risk of exposure, including some health workers.' + '\nDue Date: ' + ToString("Meningococcal booster dose Due Date") + '\nOverdue: ' + ToString("Meningococcal booster dose Overdue")\n else ''\n\n\n/*\n@dynamicValue: Meningococcal booster dose Due Date\n@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") + 3 years\n*/\ndefine "Meningococcal booster dose Due Date":\n if "Meningococcal booster dose" then Encounter."Date of Latest Primary Meningococcal Dose" + 3 years\n else null\n\n\n/*\n@dynamicValue: Meningococcal booster dose Overdue\n@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") + 5 years\n*/\ndefine "Meningococcal booster dose Overdue":\n if "Meningococcal booster dose" then Encounter."Date of Latest Primary Meningococcal Dose" + 5 years\n else null\n\n\n/*\n@dynamicValue: Meningococcal booster dose Expiration\n@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.\n*/\ndefine "Meningococcal booster dose Expiration":\n null\n\n \n/*\n@complete: Meningococcal booster dose was administered. The immunization schedule has been completed\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Meningococcal vaccines" AND "Type of dose" = "Booster dose") = 1\n*/\ndefine "Meningococcal booster dose was administered. The immunization schedule has been completed":\n Encounter."Meningococcal booster dose was administered"\n\n\n\n/*\n@test: Test expected results based on example patients\n*/\ndefine "Test Validation":\n case\n when Patient.id = 'Meningococcal68.1' then "Meningococcal dose 1"\n when Patient.id = 'Meningococcal69.2' then "Meningococcal dose 1"\n when Patient.id = 'Meningococcal70.2' then "Meningococcal booster dose"\n when Patient.id = 'Meningococcal71.3' then "Meningococcal booster dose"\n when Patient.id = 'Meningococcal72.3' then "Meningococcal booster dose was administered. The immunization schedule has been completed"\n else 'No test case set'\n end\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 (59664 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/IMMZD18SMeningococcalPolysaccharideVaccinesLogic",
"version" : "0.2.0",
"name" : "IMMZD18SMeningococcalPolysaccharideVaccinesLogic",
"title" : "IMMZD18SMeningococcalPolysaccharideVaccinesLogic",
"status" : "draft",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2026-03-03T13:07:11+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "This library defines decision support logic for the IMMZ.D18.S.Meningococcal.Polysaccharide vaccines schedule table in the Immunization CPG",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"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 IE",
"resource" : "http://smart.who.int/immunizations/Library/IMMZEncounterElements"
},
{
"type" : "depends-on",
"display" : "Library Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZD2DTMeningococcalEncounterElements"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "One meningococcal dose from primary series was administered. The primary series has been completed",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Meningococcal dose 1",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Meningococcal dose 1 Due Date",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "Meningococcal dose 1 Create",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Meningococcal dose 1 Overdue",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
},
{
"name" : "Meningococcal dose 1 Expiration",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
},
{
"name" : "Meningococcal booster dose was administered. The immunization schedule has been completed",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Meningococcal booster dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Meningococcal booster dose Due Date",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "Meningococcal booster dose Overdue",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "Meningococcal booster dose Create",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Meningococcal booster dose Expiration",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
},
{
"name" : "Test Validation",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoKICogTGlicmFyeTogSU1NWkQxOFNNZW5pbmdvY29jY2FsUG9seXNhY2NoYXJpZGVWYWNjaW5lc0xvZ2ljIChJTU1aLkQxOC5TLk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2NoZWR1bGUpCiAqIFNjaGVkdWxlIFRhYmxlOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcywgMS1kb3NlIGFuZCBib29zdGVyIGRvc2Ugc2NoZWR1bGUKICovCmxpYnJhcnkgSU1NWkQxOFNNZW5pbmdvY29jY2FsUG9seXNhY2NoYXJpZGVWYWNjaW5lc0xvZ2ljCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db21tb24gY2FsbGVkIFdDCgppbmNsdWRlIElNTVpDb21tb24gY2FsbGVkIENvbW1vbgppbmNsdWRlIElNTVpDb25jZXB0cyBjYWxsZWQgQ29uY2VwdHMKCmluY2x1ZGUgSU1NWkVuY291bnRlckVsZW1lbnRzIGNhbGxlZCBJRQppbmNsdWRlIElNTVpEMkRUTWVuaW5nb2NvY2NhbEVuY291bnRlckVsZW1lbnRzIGNhbGxlZCBFbmNvdW50ZXIKCnBhcmFtZXRlciBUb2RheSBEYXRlIGRlZmF1bHQgVG9kYXkoKQoKCmNvbnRleHQgUGF0aWVudAoKCi8qCkBvdXRwdXQ6IE1lbmluZ29jb2NjYWwgZG9zZSAxCkBkZXNjcmlwdGlvbjogUHJvdmlzaW9uIG9mIHRoZSBtZW5pbmdvY29jY2FsIGRvc2UgMQpAdHJpZ2dlcjogQ2hpbGQncyBiaXJ0aApAcHNldWRvOiAKQHRyaWdnZXJEYXRlOiAiRGF0ZSBvZiBiaXJ0aCIKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGRvc2UgMSI6CiAgRW5jb3VudGVyLiJObyBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIKICBhbmQgbm90ICJPbmUgbWVuaW5nb2NvY2NhbCBkb3NlIGZyb20gcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZC4gVGhlIHByaW1hcnkgc2VyaWVzIGhhcyBiZWVuIGNvbXBsZXRlZCIKCgovKgpAb3V0cHV0OiBNZW5pbmdvY29jY2FsIGRvc2UgMSBDcmVhdGUKQGNyZWF0ZTogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2hvdWxkIGJlIGFkbWluaXN0ZXJlZCB0byBpbmRpdmlkdWFscyBhZ2VkIOKJpSAyIHllYXJzLgoqLwpkZWZpbmUgIk1lbmluZ29jb2NjYWwgZG9zZSAxIENyZWF0ZSI6CiAgaWYgIk1lbmluZ29jb2NjYWwgZG9zZSAxIgogIHRoZW4gJ1BvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNob3VsZCBiZSBhZG1pbmlzdGVyZWQgdG8gaW5kaXZpZHVhbHMgYWdlZCDiiaUgMiB5ZWFycy4nICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJNZW5pbmdvY29jY2FsIGRvc2UgMSBEdWUgRGF0ZSIpCiAgZWxzZSAnJwoKCi8qCkBkeW5hbWljVmFsdWU6IE1lbmluZ29jb2NjYWwgZG9zZSAxIER1ZSBEYXRlCkBwc2V1ZG9jb2RlOiAiRGF0ZSBvZiBiaXJ0aCIgKyAyIHllYXJzCiovCmRlZmluZSAiTWVuaW5nb2NvY2NhbCBkb3NlIDEgRHVlIERhdGUiOgogIGlmICJNZW5pbmdvY29jY2FsIGRvc2UgMSIgdGhlbiBQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBNZW5pbmdvY29jY2FsIGRvc2UgMSBPdmVyZHVlCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIG92ZXJkdWUgZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIk1lbmluZ29jb2NjYWwgZG9zZSAxIE92ZXJkdWUiOgogIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBNZW5pbmdvY29jY2FsIGRvc2UgMSBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIk1lbmluZ29jb2NjYWwgZG9zZSAxIEV4cGlyYXRpb24iOgogIG51bGwKCiAgCi8qCkBjb21wbGV0ZTogT25lIG1lbmluZ29jb2NjYWwgZG9zZSBmcm9tIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQKQHBzZXVkb2NvZGU6ICJDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpID0gVFJVRQoqLwpkZWZpbmUgIk9uZSBtZW5pbmdvY29jY2FsIGRvc2UgZnJvbSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkIjoKICBFbmNvdW50ZXIuIk9uZSBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIKCgoKLyoKQG91dHB1dDogTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UKQGRlc2NyaXB0aW9uOiBQcm92aXNpb24gb2YgdGhlIG1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlCkB0cmlnZ2VyOiBQcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQKQHBzZXVkbzogIkNvbXBsZXRlZCB0aGUgcHJpbWFyeSB2YWNjaW5hdGlvbiBzZXJpZXMiICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIikgPSBUUlVFCkB0cmlnZ2VyRGF0ZTogIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIikKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSI6CiAgIk9uZSBtZW5pbmdvY29jY2FsIGRvc2UgZnJvbSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkIgogIGFuZCBub3QgIk1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBpbW11bml6YXRpb24gc2NoZWR1bGUgaGFzIGJlZW4gY29tcGxldGVkIgoKCi8qCkBvdXRwdXQ6IE1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIENyZWF0ZQpAY3JlYXRlOiBPbmUgYm9vc3RlciAz4oCTNSB5ZWFycyBhZnRlciB0aGUgcHJpbWFyeSBkb3NlIG1heSBiZSBnaXZlbiB0byBwZXJzb25zIGNvbnNpZGVyZWQgdG8gYmUgYSBjb250aW51ZWQgaGlnaCByaXNrIG9mIGV4cG9zdXJlLCBpbmNsdWRpbmcgc29tZSBoZWFsdGggd29ya2Vycy4KKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBDcmVhdGUiOgogIGlmICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSIKICB0aGVuICdPbmUgYm9vc3RlciAz4oCTNSB5ZWFycyBhZnRlciB0aGUgcHJpbWFyeSBkb3NlIG1heSBiZSBnaXZlbiB0byBwZXJzb25zIGNvbnNpZGVyZWQgdG8gYmUgYSBjb250aW51ZWQgaGlnaCByaXNrIG9mIGV4cG9zdXJlLCBpbmNsdWRpbmcgc29tZSBoZWFsdGggd29ya2Vycy4nICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBEdWUgRGF0ZSIpICsgJwpPdmVyZHVlOiAnICsgVG9TdHJpbmcoIk1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIE92ZXJkdWUiKQogIGVsc2UgJycKCgovKgpAZHluYW1pY1ZhbHVlOiBNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBEdWUgRGF0ZQpAcHNldWRvY29kZTogIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIikgKyAzIHllYXJzCiovCmRlZmluZSAiTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgRHVlIERhdGUiOgogIGlmICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSIgdGhlbiBFbmNvdW50ZXIuIkRhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlIiArIDMgeWVhcnMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBPdmVyZHVlCkBwc2V1ZG9jb2RlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiKSArIDUgeWVhcnMKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBPdmVyZHVlIjoKICBpZiAiTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UiIHRoZW4gRW5jb3VudGVyLiJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgKyA1IHllYXJzCiAgZWxzZSBudWxsCgoKLyoKQGR5bmFtaWNWYWx1ZTogTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgRXhwaXJhdGlvbgpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBleHBpcmF0aW9uIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBFeHBpcmF0aW9uIjoKICBudWxsCgogIAovKgpAY29tcGxldGU6IE1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBpbW11bml6YXRpb24gc2NoZWR1bGUgaGFzIGJlZW4gY29tcGxldGVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiIEFORCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDEKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGhhcyBiZWVuIGNvbXBsZXRlZCI6CiAgRW5jb3VudGVyLiJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIgoKCgovKgpAdGVzdDogVGVzdCBleHBlY3RlZCByZXN1bHRzIGJhc2VkIG9uIGV4YW1wbGUgcGF0aWVudHMKKi8KZGVmaW5lICJUZXN0IFZhbGlkYXRpb24iOgogIGNhc2UKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdNZW5pbmdvY29jY2FsNjguMScgdGhlbiAiTWVuaW5nb2NvY2NhbCBkb3NlIDEiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnTWVuaW5nb2NvY2NhbDY5LjInIHRoZW4gIk1lbmluZ29jb2NjYWwgZG9zZSAxIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ01lbmluZ29jb2NjYWw3MC4yJyB0aGVuICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdNZW5pbmdvY29jY2FsNzEuMycgdGhlbiAiTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnTWVuaW5nb2NvY2NhbDcyLjMnIHRoZW4gIk1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBpbW11bml6YXRpb24gc2NoZWR1bGUgaGFzIGJlZW4gY29tcGxldGVkIgogICAgZWxzZSAnTm8gdGVzdCBjYXNlIHNldCcKICBlbmQK"
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMzc1Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBJTU1aRDE4U01lbmluZ29jb2NjYWxQb2x5c2FjY2hhcmlkZVZhY2NpbmVzTG9naWMgKElNTVouRDE4LlMuTWVuaW5nb2NvY2NhbC5Qb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZSkKICogU2NoZWR1bGUgVGFibGU6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzLCAxLWRvc2UgYW5kIGJvb3N0ZXIgZG9zZSBzY2hlZHVsZQogKi8KbGlicmFyeSBJTU1aRDE4U01lbmluZ29jb2NjYWxQb2x5c2FjY2hhcmlkZVZhY2NpbmVzTG9naWM8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IklNTVpEMThTTWVuaW5nb2NvY2NhbFBvbHlzYWNjaGFyaWRlVmFjY2luZXNMb2dpYyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB2ZXJzaW9uPSIxLjAuMCIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iNzoxLTc6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwOCIgbG9jYXRvcj0iODoxLTg6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMDoxLTEwOjI3IiBsb2NhbElkZW50aWZpZXI9IldDIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL1dIT0NvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5XSE9Db21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBXQzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjEyOjEtMTI6MzIiIGxvY2FsSWRlbnRpZmllcj0iQ29tbW9uIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpDb21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIENvbW1vbjwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjEzOjEtMTM6MzYiIGxvY2FsSWRlbnRpZmllcj0iQ29uY2VwdHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvSU1NWkNvbmNlcHRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb25jZXB0czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIENvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTU6MS0xNTozOSIgbG9jYWxJZGVudGlmaWVyPSJJRSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aRW5jb3VudGVyRWxlbWVudHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkVuY291bnRlckVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSUU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSIxNjoxLTE2OjYzIiBsb2NhbElkZW50aWZpZXI9IkVuY291bnRlciIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aRDJEVE1lbmluZ29jb2NjYWxFbmNvdW50ZXJFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRDJEVE1lbmluZ29jb2NjYWxFbmNvdW50ZXJFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSIxODoxLTE4OjM2IiBuYW1lPSJUb2RheSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyIFRvZGF5IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5KCk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTg6MzAtMTg6MzYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjQiIGxvY2F0b3I9IjE4OjE3LTE4OjIwIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMjE6MS0yMToxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMjciIGxvY2F0b3I9IjIxOjEtMjE6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjgiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI2IiBsb2NhdG9yPSIyMToxLTIxOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjM5IiBsb2NhdG9yPSI3NjoxLTc3OjY4IiBuYW1lPSJPbmUgbWVuaW5nb2NvY2NhbCBkb3NlIGZyb20gcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZC4gVGhlIHByaW1hcnkgc2VyaWVzIGhhcyBiZWVuIGNvbXBsZXRlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvbXBsZXRlIiB2YWx1ZT0iT25lIG1lbmluZ29jb2NjYWwgZG9zZSBmcm9tIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7Q29tcGxldGVkIHRoZSBwcmltYXJ5IHZhY2NpbmF0aW9uIHNlcmllcyZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgPSBUUlVFIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAY29tcGxldGU6IE9uZSBtZW5pbmdvY29jY2FsIGRvc2UgZnJvbSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkCkBwc2V1ZG9jb2RlOiAmcXVvdDtDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSA9IFRSVUUKKi8KZGVmaW5lICZxdW90O09uZSBtZW5pbmdvY29jY2FsIGRvc2UgZnJvbSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T25lIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSI3NzozLTc3OjY4IiBuYW1lPSJPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMzE6MS0zMzoxMTAiIG5hbWU9Ik1lbmluZ29jb2NjYWwgZG9zZSAxIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBkb3NlIDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZXNjcmlwdGlvbiIgdmFsdWU9IlByb3Zpc2lvbiBvZiB0aGUgbWVuaW5nb2NvY2NhbCBkb3NlIDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJ0cmlnZ2VyIiB2YWx1ZT0iQ2hpbGQncyBiaXJ0aCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InRyaWdnZXJEYXRlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQG91dHB1dDogTWVuaW5nb2NvY2NhbCBkb3NlIDEKQGRlc2NyaXB0aW9uOiBQcm92aXNpb24gb2YgdGhlIG1lbmluZ29jb2NjYWwgZG9zZSAxCkB0cmlnZ2VyOiBDaGlsZCdzIGJpcnRoCkBwc2V1ZG86IApAdHJpZ2dlckRhdGU6ICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsKKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgZG9zZSAxJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtObyBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+bm90IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T25lIG1lbmluZ29jb2NjYWwgZG9zZSBmcm9tIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIzMjozLTMzOjExMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMzI6My0zMjo2NyIgbmFtZT0iTm8gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iMzM6Ny0zMzoxMTAiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjMzOjExLTMzOjExMCIgbmFtZT0iT25lIG1lbmluZ29jb2NjYWwgZG9zZSBmcm9tIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTkiIGxvY2F0b3I9IjUxOjEtNTM6MTEiIG5hbWU9Ik1lbmluZ29jb2NjYWwgZG9zZSAxIER1ZSBEYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZHluYW1pY1ZhbHVlIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBkb3NlIDEgRHVlIERhdGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyArIDIgeWVhcnMiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkeW5hbWljVmFsdWU6IE1lbmluZ29jb2NjYWwgZG9zZSAxIER1ZSBEYXRlCkBwc2V1ZG9jb2RlOiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICsgMiB5ZWFycwoqLwpkZWZpbmUgJnF1b3Q7TWVuaW5nb2NvY2NhbCBkb3NlIDEgRHVlIERhdGUmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lbmluZ29jb2NjYWwgZG9zZSAxJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjIgeWVhcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OSI+CiAgZWxzZSBudWxsPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNjAiIGxvY2F0b3I9IjUyOjMtNTM6MTEiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMjYxIiBsb2NhdG9yPSI1Mjo2LTUyOjI3IiBuYW1lPSJNZW5pbmdvY29jY2FsIGRvc2UgMSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjYyIiBsb2NhdG9yPSI1MjozNC01Mjo2MCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjY3IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNjgiIG5hbWU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY2IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY0IiBsb2NhdG9yPSI1MjozNC01Mjo1MCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2MyIgbG9jYXRvcj0iNTI6MzQtNTI6NDAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjUiIGxvY2F0b3I9IjUyOjU0LTUyOjYwIiB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjI3MCIgYXNUeXBlPSJ0OkRhdGUiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2OSIgbG9jYXRvcj0iNTM6OC01MzoxMSIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iNDA6MS00NDo5IiBuYW1lPSJNZW5pbmdvY29jY2FsIGRvc2UgMSBDcmVhdGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJNZW5pbmdvY29jY2FsIGRvc2UgMSBDcmVhdGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjcmVhdGUiIHZhbHVlPSJQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzaG91bGQgYmUgYWRtaW5pc3RlcmVkIHRvIGluZGl2aWR1YWxzIGFnZWQg4omlIDIgeWVhcnMuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBNZW5pbmdvY29jY2FsIGRvc2UgMSBDcmVhdGUKQGNyZWF0ZTogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2hvdWxkIGJlIGFkbWluaXN0ZXJlZCB0byBpbmRpdmlkdWFscyBhZ2VkIOKJpSAyIHllYXJzLgoqLwpkZWZpbmUgJnF1b3Q7TWVuaW5nb2NvY2NhbCBkb3NlIDEgQ3JlYXRlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIGRvc2UgMSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzaG91bGQgYmUgYWRtaW5pc3RlcmVkIHRvIGluZGl2aWR1YWxzIGFnZWQg4omlIDIgeWVhcnMuJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicKRHVlIERhdGU6ICc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9TdHJpbmcoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIGRvc2UgMSBEdWUgRGF0ZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jyc8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDYiIGxvY2F0b3I9IjQxOjMtNDQ6OSIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIyNDciIGxvY2F0b3I9IjQxOjYtNDE6MjciIG5hbWU9Ik1lbmluZ29jb2NjYWwgZG9zZSAxIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjQyOjgtNDM6NTUiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NiIgbG9jYXRvcj0iNDI6OC00MjoxMDIiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iNDI6OC00Mjo4NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNob3VsZCBiZSBhZG1pbmlzdGVyZWQgdG8gaW5kaXZpZHVhbHMgYWdlZCDiiaUgMiB5ZWFycy4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iNDI6OTAtNDI6MTAyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iJiN4YTtEdWUgRGF0ZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NSIgbG9jYXRvcj0iNDM6MTUtNDM6NTUiIHhzaTp0eXBlPSJUb1N0cmluZyI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjc2IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcxIiBsb2NhdG9yPSI0MzoyNC00Mzo1NCIgbmFtZT0iTWVuaW5nb2NvY2NhbCBkb3NlIDEgRHVlIERhdGUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjQ0OjgtNDQ6OSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyODQiIGxvY2F0b3I9IjYwOjEtNjE6NiIgbmFtZT0iTWVuaW5nb2NvY2NhbCBkb3NlIDEgT3ZlcmR1ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImR5bmFtaWNWYWx1ZSIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgZG9zZSAxIE92ZXJkdWUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4iLz4KICAgICAgICAgICAgPGE6cyByPSIyODQiPgogICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+LyoKQGR5bmFtaWNWYWx1ZTogTWVuaW5nb2NvY2NhbCBkb3NlIDEgT3ZlcmR1ZQpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgZG9zZSAxIE92ZXJkdWUmcXVvdDs6CiAgbnVsbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyODUiIGxvY2F0b3I9IjYxOjMtNjE6NiIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSI2ODoxLTY5OjYiIG5hbWU9Ik1lbmluZ29jb2NjYWwgZG9zZSAxIEV4cGlyYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkeW5hbWljVmFsdWUiIHZhbHVlPSJNZW5pbmdvY29jY2FsIGRvc2UgMSBFeHBpcmF0aW9uIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IlRvIGJlIGRldGVybWluZWQgYnkgTWVtYmVyIFN0YXRlczsgaG93ZXZlciwgdGhlcmUgaXMgbm8gcmVjb21tZW5kZWQgZXhwaXJhdGlvbiBkYXRlIGFuZCBpbmRpdmlkdWFscyBhcmUgYWx3YXlzIGVsaWdpYmxlIHRvIGJlIHZhY2NpbmF0ZWQuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjg4Ij4KICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPi8qCkBkeW5hbWljVmFsdWU6IE1lbmluZ29jb2NjYWwgZG9zZSAxIEV4cGlyYXRpb24KQHBzZXVkb2NvZGU6IFRvIGJlIGRldGVybWluZWQgYnkgTWVtYmVyIFN0YXRlczsgaG93ZXZlciwgdGhlcmUgaXMgbm8gcmVjb21tZW5kZWQgZXhwaXJhdGlvbiBkYXRlIGFuZCBpbmRpdmlkdWFscyBhcmUgYWx3YXlzIGVsaWdpYmxlIHRvIGJlIHZhY2NpbmF0ZWQuCiovCmRlZmluZSAmcXVvdDtNZW5pbmdvY29jY2FsIGRvc2UgMSBFeHBpcmF0aW9uJnF1b3Q7OgogIG51bGw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjg5IiBsb2NhdG9yPSI2OTozLTY5OjYiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5OCIgbG9jYXRvcj0iMTM1OjEtMTM2OjU3IiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGhhcyBiZWVuIGNvbXBsZXRlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvbXBsZXRlIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4gVGhlIGltbXVuaXphdGlvbiBzY2hlZHVsZSBoYXMgYmVlbiBjb21wbGV0ZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBBTkQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDEiLz4KICAgICAgICAgICAgPGE6cyByPSIyOTgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBjb21wbGV0ZTogTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4gVGhlIGltbXVuaXphdGlvbiBzY2hlZHVsZSBoYXMgYmVlbiBjb21wbGV0ZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBBTkQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDEKKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBpbW11bml6YXRpb24gc2NoZWR1bGUgaGFzIGJlZW4gY29tcGxldGVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwMCIgbG9jYXRvcj0iMTM2OjMtMTM2OjU3IiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOTIiIGxvY2F0b3I9Ijg4OjEtOTA6MTAxIiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVzY3JpcHRpb24iIHZhbHVlPSJQcm92aXNpb24gb2YgdGhlIG1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0idHJpZ2dlciIgdmFsdWU9IlByaW1hcnkgc2VyaWVzIGhhcyBiZWVuIGNvbXBsZXRlZCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkbyIgdmFsdWU9IiZxdW90O0NvbXBsZXRlZCB0aGUgcHJpbWFyeSB2YWNjaW5hdGlvbiBzZXJpZXMmcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspID0gVFJVRSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InRyaWdnZXJEYXRlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykiLz4KICAgICAgICAgICAgPGE6cyByPSIyOTIiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IE1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlCkBkZXNjcmlwdGlvbjogUHJvdmlzaW9uIG9mIHRoZSBtZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZQpAdHJpZ2dlcjogUHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkCkBwc2V1ZG86ICZxdW90O0NvbXBsZXRlZCB0aGUgcHJpbWFyeSB2YWNjaW5hdGlvbiBzZXJpZXMmcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspID0gVFJVRQpAdHJpZ2dlckRhdGU6ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspCiovCmRlZmluZSAmcXVvdDtNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOTMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T25lIG1lbmluZ29jb2NjYWwgZG9zZSBmcm9tIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+bm90IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4gVGhlIGltbXVuaXphdGlvbiBzY2hlZHVsZSBoYXMgYmVlbiBjb21wbGV0ZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkzIiBsb2NhdG9yPSI4OTozLTkwOjEwMSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iODk6My04OToxMDIiIG5hbWU9Ik9uZSBtZW5pbmdvY29jY2FsIGRvc2UgZnJvbSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTUiIGxvY2F0b3I9IjkwOjctOTA6MTAxIiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAxIiBsb2NhdG9yPSI5MDoxMS05MDoxMDEiIG5hbWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBpbW11bml6YXRpb24gc2NoZWR1bGUgaGFzIGJlZW4gY29tcGxldGVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzIwIiBsb2NhdG9yPSIxMDk6MS0xMTE6MTEiIG5hbWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIER1ZSBEYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZHluYW1pY1ZhbHVlIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgRHVlIERhdGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgKyAzIHllYXJzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzIwIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZHluYW1pY1ZhbHVlOiBNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBEdWUgRGF0ZQpAcHNldWRvY29kZTogJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgKyAzIHllYXJzCiovCmRlZmluZSAmcXVvdDtNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBEdWUgRGF0ZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjEiPgogICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjMgeWVhcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyOSI+CiAgZWxzZSBudWxsPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMjEiIGxvY2F0b3I9IjExMDozLTExMToxMSIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIzMjIiIGxvY2F0b3I9IjExMDo2LTExMDozMyIgbmFtZT0iTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjMyMyIgbG9jYXRvcj0iMTEwOjQwLTExMDoxMDIiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyNyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI4IiBuYW1lPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNSIgbG9jYXRvcj0iMTEwOjQwLTExMDo5MiIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNiIgbG9jYXRvcj0iMTEwOjk2LTExMDoxMDIiIHZhbHVlPSIzIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzMwIiBhc1R5cGU9InQ6RGF0ZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI5IiBsb2NhdG9yPSIxMTE6OC0xMTE6MTEiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjExODoxLTEyMDoxMSIgbmFtZT0iTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgT3ZlcmR1ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImR5bmFtaWNWYWx1ZSIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIE92ZXJkdWUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgKyA1IHllYXJzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAZHluYW1pY1ZhbHVlOiBNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBPdmVyZHVlCkBwc2V1ZG9jb2RlOiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSArIDUgeWVhcnMKKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIE92ZXJkdWUmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz41IHllYXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTYiPgogIGVsc2UgbnVsbDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzQ4IiBsb2NhdG9yPSIxMTk6My0xMjA6MTEiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gbG9jYWxJZD0iMzQ5IiBsb2NhdG9yPSIxMTk6Ni0xMTk6MzMiIG5hbWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzNTAiIGxvY2F0b3I9IjExOTo0MC0xMTk6MTAyIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNTQiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1NSIgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTIiIGxvY2F0b3I9IjExOTo0MC0xMTk6OTIiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTMiIGxvY2F0b3I9IjExOTo5Ni0xMTk6MTAyIiB2YWx1ZT0iNSIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjM1NyIgYXNUeXBlPSJ0OkRhdGUiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NiIgbG9jYXRvcj0iMTIwOjgtMTIwOjExIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSI5NzoxLTEwMjo5IiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBDcmVhdGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBDcmVhdGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjcmVhdGUiIHZhbHVlPSJPbmUgYm9vc3RlciAz4oCTNSB5ZWFycyBhZnRlciB0aGUgcHJpbWFyeSBkb3NlIG1heSBiZSBnaXZlbiB0byBwZXJzb25zIGNvbnNpZGVyZWQgdG8gYmUgYSBjb250aW51ZWQgaGlnaCByaXNrIG9mIGV4cG9zdXJlLCBpbmNsdWRpbmcgc29tZSBoZWFsdGggd29ya2Vycy4iLz4KICAgICAgICAgICAgPGE6cyByPSIzMDQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IE1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIENyZWF0ZQpAY3JlYXRlOiBPbmUgYm9vc3RlciAz4oCTNSB5ZWFycyBhZnRlciB0aGUgcHJpbWFyeSBkb3NlIG1heSBiZSBnaXZlbiB0byBwZXJzb25zIGNvbnNpZGVyZWQgdG8gYmUgYSBjb250aW51ZWQgaGlnaCByaXNrIG9mIGV4cG9zdXJlLCBpbmNsdWRpbmcgc29tZSBoZWFsdGggd29ya2Vycy4KKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIENyZWF0ZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J09uZSBib29zdGVyIDPigJM1IHllYXJzIGFmdGVyIHRoZSBwcmltYXJ5IGRvc2UgbWF5IGJlIGdpdmVuIHRvIHBlcnNvbnMgY29uc2lkZXJlZCB0byBiZSBhIGNvbnRpbnVlZCBoaWdoIHJpc2sgb2YgZXhwb3N1cmUsIGluY2x1ZGluZyBzb21lIGhlYWx0aCB3b3JrZXJzLic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nCkR1ZSBEYXRlOiAnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvU3RyaW5nKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgRHVlIERhdGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nCk92ZXJkdWU6ICc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9TdHJpbmcoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBPdmVyZHVlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIGVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4nJzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iOTg6My0xMDI6OSIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBsb2NhbElkPSIzMDYiIGxvY2F0b3I9Ijk4OjYtOTg6MzMiIG5hbWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzNjYiIGxvY2F0b3I9Ijk5OjgtMTAxOjU5IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDQiIGxvY2F0b3I9Ijk5OjgtMTAwOjc2IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzkiIGxvY2F0b3I9Ijk5OjgtMTAwOjYxIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTciIGxvY2F0b3I9Ijk5OjgtOTk6MTc2IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTEiIGxvY2F0b3I9Ijk5OjgtOTk6MTYwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iT25lIGJvb3N0ZXIgM+KAkzUgeWVhcnMgYWZ0ZXIgdGhlIHByaW1hcnkgZG9zZSBtYXkgYmUgZ2l2ZW4gdG8gcGVyc29ucyBjb25zaWRlcmVkIHRvIGJlIGEgY29udGludWVkIGhpZ2ggcmlzayBvZiBleHBvc3VyZSwgaW5jbHVkaW5nIHNvbWUgaGVhbHRoIHdvcmtlcnMuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTMiIGxvY2F0b3I9Ijk5OjE2NC05OToxNzYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSImI3hhO0R1ZSBEYXRlOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM1IiBsb2NhdG9yPSIxMDA6MTUtMTAwOjYxIiB4c2k6dHlwZT0iVG9TdHJpbmciPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzNiIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzMSIgbG9jYXRvcj0iMTAwOjI0LTEwMDo2MCIgbmFtZT0iTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgRHVlIERhdGUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDAiIGxvY2F0b3I9IjEwMDo2NS0xMDA6NzYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSImI3hhO092ZXJkdWU6ICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjIiIGxvY2F0b3I9IjEwMToxNC0xMDE6NTkiIHhzaTp0eXBlPSJUb1N0cmluZyI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzYzIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU4IiBsb2NhdG9yPSIxMDE6MjMtMTAxOjU4IiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBPdmVyZHVlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzY3IiBsb2NhdG9yPSIxMDI6OC0xMDI6OSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNzEiIGxvY2F0b3I9IjEyNzoxLTEyODo2IiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBFeHBpcmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZHluYW1pY1ZhbHVlIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgRXhwaXJhdGlvbiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSJUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLiIvPgogICAgICAgICAgICA8YTpzIHI9IjM3MSI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzcyIj4vKgpAZHluYW1pY1ZhbHVlOiBNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgJnF1b3Q7TWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2UgRXhwaXJhdGlvbiZxdW90OzoKICBudWxsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3MiIgbG9jYXRvcj0iMTI4OjMtMTI4OjYiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTQzOjEtMTUxOjUiIG5hbWU9IlRlc3QgVmFsaWRhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9InRlc3QiIHZhbHVlPSJUZXN0IGV4cGVjdGVkIHJlc3VsdHMgYmFzZWQgb24gZXhhbXBsZSBwYXRpZW50cyIvPgogICAgICAgICAgICA8YTpzIHI9IjM3NSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQHRlc3Q6IFRlc3QgZXhwZWN0ZWQgcmVzdWx0cyBiYXNlZCBvbiBleGFtcGxlIHBhdGllbnRzCiovCmRlZmluZSAmcXVvdDtUZXN0IFZhbGlkYXRpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nTWVuaW5nb2NvY2NhbDY4LjEnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lbmluZ29jb2NjYWwgZG9zZSAxJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidNZW5pbmdvY29jY2FsNjkuMic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBkb3NlIDEmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J01lbmluZ29jb2NjYWw3MC4yJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nTWVuaW5nb2NvY2NhbDcxLjMnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidNZW5pbmdvY29jY2FsNzIuMyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4gVGhlIGltbXVuaXphdGlvbiBzY2hlZHVsZSBoYXMgYmVlbiBjb21wbGV0ZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPidObyB0ZXN0IGNhc2Ugc2V0JzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3NiIgbG9jYXRvcj0iMTQ0OjMtMTUxOjUiIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjM3NyIgbG9jYXRvcj0iMTQ1OjUtMTQ1OjY5Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMzc4IiBsb2NhdG9yPSIxNDU6MTAtMTQ1OjQxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM4NSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzODYiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MyIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzODQiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MCIgbG9jYXRvcj0iMTQ1OjEwLTE0NToxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzc5IiBsb2NhdG9yPSIxNDU6MTAtMTQ1OjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzgxIiBsb2NhdG9yPSIxNDU6MjMtMTQ1OjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbDY4LjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iNDM0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODciIGxvY2F0b3I9IjE0NTo0OC0xNDU6NjkiIG5hbWU9Ik1lbmluZ29jb2NjYWwgZG9zZSAxIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQzNSIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjQzNiIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iNDM3IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMzg4IiBsb2NhdG9yPSIxNDY6NS0xNDY6NjkiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIzODkiIGxvY2F0b3I9IjE0NjoxMC0xNDY6NDEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzk2IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5NyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzk0IiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5NSIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzkxIiBsb2NhdG9yPSIxNDY6MTAtMTQ2OjE5IiBwYXRoPSJpZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzOTAiIGxvY2F0b3I9IjE0NjoxMC0xNDY6MTYiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTIiIGxvY2F0b3I9IjE0NjoyMy0xNDY6NDEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJNZW5pbmdvY29jY2FsNjkuMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSI0MzgiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5OCIgbG9jYXRvcj0iMTQ2OjQ4LTE0Njo2OSIgbmFtZT0iTWVuaW5nb2NvY2NhbCBkb3NlIDEiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDM5IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iNDQwIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI0NDEiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIzOTkiIGxvY2F0b3I9IjE0Nzo1LTE0Nzo3NSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjQwMCIgbG9jYXRvcj0iMTQ3OjEwLTE0Nzo0MSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MDciIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDA4IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDUiIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDA2IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDIiIGxvY2F0b3I9IjE0NzoxMC0xNDc6MTkiIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQwMSIgbG9jYXRvcj0iMTQ3OjEwLTE0NzoxNiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwMyIgbG9jYXRvcj0iMTQ3OjIzLTE0Nzo0MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1lbmluZ29jb2NjYWw3MC4yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjQ0MiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA5IiBsb2NhdG9yPSIxNDc6NDgtMTQ3Ojc1IiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NDMiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI0NDQiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjQ0NSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjQxMCIgbG9jYXRvcj0iMTQ4OjUtMTQ4Ojc1Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iNDExIiBsb2NhdG9yPSIxNDg6MTAtMTQ4OjQxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQxOCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MTkiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxNiIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MTciIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxMyIgbG9jYXRvcj0iMTQ4OjEwLTE0ODoxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDEyIiBsb2NhdG9yPSIxNDg6MTAtMTQ4OjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDE0IiBsb2NhdG9yPSIxNDg6MjMtMTQ4OjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbDcxLjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iNDQ2IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjAiIGxvY2F0b3I9IjE0ODo0OC0xNDg6NzUiIG5hbWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ0NyIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjQ0OCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iNDQ5IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iNDIxIiBsb2NhdG9yPSIxNDk6NS0xNDk6MTM4Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iNDIyIiBsb2NhdG9yPSIxNDk6MTAtMTQ5OjQxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQyOSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MzAiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyNyIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MjgiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyNCIgbG9jYXRvcj0iMTQ5OjEwLTE0OToxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDIzIiBsb2NhdG9yPSIxNDk6MTAtMTQ5OjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI1IiBsb2NhdG9yPSIxNDk6MjMtMTQ5OjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbDcyLjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iNDUwIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzEiIGxvY2F0b3I9IjE0OTo0OC0xNDk6MTM4IiBuYW1lPSJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgaW1tdW5pemF0aW9uIHNjaGVkdWxlIGhhcyBiZWVuIGNvbXBsZXRlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NTEiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI0NTIiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjQ1MyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iNDU0IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzIiIGxvY2F0b3I9IjE1MDoxMC0xNTA6MjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJObyB0ZXN0IGNhc2Ugc2V0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ1NSIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjQ1NiIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iNDU3IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"
}
]
}