FHIR IG analytics| Package | smart.who.int.immunizations |
| Resource Type | Library |
| Id | Library-IMMZD2DTVaricellaElements.json |
| FHIR Version | R4 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
| Title: | IMMZD2DTVaricellaElements | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Id: | IMMZD2DTVaricellaElements | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Version: | 0.2.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Url: | IMMZD2DTVaricellaElements | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Status: | draft | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Type: |
system: http://terminology.hl7.org/CodeSystem/library-type code: logic-library |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Date: | 2026-03-24 11:34:31+0000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Publisher: | WHO | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description: | This library defines context-independent elements for Varicella used throughout the Immunization CPG |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Related Artifacts: |
Dependencies |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parameters: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{
"resourceType": "Library",
"id": "IMMZD2DTVaricellaElements",
"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": "<!-- snip (see above) -->"
},
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode": "computable"
}
],
"url": "http://smart.who.int/immunizations/Library/IMMZD2DTVaricellaElements",
"version": "0.2.0",
"name": "IMMZD2DTVaricellaElements",
"title": "IMMZD2DTVaricellaElements",
"status": "draft",
"experimental": false,
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/library-type",
"code": "logic-library"
}
]
},
"date": "2026-03-24T11:34:31+00:00",
"publisher": "WHO",
"contact": [
{
"name": "WHO",
"telecom": [
{
"system": "url",
"value": "http://who.int"
}
]
}
],
"description": "This library defines context-independent elements for Varicella 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": "Varicella Doses Administered to Patient",
"use": "out",
"min": 0,
"max": "*",
"type": "Immunization"
},
{
"name": "Varicella Primary Series Doses Administered to Patient",
"use": "out",
"min": 0,
"max": "*",
"type": "Immunization"
},
{
"name": "Number of Varicella Primary Series Doses Administered",
"use": "out",
"min": 0,
"max": "1",
"type": "integer"
},
{
"name": "Client's age is less than 12 months",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "No varicella primary series dose was administered",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "Cient's age is more than or equal to 12 months",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "Live vaccine was administered in the past 4 weeks",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "No live vaccine was administered in the past 4 weeks",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "One varicella primary series dose was administered",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "No varicella primary series doses were administered",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "Date of Latest Varicella Dose",
"use": "out",
"min": 0,
"max": "1",
"type": "date"
},
{
"name": "The latest varicella dose administered less than 4 weeks ago",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "The latest varicella dose administered more than 4 weeks ago",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
},
{
"name": "Two varicella primary series doses were administered",
"use": "out",
"min": 0,
"max": "1",
"type": "boolean"
}
],
"content": [
{
"contentType": "text/cql",
"data": "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVFZhcmljZWxsYUVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVFZhcmljZWxsYUVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbGVtZW50cyBjYWxsZWQgRWxlbWVudHMKCgpjb250ZXh0IFBhdGllbnQKCi8qCkBpbnRlcm5hbDogVmFyaWNlbGxhIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJWYXJpY2VsbGEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIEVsZW1lbnRzLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSQogIHdoZXJlCiAgICBJLnZhY2NpbmVDb2RlIGluIENvbmNlcHRzLiJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIKCi8qCkBpbnRlcm5hbDogVmFyaWNlbGxhIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzCiovCmRlZmluZSAiVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiVmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5zZXJpZXNQcmltYXJ5KCkKCi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgIk51bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIjoKICBDb3VudCgiVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IikKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMTIgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocy00MgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMiOgogIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPCAxMgoKLyoKQGlucHV0OiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDAKQGNvZGU6IE5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTI5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICJObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMAoKLyoKQGlucHV0OiBDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMTIgbW9udGhzCkBjb2RlOiBDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICJDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiID49IDEyCgovKgpAaW5wdXQ6IExpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIkxpdmUgdmFjY2luZSIgPSBUUlVFKSA8IDQgd2Vla3MKQGNvZGU6IExpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MtOTIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIkxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MiOgogIEVsZW1lbnRzLiJMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgbGFzdCA0IHdlZWtzIgoKLyoKQGlucHV0OiBObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJMaXZlIHZhY2NpbmUiID0gVFJVRSkg4omlIDQgd2Vla3MKQGNvZGU6IE5vIGxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MtOTIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIk5vIGxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MiOgogIEVsZW1lbnRzLiJObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgbGFzdCA0IHdlZWtzIgoKLyoKQGlucHV0OiBPbmUgdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAxCkBjb2RlOiBPbmUgdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIk9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMQoKLyoKQGlucHV0OiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMApAY29kZTogTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyOQpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIk5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzIikgPCA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28tMTEyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAiVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIjoKCSJEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZSIgaXMgbm90IG51bGwKICAgIGFuZCBkdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZSIgYW5kIE5vdygpIDwgNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIpIOKJpSA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28tMTEyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAiVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvIjoKICBub3QgIlRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIKCi8qCkBpbnB1dDogVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkBjb2RlOiBUd28gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyOQpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgIlR3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAyCgovKgpAaW50ZXJuYWw6IERhdGUgb2YgTGF0ZXN0IFZhcmljZWxsYSBEb3NlCiovCmRlZmluZSAiRGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UiOgogIGRhdGUgZnJvbSBzdGFydCBvZiAiVmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkub2NjdXJyZW5jZS50b0ludGVydmFsKCkK"
},
{
"contentType": "application/elm+xml",
"data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMzA3Ij4KICAgICAgICAgPGE6cz4vKgogICogTGlicmFyeTogSU1NWkQyRFRWYXJpY2VsbGFFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFRWYXJpY2VsbGFFbGVtZW50czwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkQyRFRWYXJpY2VsbGFFbGVtZW50cyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB2ZXJzaW9uPSIxLjAuMCIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iNzoxLTc6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwOCIgbG9jYXRvcj0iODoxLTg6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMDoxLTEwOjE5IiBsb2NhbElkZW50aWZpZXI9IldIT0NvbmNlcHRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL1dIT0NvbmNlcHRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0NvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjExOjEtMTE6MjciIGxvY2FsSWRlbnRpZmllcj0iV0MiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvV0hPQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0NvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIFdDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iMTI6MS0xMjoyOSIgbG9jYWxJZGVudGlmaWVyPSJXRSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9XSE9FbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5XSE9FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIFdFPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTQ6MS0xNDozMiIgbG9jYWxJZGVudGlmaWVyPSJDb21tb24iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvSU1NWkNvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgQ29tbW9uPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iMTU6MS0xNTozNiIgbG9jYWxJZGVudGlmaWVyPSJDb25jZXB0cyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSIxNjoxLTE2OjM2IiBsb2NhbElkZW50aWZpZXI9IkVsZW1lbnRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBFbGVtZW50czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNSIgbG9jYXRvcj0iMTk6MS0xOToxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMjMiIGxvY2F0b3I9IjE5OjEtMTk6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjQiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxOToxLTE5OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSIyNDoxLTI3OjYxIiBuYW1lPSJWYXJpY2VsbGEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9IlZhcmljZWxsYSBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IFZhcmljZWxsYSBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiovCmRlZmluZSAmcXVvdDtWYXJpY2VsbGEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHMuJnF1b3Q7RG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhY2NpbmVDb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbmNlcHRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIyNTozLTI3OjYxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMjU6My0yNTo0NCIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjI1OjMtMjU6NDIiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSIyNjozLTI3OjYxIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjM5IiBuYW1lPSJ0OkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNvZGUgbG9jYWxJZD0iMjM4IiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIyNzo1LTI3OjE3IiBwYXRoPSJ2YWNjaW5lQ29kZSIgc2NvcGU9IkkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjI3OjIyLTI3OjYxIiBuYW1lPSJWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyIgbGlicmFyeU5hbWU9IkNvbmNlcHRzIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MyIgbG9jYXRvcj0iMzI6MS0zMzo1OSIgbmFtZT0iVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJWYXJpY2VsbGEgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogVmFyaWNlbGxhIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzCiovCmRlZmluZSAmcXVvdDtWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ZhcmljZWxsYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zZXJpZXNQcmltYXJ5KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjMzOjMtMzM6NTkiIG5hbWU9InNlcmllc1ByaW1hcnkiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NCIgbG9jYXRvcj0iMzM6My0zMzo0MyIgbmFtZT0iVmFyaWNlbGxhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMzg6MS0zOTo2NSIgbmFtZT0iTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9Ik51bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgZG9zZXMiLz4KICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7TnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db3VudCg8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTIiIGxvY2F0b3I9IjM5OjMtMzk6NjUiIHhzaTp0eXBlPSJDb3VudCI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQ5IiBsb2NhdG9yPSIzOTo5LTM5OjY0IiBuYW1lPSJWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSI1MDoxLTUxOjQ3IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDEyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDEyIG1vbnRocy00MiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAxMiBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzLTQyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMTIgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPiAmbHQ7IDEyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjUxOjMtNTE6NDciIHhzaTp0eXBlPSJMZXNzIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNjAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI2MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1OCIgbG9jYXRvcj0iNTE6My01MTo0MiIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIGxpYnJhcnlOYW1lPSJFbGVtZW50cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSI1MTo0Ni01MTo0NyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjYwOjEtNjE6NjEiIG5hbWU9Ik5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAwCkBjb2RlOiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyOQpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgVmFyaWNlbGxhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPiA9IDA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iNjE6My02MTo2MSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNjgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI2OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NiIgbG9jYXRvcj0iNjE6My02MTo1NyIgbmFtZT0iTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iNjE6NjEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjcyOjEtNzM6NDgiIG5hbWU9IkNpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgMTIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxMiBtb250aHMtNDIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDEyIG1vbnRocwpAY29kZTogQ2llbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEyIG1vbnRocy00MgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtDaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMTIgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPiA+PSAxMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjczIiBsb2NhdG9yPSI3MzozLTczOjQ4IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI3NyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjc4IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc1IiBsb2NhdG9yPSI3MzozLTczOjQyIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzYiIGxvY2F0b3I9IjczOjQ3LTczOjQ4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4MSIgbG9jYXRvcj0iODQ6MS04NTo2MiIgbmFtZT0iTGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtMaXZlIHZhY2NpbmUmcXVvdDsgPSBUUlVFKSAmbHQ7IDQgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iTGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcy05MiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IExpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O0xpdmUgdmFjY2luZSZxdW90OyA9IFRSVUUpICZsdDsgNCB3ZWVrcwpAY29kZTogTGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcy05MgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjEgZG9zZTogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgbGFzdCA0IHdlZWtzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjgzIiBsb2NhdG9yPSI4NTozLTg1OjYyIiBuYW1lPSJMaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgbGFzdCA0IHdlZWtzIiBsaWJyYXJ5TmFtZT0iRWxlbWVudHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iOTY6MS05Nzo2NSIgbmFtZT0iTm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtMaXZlIHZhY2NpbmUmcXVvdDsgPSBUUlVFKSDiiaUgNCB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJObyBsaXZlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZCBpbiB0aGUgcGFzdCA0IHdlZWtzLTkyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuJiN4YTtUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuJiN4YTtUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4iLz4KICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogTm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7TGl2ZSB2YWNjaW5lJnF1b3Q7ID0gVFJVRSkg4omlIDQgd2Vla3MKQGNvZGU6IE5vIGxpdmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkIGluIHRoZSBwYXN0IDQgd2Vla3MtOTIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgJnF1b3Q7Tm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIHBhc3QgNCB3ZWVrcyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyODgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Tm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIGxhc3QgNCB3ZWVrcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4OCIgbG9jYXRvcj0iOTc6My05Nzo2NSIgbmFtZT0iTm8gbGl2ZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQgaW4gdGhlIGxhc3QgNCB3ZWVrcyIgbGlicmFyeU5hbWU9IkVsZW1lbnRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOTEiIGxvY2F0b3I9IjEwODoxLTEwOTo2MSIgbmFtZT0iT25lIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9Ik9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyOSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMSBkb3NlOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLiYjeGE7VGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjkxIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE9uZSB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxCkBjb2RlOiBPbmUgdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4xIGRvc2U6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgJnF1b3Q7T25lIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+ID0gMTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkyIiBsb2NhdG9yPSIxMDk6My0xMDk6NjEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjk1IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyOTYiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTMiIGxvY2F0b3I9IjEwOTozLTEwOTo1NyIgbmFtZT0iTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTA5OjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjk5IiBsb2NhdG9yPSIxMTg6MS0xMTk6NTMiIG5hbWU9Ik5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9Ik5vIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuJiN4YTtUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4iLz4KICAgICAgICAgICAgPGE6cyByPSIyOTkiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAwCkBjb2RlOiBObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTI5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzAwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtObyB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDAiIGxvY2F0b3I9IjExOTozLTExOTo1MyIgbmFtZT0iTm8gdmFyaWNlbGxhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxNTU6MS0xNTY6OTkiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFZhcmljZWxsYSBEb3NlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZSIvPgogICAgICAgICAgICA8YTpzIHI9IjMwNyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBEYXRlIG9mIExhdGVzdCBWYXJpY2VsbGEgRG9zZQoqLwpkZWZpbmUgJnF1b3Q7RGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzA4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5kYXRlIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ZhcmljZWxsYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tb3N0UmVjZW50KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRvSW50ZXJ2YWwoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxNTY6My0xNTY6OTkiIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTU2OjEzLTE1Njo5OSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxNTY6MjItMTU2Ojk5IiBuYW1lPSJ0b0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNCIgbG9jYXRvcj0iMTU2OjIyLTE1Njo4NiIgcGF0aD0ib2NjdXJyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjE1NjoyMi0xNTY6NzUiIG5hbWU9Im1vc3RSZWNlbnQiIGxpYnJhcnlOYW1lPSJXQyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIzMTMiIG5hbWU9ImZoaXI6SW1tdW5pemF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2lnbmF0dXJlPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTAiIGxvY2F0b3I9IjE1NjoyMi0xNTY6NjIiIG5hbWU9IlZhcmljZWxsYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxMjg6MS0xMzA6NzkiIG5hbWU9IlRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1ZhcmljZWxsYS1jb250YWluaW5nIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDQgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvLTExMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjMwMyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspICZsdDsgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvLTExMgpAZGVjaXNpb246IElNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuClRoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLgoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG5vdCBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vdygpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzAiPiAmbHQ7IDQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDQiIGxvY2F0b3I9IjEyOToyLTEzMDo3OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxOCIgbG9jYXRvcj0iMTI5OjItMTI5OjQ0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE3IiBsb2NhdG9yPSIxMjk6Mi0xMjk6NDQiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTYiIGxvY2F0b3I9IjEyOToyLTEyOTozMiIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTkiIGxvY2F0b3I9IjEzMDo5LTEzMDo3OSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzMSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzMyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIwIiBsb2NhdG9yPSIxMzA6OS0xMzA6NzUiIHByZWNpc2lvbj0iV2VlayIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI4IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI5IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNiIgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyNyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMSIgbG9jYXRvcj0iMTMwOjM1LTEzMDo2NSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgVmFyaWNlbGxhIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI0IiBsb2NhdG9yPSIxMzA6NzEtMTMwOjc1IiB4c2k6dHlwZT0iTm93Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMwIiBsb2NhdG9yPSIxMzA6NzkiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzNSIgbG9jYXRvcj0iMTM5OjEtMTQwOjY4IiBuYW1lPSJUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgdmFyaWNlbGxhIGRvc2UgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90Oykg4omlIDQgd2Vla3MiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCB2YXJpY2VsbGEgZG9zZSBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvLTExMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4mI3hhO1RoZSBudW1iZXIgb2YgZG9zZXMgcmVjb21tZW5kZWQgaXMgZGVwZW5kZW50IG9uIHRoZSBnb2FsIG9mIHRoZSB2YWNjaW5hdGlvbiBwcm9ncmFtbWUuIE9uZSBkb3NlIGlzIHN1ZmZpY2llbnQgdG8gcmVkdWNlIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSBmcm9tIHZhcmljZWxsYSBidXQgbm90IHRvIHByZXZlbnQgbGltaXRlZCB2aXJ1cyBjaXJjdWxhdGlvbiBhbmQgb3V0YnJlYWtzLiBUd28gZG9zZXMgaGF2ZSBoaWdoZXIgZWZmZWN0aXZlbmVzcyBhbmQgc2hvdWxkIHRoZXJlZm9yZSBiZSByZWNvbW1lbmRlZCBpbiBjb3VudHJpZXMgd2hlcmUgdGhlIHByb2dyYW1tYXRpYyBnb2FsIGlzLCBpbiBhZGRpdGlvbiB0byBkZWNyZWFzaW5nIG1vcnRhbGl0eSBhbmQgc2V2ZXJlIG1vcmJpZGl0eSwgdG8gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBvZiBjYXNlcyBhbmQgb3V0YnJlYWtzLiIvPgogICAgICAgICAgICA8YTpzIHI9IjMzNSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDspIOKJpSA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28tMTEyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5WYXJpY2VsbGEuMiBkb3NlczogQ291bnRyaWVzIHdoZXJlIHZhcmljZWxsYSBpcyBhbiBpbXBvcnRhbnQgcHVibGljIGhlYWx0aCBidXJkZW4gY291bGQgY29uc2lkZXIgaW50cm9kdWNpbmcgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGluIHRoZSByb3V0aW5lIGNoaWxkaG9vZCBpbW11bml6YXRpb24gcHJvZ3JhbW1lLiBIb3dldmVyLCByZXNvdXJjZXMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHJlYWNoaW5nIGFuZCBzdXN0YWluaW5nIHZhY2NpbmUgY292ZXJhZ2Ug4omlIDgwJS4gRGVjaXNpb24tbWFraW5nIG9uIGNoaWxkaG9vZCB2YXJpY2VsbGEgdmFjY2luYXRpb24gc2hvdWxkIGFsc28gaW5jbHVkZSBjb25zaWRlcmF0aW9uIG9mIHRoZSBwb3NzaWJsZSBpbXBhY3Qgb24gaGVycGVzIHpvc3Rlci4KVGhlIG51bWJlciBvZiBkb3NlcyByZWNvbW1lbmRlZCBpcyBkZXBlbmRlbnQgb24gdGhlIGdvYWwgb2YgdGhlIHZhY2NpbmF0aW9uIHByb2dyYW1tZS4gT25lIGRvc2UgaXMgc3VmZmljaWVudCB0byByZWR1Y2UgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5IGZyb20gdmFyaWNlbGxhIGJ1dCBub3QgdG8gcHJldmVudCBsaW1pdGVkIHZpcnVzIGNpcmN1bGF0aW9uIGFuZCBvdXRicmVha3MuIFR3byBkb3NlcyBoYXZlIGhpZ2hlciBlZmZlY3RpdmVuZXNzIGFuZCBzaG91bGQgdGhlcmVmb3JlIGJlIHJlY29tbWVuZGVkIGluIGNvdW50cmllcyB3aGVyZSB0aGUgcHJvZ3JhbW1hdGljIGdvYWwgaXMsIGluIGFkZGl0aW9uIHRvIGRlY3JlYXNpbmcgbW9ydGFsaXR5IGFuZCBzZXZlcmUgbW9yYmlkaXR5LCB0byBmdXJ0aGVyIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhc2VzIGFuZCBvdXRicmVha3MuCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3QgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMzYiIGxvY2F0b3I9IjE0MDozLTE0MDo2OCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNyIgbG9jYXRvcj0iMTQwOjctMTQwOjY4IiBuYW1lPSJUaGUgbGF0ZXN0IHZhcmljZWxsYSBkb3NlIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQwIiBsb2NhdG9yPSIxNDk6MS0xNTA6NjEiIG5hbWU9IlR3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlR3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7VmFyaWNlbGxhLWNvbnRhaW5pbmcgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjkiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuVmFyaWNlbGxhLjIgZG9zZXM6IENvdW50cmllcyB3aGVyZSB2YXJpY2VsbGEgaXMgYW4gaW1wb3J0YW50IHB1YmxpYyBoZWFsdGggYnVyZGVuIGNvdWxkIGNvbnNpZGVyIGludHJvZHVjaW5nIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpbiB0aGUgcm91dGluZSBjaGlsZGhvb2QgaW1tdW5pemF0aW9uIHByb2dyYW1tZS4gSG93ZXZlciwgcmVzb3VyY2VzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGVuc3VyZSByZWFjaGluZyBhbmQgc3VzdGFpbmluZyB2YWNjaW5lIGNvdmVyYWdlIOKJpSA4MCUuIERlY2lzaW9uLW1ha2luZyBvbiBjaGlsZGhvb2QgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIHNob3VsZCBhbHNvIGluY2x1ZGUgY29uc2lkZXJhdGlvbiBvZiB0aGUgcG9zc2libGUgaW1wYWN0IG9uIGhlcnBlcyB6b3N0ZXIuJiN4YTtUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4iLz4KICAgICAgICAgICAgPGE6cyByPSIzNDAiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtWYXJpY2VsbGEtY29udGFpbmluZyB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMgpAY29kZTogVHdvIHZhcmljZWxsYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlZhcmljZWxsYS4yIGRvc2VzOiBDb3VudHJpZXMgd2hlcmUgdmFyaWNlbGxhIGlzIGFuIGltcG9ydGFudCBwdWJsaWMgaGVhbHRoIGJ1cmRlbiBjb3VsZCBjb25zaWRlciBpbnRyb2R1Y2luZyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaW4gdGhlIHJvdXRpbmUgY2hpbGRob29kIGltbXVuaXphdGlvbiBwcm9ncmFtbWUuIEhvd2V2ZXIsIHJlc291cmNlcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byBlbnN1cmUgcmVhY2hpbmcgYW5kIHN1c3RhaW5pbmcgdmFjY2luZSBjb3ZlcmFnZSDiiaUgODAlLiBEZWNpc2lvbi1tYWtpbmcgb24gY2hpbGRob29kIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBzaG91bGQgYWxzbyBpbmNsdWRlIGNvbnNpZGVyYXRpb24gb2YgdGhlIHBvc3NpYmxlIGltcGFjdCBvbiBoZXJwZXMgem9zdGVyLgpUaGUgbnVtYmVyIG9mIGRvc2VzIHJlY29tbWVuZGVkIGlzIGRlcGVuZGVudCBvbiB0aGUgZ29hbCBvZiB0aGUgdmFjY2luYXRpb24gcHJvZ3JhbW1lLiBPbmUgZG9zZSBpcyBzdWZmaWNpZW50IHRvIHJlZHVjZSBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHkgZnJvbSB2YXJpY2VsbGEgYnV0IG5vdCB0byBwcmV2ZW50IGxpbWl0ZWQgdmlydXMgY2lyY3VsYXRpb24gYW5kIG91dGJyZWFrcy4gVHdvIGRvc2VzIGhhdmUgaGlnaGVyIGVmZmVjdGl2ZW5lc3MgYW5kIHNob3VsZCB0aGVyZWZvcmUgYmUgcmVjb21tZW5kZWQgaW4gY291bnRyaWVzIHdoZXJlIHRoZSBwcm9ncmFtbWF0aWMgZ29hbCBpcywgaW4gYWRkaXRpb24gdG8gZGVjcmVhc2luZyBtb3J0YWxpdHkgYW5kIHNldmVyZSBtb3JiaWRpdHksIHRvIGZ1cnRoZXIgcmVkdWNlIHRoZSBudW1iZXIgb2YgY2FzZXMgYW5kIG91dGJyZWFrcy4KKi8KZGVmaW5lICZxdW90O1R3byB2YXJpY2VsbGEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBWYXJpY2VsbGEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MyI+ID0gMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzQxIiBsb2NhdG9yPSIxNTA6My0xNTA6NjEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzQ0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNDUiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDIiIGxvY2F0b3I9IjE1MDozLTE1MDo1NyIgbmFtZT0iTnVtYmVyIG9mIFZhcmljZWxsYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0MyIgbG9jYXRvcj0iMTUwOjYxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="
}
]
}