WHO SMART Guidelines - HIV
0.3.0 - ci-build
WHO SMART Guidelines - HIV - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Draft as of 2024-11-07 |
{
"resourceType" : "Library",
"id" : "HIVIND41Logic",
"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" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: Library HIVIND41Logic</b></p><a name=\"HIVIND41Logic\"> </a><a name=\"hcHIVIND41Logic\"> </a><a name=\"HIVIND41Logic-en-US\"> </a><h2>Related Artifacts</h2><table class=\"grid\"><tr><td>Depends On</td><td>Library HIC</td><td><code>http://smart.who.int/hiv/Library/HIVCommon|0.0.1</code></td></tr><tr><td>Depends On</td><td>Library WCom</td><td><a href=\"Library-WHOCommon.html\">WHOCommon</a></td></tr></table><h2>Parameters</h2><table class=\"grid\"><tr><td>Measurement Period</td><td>in</td><td>0</td><td>1</td><td>Period</td></tr><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>Initial Population</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Numerator</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Denominator</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class=\"language-sql\">/**\n * Library: HIV.IND.41 Logic\n * Ref No: VER.5\n * Short Name: ART coverage in breastfeeding mothers\n *\n * Definition: % of HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 (and 24 months) postpartum\n *\n * Numerator: Number of HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 months (and 24 months*) postpartum\n * Numerator Calculation: COUNT of infants who are an "HIV-exposed infant or child" AND whose mothers are "Breastfeeding" 12 months after "Delivery date" AND mothers with "On ART"=True 12 months after "Delivery date" | | Also reported for 24 months after "Delivery date"\n * Numerator Exclusions: \n *\n * Denominator: Number of HIV-exposed infants attending MNCH services for a 12-month visit (and 24-month visit or first visit after the end of breastfeeding)\n * Denominator Calculation: COUNT of infants who are an "HIV-exposed infant or child" AND [(whose mothers attend a 12-month "Maternal and child health service visit") OR (first "Maternal and child health service visit" after "Delivery date" where mother is NOT "Breastfeeding")] | | Also reported for mothers attending 24-month "Maternal and child health service visit"\n * Denominator Exclusions: \n *\n * Disaggregations:\n * • Age (<15, 15–19, 20–24, 25+ years) \n * • Timing of ART initiation (already on ART at first ANC visit, newly on ART during pregnancy or labour and delivery) \n * •\u00a0Cities and other administrative regions of epidemiologic importance\n *\n * Disaggregation Elements: Age | Timing of ART initiation | Breastfeeding at 24 months\n *\n * Numerator and Denominator Elements:\n * Breastfeeding \n * Delivery date \n * HIV-exposed infant or child \n * Maternal and child health service visit \n * On ART\n *\n * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022\n * \n * Data Concepts:\n * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth\n * HIV.B.DE32: Breastfeeding | Infant is being breastfed by mother\n * HIV.D.DE32: Breastfeeding | Client is giving infant breast milk\n * HIV.D.DE38: On ART | Client is currently taking ART\n * HIV.E.DE41: Timing of ART initiation | When the pregnant woman or mother initiated ART, for women living with HIV.\n * HIV.E.DE42: Already on ART at first antenatal care visit | The pregnant woman was already on antiretroviral therapy (ART) at first antenatal care visit\n * HIV.E.DE43: Newly on ART during pregnancy | The pregnant woman started ART during her pregnancy\n * HIV.E.DE44: Newly on ART during labour and delivery | The woman started ART during labour and delivery\n * HIV.E.DE46: Delivery date | Date on which the woman delivered\n * HIV.E.DE112: HIV-exposed infant or child | Whether the infant or child was determined to have had HIV exposure\n * HIV.E.DE173: Maternal and child health service visit | Maternal and child health service visit attended by an HIV-exposed infant\n * HIV.E.DE174: 12-month visit | HIV-exposed infant attending MCH services for a 12-month visit\n * HIV.E.DE175: 24-month visit | HIV-exposed infants attending MCH services for a 24-month visit\n * HIV.E.DE176: First visit after the end of breastfeeding | HIV-exposed infant attending MCH services for a first visit after the end of breastfeeding\n * HIV.H.DE47: On ART | Client is currently taking ART \n * HIV.SRV.DE20: HIV-exposed infant or child | Whether the infant or child was determined to have had HIV exposure\n *\n * Additional Context\n * - what it measures: This indicator measures the programme's ability to reduce the risk of transmission via breastfeeding (Prong 3 of the PMTCT strategy).\n * - rationale: •\u00a0In many countries the average breastfeeding period is 18–24 months. The long breastfeeding period represents an important risk period for HIV-exposed infants. | •\u00a0Ensuring that HIV-positive mothers are retained on ART, especially during the breastfeeding period, is critical to sustaining the health of the mother and preventing infection of her infant.\n * - method: For the numerator: Programme records (for example, PMTCT registers, ART registers). | | For the denominator: Programme records (for example, MCH service records)\n * \n * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm\n */\n\nlibrary HIVIND41Logic\n\n// Included Libraries\nusing FHIR version '4.0.1'\n\ninclude HIVCommon version '0.0.1' called HIC\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WCom\n\n// Indicator Definition\nparameter "Measurement Period" Interval<Date> default Interval[@2023-01-01, @2023-01-30]\n\ncontext Patient\n/* Populations */\n\n/*\n *Initial Population\n */\n\ndefine "Initial Population":\n true\n\n/**\n * Numerator\n * \n * Definition: Number of HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 months (and 24 months*) postpartum\n * Calculation: COUNT of infants who are an "HIV-exposed infant or child" AND whose mothers are "Breastfeeding" 12 months after "Delivery date" AND mothers with "On ART"=True 12 months after "Delivery date" | | Also reported for 24 months after "Delivery date"\n */\n\ndefine "Numerator":\n true\n\n\n/**\n * Denominator\n *\n * Definition: Number of HIV-exposed infants attending MNCH services for a 12-month visit (and 24-month visit or first visit after the end of breastfeeding)\n * Calculation: COUNT of infants who are an "HIV-exposed infant or child" AND [(whose mothers attend a 12-month "Maternal and child health service visit") OR (first "Maternal and child health service visit" after "Delivery date" where mother is NOT "Breastfeeding")] | | Also reported for mothers attending 24-month "Maternal and child health service visit"\n */\n\ndefine "Denominator":\n true\n \n\n/* end Populations */\n\n</code></pre><p><code>Content not shown - (</code><code>application/elm+xml</code>, size = 12Kb )</p></div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/hiv/Library/HIVIND41Logic",
"version" : "0.3.0",
"name" : "HIVIND41Logic",
"title" : "HIV.IND.41 Logic",
"status" : "draft",
"experimental" : true,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2024-11-07T20:59:16+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "% of HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 (and 24 months) postpartum",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library HIC",
"resource" : "http://smart.who.int/hiv/Library/HIVCommon|0.0.1"
},
{
"type" : "depends-on",
"display" : "Library WCom",
"resource" : "http://smart.who.int/hiv/Library/WHOCommon"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuNDEgTG9naWMKICogUmVmIE5vOiBWRVIuNQogKiBTaG9ydCBOYW1lOiBBUlQgY292ZXJhZ2UgaW4gYnJlYXN0ZmVlZGluZyBtb3RoZXJzCiAqCiAqIERlZmluaXRpb246ICUgb2YgSElWLWV4cG9zZWQgYnJlYXN0ZmVlZGluZyBpbmZhbnRzIHdob3NlIG1vdGhlcnMgYXJlIHJlY2VpdmluZyBBUlQgYXQgMTIgKGFuZCAyNCBtb250aHMpIHBvc3RwYXJ0dW0KICoKICogTnVtZXJhdG9yOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgYnJlYXN0ZmVlZGluZyBpbmZhbnRzIHdob3NlIG1vdGhlcnMgYXJlIHJlY2VpdmluZyBBUlQgYXQgMTIgbW9udGhzIChhbmQgMjQgbW9udGhzKikgcG9zdHBhcnR1bQogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAiSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIiBBTkQgd2hvc2UgbW90aGVycyBhcmUgIkJyZWFzdGZlZWRpbmciIDEyIG1vbnRocyBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgQU5EIG1vdGhlcnMgd2l0aCAiT24gQVJUIj1UcnVlIDEyIG1vbnRocyBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgfCAgfCBBbHNvIHJlcG9ydGVkIGZvciAyNCBtb250aHMgYWZ0ZXIgIkRlbGl2ZXJ5IGRhdGUiCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IE51bWJlciBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIGF0dGVuZGluZyBNTkNIIHNlcnZpY2VzIGZvciBhIDEyLW1vbnRoIHZpc2l0IChhbmQgMjQtbW9udGggdmlzaXQgb3IgZmlyc3QgdmlzaXQgYWZ0ZXIgdGhlIGVuZCBvZiBicmVhc3RmZWVkaW5nKQogKiBEZW5vbWluYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgaW5mYW50cyB3aG8gYXJlIGFuICJISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQiIEFORCBbKHdob3NlIG1vdGhlcnMgYXR0ZW5kIGEgMTItbW9udGggIk1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCIpIE9SIChmaXJzdCAiTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IiBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgd2hlcmUgbW90aGVyIGlzIE5PVCAiQnJlYXN0ZmVlZGluZyIpXSB8ICB8IEFsc28gcmVwb3J0ZWQgZm9yIG1vdGhlcnMgYXR0ZW5kaW5nIDI0LW1vbnRoICJNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQiCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAoiBBZ2UgKDwxNSwgMTXigJMxOSwgMjDigJMyNCwgMjUrIHllYXJzKSAKICogIOKAoiBUaW1pbmcgb2YgQVJUIGluaXRpYXRpb24gKGFscmVhZHkgb24gQVJUIGF0IGZpcnN0IEFOQyB2aXNpdCwgbmV3bHkgb24gQVJUIGR1cmluZyBwcmVnbmFuY3kgb3IgbGFib3VyIGFuZCBkZWxpdmVyeSkgCiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgcmVnaW9ucyBvZiBlcGlkZW1pb2xvZ2ljIGltcG9ydGFuY2UKICoKICogRGlzYWdncmVnYXRpb24gRWxlbWVudHM6IEFnZSB8IFRpbWluZyBvZiBBUlQgaW5pdGlhdGlvbiB8IEJyZWFzdGZlZWRpbmcgYXQgMjQgbW9udGhzCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIEJyZWFzdGZlZWRpbmcgCiAqICBEZWxpdmVyeSBkYXRlIAogKiAgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIAogKiAgTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IAogKiAgT24gQVJUCiAqCiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyCiAqIAogKiBEYXRhIENvbmNlcHRzOgogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkIuREUzMjogQnJlYXN0ZmVlZGluZyB8IEluZmFudCBpcyBiZWluZyBicmVhc3RmZWQgYnkgbW90aGVyCiAqIEhJVi5ELkRFMzI6IEJyZWFzdGZlZWRpbmcgfCBDbGllbnQgaXMgZ2l2aW5nIGluZmFudCBicmVhc3QgbWlsawogKiBISVYuRC5ERTM4OiBPbiBBUlQgfCBDbGllbnQgaXMgY3VycmVudGx5IHRha2luZyBBUlQKICogSElWLkUuREU0MTogVGltaW5nIG9mIEFSVCBpbml0aWF0aW9uIHwgV2hlbiB0aGUgcHJlZ25hbnQgd29tYW4gb3IgbW90aGVyIGluaXRpYXRlZCBBUlQsIGZvciB3b21lbiBsaXZpbmcgd2l0aCBISVYuCiAqIEhJVi5FLkRFNDI6IEFscmVhZHkgb24gQVJUIGF0IGZpcnN0IGFudGVuYXRhbCBjYXJlIHZpc2l0IHwgVGhlIHByZWduYW50IHdvbWFuIHdhcyBhbHJlYWR5IG9uIGFudGlyZXRyb3ZpcmFsIHRoZXJhcHkgKEFSVCkgYXQgZmlyc3QgYW50ZW5hdGFsIGNhcmUgdmlzaXQKICogSElWLkUuREU0MzogTmV3bHkgb24gQVJUIGR1cmluZyBwcmVnbmFuY3kgfCBUaGUgcHJlZ25hbnQgd29tYW4gc3RhcnRlZCBBUlQgZHVyaW5nIGhlciBwcmVnbmFuY3kKICogSElWLkUuREU0NDogTmV3bHkgb24gQVJUIGR1cmluZyBsYWJvdXIgYW5kIGRlbGl2ZXJ5IHwgVGhlIHdvbWFuIHN0YXJ0ZWQgQVJUIGR1cmluZyBsYWJvdXIgYW5kIGRlbGl2ZXJ5CiAqIEhJVi5FLkRFNDY6IERlbGl2ZXJ5IGRhdGUgfCBEYXRlIG9uIHdoaWNoIHRoZSB3b21hbiBkZWxpdmVyZWQKICogSElWLkUuREUxMTI6IEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCB8IFdoZXRoZXIgdGhlIGluZmFudCBvciBjaGlsZCB3YXMgZGV0ZXJtaW5lZCB0byBoYXZlIGhhZCBISVYgZXhwb3N1cmUKICogSElWLkUuREUxNzM6IE1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCB8IE1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCBhdHRlbmRlZCBieSBhbiBISVYtZXhwb3NlZCBpbmZhbnQKICogSElWLkUuREUxNzQ6IDEyLW1vbnRoIHZpc2l0IHwgSElWLWV4cG9zZWQgaW5mYW50IGF0dGVuZGluZyBNQ0ggc2VydmljZXMgZm9yIGEgMTItbW9udGggdmlzaXQKICogSElWLkUuREUxNzU6IDI0LW1vbnRoIHZpc2l0IHwgSElWLWV4cG9zZWQgaW5mYW50cyBhdHRlbmRpbmcgTUNIIHNlcnZpY2VzIGZvciBhIDI0LW1vbnRoIHZpc2l0CiAqIEhJVi5FLkRFMTc2OiBGaXJzdCB2aXNpdCBhZnRlciB0aGUgZW5kIG9mIGJyZWFzdGZlZWRpbmcgfCBISVYtZXhwb3NlZCBpbmZhbnQgYXR0ZW5kaW5nIE1DSCBzZXJ2aWNlcyBmb3IgYSBmaXJzdCB2aXNpdCBhZnRlciB0aGUgZW5kIG9mIGJyZWFzdGZlZWRpbmcKICogSElWLkguREU0NzogT24gQVJUIHwgQ2xpZW50IGlzIGN1cnJlbnRseSB0YWtpbmcgQVJUIAogKiBISVYuU1JWLkRFMjA6IEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCB8IFdoZXRoZXIgdGhlIGluZmFudCBvciBjaGlsZCB3YXMgZGV0ZXJtaW5lZCB0byBoYXZlIGhhZCBISVYgZXhwb3N1cmUKICoKICogQWRkaXRpb25hbCBDb250ZXh0CiAqIC0gd2hhdCBpdCBtZWFzdXJlczogVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIHByb2dyYW1tZSdzIGFiaWxpdHkgdG8gcmVkdWNlIHRoZSByaXNrIG9mIHRyYW5zbWlzc2lvbiB2aWEgYnJlYXN0ZmVlZGluZyAoUHJvbmcgMyBvZiB0aGUgUE1UQ1Qgc3RyYXRlZ3kpLgogKiAtIHJhdGlvbmFsZTog4oCiwqBJbiBtYW55IGNvdW50cmllcyB0aGUgYXZlcmFnZSBicmVhc3RmZWVkaW5nIHBlcmlvZCBpcyAxOOKAkzI0IG1vbnRocy4gVGhlIGxvbmcgYnJlYXN0ZmVlZGluZyBwZXJpb2QgcmVwcmVzZW50cyBhbiBpbXBvcnRhbnQgcmlzayBwZXJpb2QgZm9yIEhJVi1leHBvc2VkIGluZmFudHMuIHwg4oCiwqBFbnN1cmluZyB0aGF0IEhJVi1wb3NpdGl2ZSBtb3RoZXJzIGFyZSByZXRhaW5lZCBvbiBBUlQsIGVzcGVjaWFsbHkgZHVyaW5nIHRoZSBicmVhc3RmZWVkaW5nIHBlcmlvZCwgaXMgY3JpdGljYWwgdG8gc3VzdGFpbmluZyB0aGUgaGVhbHRoIG9mIHRoZSBtb3RoZXIgYW5kIHByZXZlbnRpbmcgaW5mZWN0aW9uIG9mIGhlciBpbmZhbnQuCiAqIC0gbWV0aG9kOiBGb3IgdGhlIG51bWVyYXRvcjogUHJvZ3JhbW1lIHJlY29yZHMgKGZvciBleGFtcGxlLCBQTVRDVCByZWdpc3RlcnMsIEFSVCByZWdpc3RlcnMpLiB8ICB8IEZvciB0aGUgZGVub21pbmF0b3I6IFByb2dyYW1tZSByZWNvcmRzIChmb3IgZXhhbXBsZSwgTUNIIHNlcnZpY2UgcmVjb3JkcykKICogCiAqIFN1Z2dlc3RlZCBTY29yaW5nIE1ldGhvZDogcHJvcG9ydGlvbiB8IGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY3FmbWVhc3VyZXMvU3RydWN0dXJlRGVmaW5pdGlvbi9wcm9wb3J0aW9uLW1lYXN1cmUtY3FmbQogKi8KCmxpYnJhcnkgSElWSU5ENDFMb2dpYwoKLy8gSW5jbHVkZWQgTGlicmFyaWVzCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEhJVkNvbW1vbiB2ZXJzaW9uICcwLjAuMScgY2FsbGVkIEhJQwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db21tb24gY2FsbGVkIFdDb20KCi8vIEluZGljYXRvciBEZWZpbml0aW9uCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlPiBkZWZhdWx0IEludGVydmFsW0AyMDIzLTAxLTAxLCBAMjAyMy0wMS0zMF0KCmNvbnRleHQgUGF0aWVudAovKiBQb3B1bGF0aW9ucyAqLwoKLyoKICpJbml0aWFsIFBvcHVsYXRpb24KICovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgdHJ1ZQoKLyoqCiAqIE51bWVyYXRvcgogKiAKICogRGVmaW5pdGlvbjogTnVtYmVyIG9mIEhJVi1leHBvc2VkIGJyZWFzdGZlZWRpbmcgaW5mYW50cyB3aG9zZSBtb3RoZXJzIGFyZSByZWNlaXZpbmcgQVJUIGF0IDEyIG1vbnRocyAoYW5kIDI0IG1vbnRocyopIHBvc3RwYXJ0dW0KICogQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAiSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIiBBTkQgd2hvc2UgbW90aGVycyBhcmUgIkJyZWFzdGZlZWRpbmciIDEyIG1vbnRocyBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgQU5EIG1vdGhlcnMgd2l0aCAiT24gQVJUIj1UcnVlIDEyIG1vbnRocyBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgfCAgfCBBbHNvIHJlcG9ydGVkIGZvciAyNCBtb250aHMgYWZ0ZXIgIkRlbGl2ZXJ5IGRhdGUiCiAqLwoKZGVmaW5lICJOdW1lcmF0b3IiOgogIHRydWUKCgovKioKICogRGVub21pbmF0b3IKICoKICogRGVmaW5pdGlvbjogTnVtYmVyIG9mIEhJVi1leHBvc2VkIGluZmFudHMgYXR0ZW5kaW5nIE1OQ0ggc2VydmljZXMgZm9yIGEgMTItbW9udGggdmlzaXQgKGFuZCAyNC1tb250aCB2aXNpdCBvciBmaXJzdCB2aXNpdCBhZnRlciB0aGUgZW5kIG9mIGJyZWFzdGZlZWRpbmcpCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBpbmZhbnRzIHdobyBhcmUgYW4gIkhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCIgQU5EIFsod2hvc2UgbW90aGVycyBhdHRlbmQgYSAxMi1tb250aCAiTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IikgT1IgKGZpcnN0ICJNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQiIGFmdGVyICJEZWxpdmVyeSBkYXRlIiB3aGVyZSBtb3RoZXIgaXMgTk9UICJCcmVhc3RmZWVkaW5nIildIHwgIHwgQWxzbyByZXBvcnRlZCBmb3IgbW90aGVycyBhdHRlbmRpbmcgMjQtbW9udGggIk1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCIKICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICB0cnVlCiAgICAKCi8qIGVuZCBQb3B1bGF0aW9ucyAqLwoK"
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iTm9uZSIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1JbmZvIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgPGE6cz4vKioKICogTGlicmFyeTogSElWLklORC40MSBMb2dpYwogKiBSZWYgTm86IFZFUi41CiAqIFNob3J0IE5hbWU6IEFSVCBjb3ZlcmFnZSBpbiBicmVhc3RmZWVkaW5nIG1vdGhlcnMKICoKICogRGVmaW5pdGlvbjogJSBvZiBISVYtZXhwb3NlZCBicmVhc3RmZWVkaW5nIGluZmFudHMgd2hvc2UgbW90aGVycyBhcmUgcmVjZWl2aW5nIEFSVCBhdCAxMiAoYW5kIDI0IG1vbnRocykgcG9zdHBhcnR1bQogKgogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBISVYtZXhwb3NlZCBicmVhc3RmZWVkaW5nIGluZmFudHMgd2hvc2UgbW90aGVycyBhcmUgcmVjZWl2aW5nIEFSVCBhdCAxMiBtb250aHMgKGFuZCAyNCBtb250aHMqKSBwb3N0cGFydHVtCiAqIE51bWVyYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgaW5mYW50cyB3aG8gYXJlIGFuICZxdW90O0hJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCZxdW90OyBBTkQgd2hvc2UgbW90aGVycyBhcmUgJnF1b3Q7QnJlYXN0ZmVlZGluZyZxdW90OyAxMiBtb250aHMgYWZ0ZXIgJnF1b3Q7RGVsaXZlcnkgZGF0ZSZxdW90OyBBTkQgbW90aGVycyB3aXRoICZxdW90O09uIEFSVCZxdW90Oz1UcnVlIDEyIG1vbnRocyBhZnRlciAmcXVvdDtEZWxpdmVyeSBkYXRlJnF1b3Q7IHwgIHwgQWxzbyByZXBvcnRlZCBmb3IgMjQgbW9udGhzIGFmdGVyICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsKICogTnVtZXJhdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEZW5vbWluYXRvcjogTnVtYmVyIG9mIEhJVi1leHBvc2VkIGluZmFudHMgYXR0ZW5kaW5nIE1OQ0ggc2VydmljZXMgZm9yIGEgMTItbW9udGggdmlzaXQgKGFuZCAyNC1tb250aCB2aXNpdCBvciBmaXJzdCB2aXNpdCBhZnRlciB0aGUgZW5kIG9mIGJyZWFzdGZlZWRpbmcpCiAqIERlbm9taW5hdG9yIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBpbmZhbnRzIHdobyBhcmUgYW4gJnF1b3Q7SElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkJnF1b3Q7IEFORCBbKHdob3NlIG1vdGhlcnMgYXR0ZW5kIGEgMTItbW9udGggJnF1b3Q7TWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0JnF1b3Q7KSBPUiAoZmlyc3QgJnF1b3Q7TWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0JnF1b3Q7IGFmdGVyICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsgd2hlcmUgbW90aGVyIGlzIE5PVCAmcXVvdDtCcmVhc3RmZWVkaW5nJnF1b3Q7KV0gfCAgfCBBbHNvIHJlcG9ydGVkIGZvciBtb3RoZXJzIGF0dGVuZGluZyAyNC1tb250aCAmcXVvdDtNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQmcXVvdDsKICogRGVub21pbmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERpc2FnZ3JlZ2F0aW9uczoKICog4oCiIEFnZSAoJmx0OzE1LCAxNeKAkzE5LCAyMOKAkzI0LCAyNSsgeWVhcnMpIAogKiAg4oCiIFRpbWluZyBvZiBBUlQgaW5pdGlhdGlvbiAoYWxyZWFkeSBvbiBBUlQgYXQgZmlyc3QgQU5DIHZpc2l0LCBuZXdseSBvbiBBUlQgZHVyaW5nIHByZWduYW5jeSBvciBsYWJvdXIgYW5kIGRlbGl2ZXJ5KSAKICogIOKAosKgQ2l0aWVzIGFuZCBvdGhlciBhZG1pbmlzdHJhdGl2ZSByZWdpb25zIG9mIGVwaWRlbWlvbG9naWMgaW1wb3J0YW5jZQogKgogKiBEaXNhZ2dyZWdhdGlvbiBFbGVtZW50czogQWdlIHwgVGltaW5nIG9mIEFSVCBpbml0aWF0aW9uIHwgQnJlYXN0ZmVlZGluZyBhdCAyNCBtb250aHMKICoKICogTnVtZXJhdG9yIGFuZCBEZW5vbWluYXRvciBFbGVtZW50czoKICogQnJlYXN0ZmVlZGluZyAKICogIERlbGl2ZXJ5IGRhdGUgCiAqICBISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQgCiAqICBNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQgCiAqICBPbiBBUlQKICoKICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjIKICogCiAqIERhdGEgQ29uY2VwdHM6CiAqIEhJVi5BLkRFMTc6IEFnZSB8IENhbGN1bGF0ZWQgYWdlIChudW1iZXIgb2YgeWVhcnMpIG9mIHRoZSBjbGllbnQgYmFzZWQgb24gZGF0ZSBvZiBiaXJ0aAogKiBISVYuQi5ERTMyOiBCcmVhc3RmZWVkaW5nIHwgSW5mYW50IGlzIGJlaW5nIGJyZWFzdGZlZCBieSBtb3RoZXIKICogSElWLkQuREUzMjogQnJlYXN0ZmVlZGluZyB8IENsaWVudCBpcyBnaXZpbmcgaW5mYW50IGJyZWFzdCBtaWxrCiAqIEhJVi5ELkRFMzg6IE9uIEFSVCB8IENsaWVudCBpcyBjdXJyZW50bHkgdGFraW5nIEFSVAogKiBISVYuRS5ERTQxOiBUaW1pbmcgb2YgQVJUIGluaXRpYXRpb24gfCBXaGVuIHRoZSBwcmVnbmFudCB3b21hbiBvciBtb3RoZXIgaW5pdGlhdGVkIEFSVCwgZm9yIHdvbWVuIGxpdmluZyB3aXRoIEhJVi4KICogSElWLkUuREU0MjogQWxyZWFkeSBvbiBBUlQgYXQgZmlyc3QgYW50ZW5hdGFsIGNhcmUgdmlzaXQgfCBUaGUgcHJlZ25hbnQgd29tYW4gd2FzIGFscmVhZHkgb24gYW50aXJldHJvdmlyYWwgdGhlcmFweSAoQVJUKSBhdCBmaXJzdCBhbnRlbmF0YWwgY2FyZSB2aXNpdAogKiBISVYuRS5ERTQzOiBOZXdseSBvbiBBUlQgZHVyaW5nIHByZWduYW5jeSB8IFRoZSBwcmVnbmFudCB3b21hbiBzdGFydGVkIEFSVCBkdXJpbmcgaGVyIHByZWduYW5jeQogKiBISVYuRS5ERTQ0OiBOZXdseSBvbiBBUlQgZHVyaW5nIGxhYm91ciBhbmQgZGVsaXZlcnkgfCBUaGUgd29tYW4gc3RhcnRlZCBBUlQgZHVyaW5nIGxhYm91ciBhbmQgZGVsaXZlcnkKICogSElWLkUuREU0NjogRGVsaXZlcnkgZGF0ZSB8IERhdGUgb24gd2hpY2ggdGhlIHdvbWFuIGRlbGl2ZXJlZAogKiBISVYuRS5ERTExMjogSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIHwgV2hldGhlciB0aGUgaW5mYW50IG9yIGNoaWxkIHdhcyBkZXRlcm1pbmVkIHRvIGhhdmUgaGFkIEhJViBleHBvc3VyZQogKiBISVYuRS5ERTE3MzogTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IHwgTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IGF0dGVuZGVkIGJ5IGFuIEhJVi1leHBvc2VkIGluZmFudAogKiBISVYuRS5ERTE3NDogMTItbW9udGggdmlzaXQgfCBISVYtZXhwb3NlZCBpbmZhbnQgYXR0ZW5kaW5nIE1DSCBzZXJ2aWNlcyBmb3IgYSAxMi1tb250aCB2aXNpdAogKiBISVYuRS5ERTE3NTogMjQtbW9udGggdmlzaXQgfCBISVYtZXhwb3NlZCBpbmZhbnRzIGF0dGVuZGluZyBNQ0ggc2VydmljZXMgZm9yIGEgMjQtbW9udGggdmlzaXQKICogSElWLkUuREUxNzY6IEZpcnN0IHZpc2l0IGFmdGVyIHRoZSBlbmQgb2YgYnJlYXN0ZmVlZGluZyB8IEhJVi1leHBvc2VkIGluZmFudCBhdHRlbmRpbmcgTUNIIHNlcnZpY2VzIGZvciBhIGZpcnN0IHZpc2l0IGFmdGVyIHRoZSBlbmQgb2YgYnJlYXN0ZmVlZGluZwogKiBISVYuSC5ERTQ3OiBPbiBBUlQgfCBDbGllbnQgaXMgY3VycmVudGx5IHRha2luZyBBUlQgCiAqIEhJVi5TUlYuREUyMDogSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIHwgV2hldGhlciB0aGUgaW5mYW50IG9yIGNoaWxkIHdhcyBkZXRlcm1pbmVkIHRvIGhhdmUgaGFkIEhJViBleHBvc3VyZQogKgogKiBBZGRpdGlvbmFsIENvbnRleHQKICogLSB3aGF0IGl0IG1lYXN1cmVzOiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgcHJvZ3JhbW1lJ3MgYWJpbGl0eSB0byByZWR1Y2UgdGhlIHJpc2sgb2YgdHJhbnNtaXNzaW9uIHZpYSBicmVhc3RmZWVkaW5nIChQcm9uZyAzIG9mIHRoZSBQTVRDVCBzdHJhdGVneSkuCiAqIC0gcmF0aW9uYWxlOiDigKLCoEluIG1hbnkgY291bnRyaWVzIHRoZSBhdmVyYWdlIGJyZWFzdGZlZWRpbmcgcGVyaW9kIGlzIDE44oCTMjQgbW9udGhzLiBUaGUgbG9uZyBicmVhc3RmZWVkaW5nIHBlcmlvZCByZXByZXNlbnRzIGFuIGltcG9ydGFudCByaXNrIHBlcmlvZCBmb3IgSElWLWV4cG9zZWQgaW5mYW50cy4gfCDigKLCoEVuc3VyaW5nIHRoYXQgSElWLXBvc2l0aXZlIG1vdGhlcnMgYXJlIHJldGFpbmVkIG9uIEFSVCwgZXNwZWNpYWxseSBkdXJpbmcgdGhlIGJyZWFzdGZlZWRpbmcgcGVyaW9kLCBpcyBjcml0aWNhbCB0byBzdXN0YWluaW5nIHRoZSBoZWFsdGggb2YgdGhlIG1vdGhlciBhbmQgcHJldmVudGluZyBpbmZlY3Rpb24gb2YgaGVyIGluZmFudC4KICogLSBtZXRob2Q6IEZvciB0aGUgbnVtZXJhdG9yOiBQcm9ncmFtbWUgcmVjb3JkcyAoZm9yIGV4YW1wbGUsIFBNVENUIHJlZ2lzdGVycywgQVJUIHJlZ2lzdGVycykuIHwgIHwgRm9yIHRoZSBkZW5vbWluYXRvcjogUHJvZ3JhbW1lIHJlY29yZHMgKGZvciBleGFtcGxlLCBNQ0ggc2VydmljZSByZWNvcmRzKQogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtCiAqLwoKbGlicmFyeSBISVZJTkQ0MUxvZ2ljPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJISVZJTkQ0MUxvZ2ljIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdiIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjYxOjEtNjE6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iNjM6MS02Mzo0NCIgbG9jYWxJZGVudGlmaWVyPSJISUMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZDb21tb24iIHZlcnNpb249IjAuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5ISVZDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjY0OjEtNjQ6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjY2OjEtNjY6MjkiIGxvY2FsSWRlbnRpZmllcj0iV0NvbSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L1dIT0NvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0NvbTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjY5OjEtNjk6ODgiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1Ij5JbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSI3IiBsb2NhdG9yPSI2OTo1NS02OTo4OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjY5OjY0LTY5Ojc0IiB4c2k6dHlwZT0iRGF0ZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSI2IiBsb2NhdG9yPSI2OTo3Ny02OTo4NyIgeHNpOnR5cGU9IkRhdGUiPgogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2RlZmF1bHQ+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkiIGxvY2F0b3I9IjY5OjMyLTY5OjQ1IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSI4IiBsb2NhdG9yPSI2OTo0MS02OTo0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjcxOjEtNzE6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzE6MS03MToxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzE6MS03MToxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSI3ODoxLTc5OjYiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgPGE6cyByPSIxMSI+LyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKICB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSI3OTozLTc5OjYiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9Ijg4OjEtODk6NiIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4vKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgYnJlYXN0ZmVlZGluZyBpbmZhbnRzIHdob3NlIG1vdGhlcnMgYXJlIHJlY2VpdmluZyBBUlQgYXQgMTIgbW9udGhzIChhbmQgMjQgbW9udGhzKikgcG9zdHBhcnR1bQogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgaW5mYW50cyB3aG8gYXJlIGFuICZxdW90O0hJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCZxdW90OyBBTkQgd2hvc2UgbW90aGVycyBhcmUgJnF1b3Q7QnJlYXN0ZmVlZGluZyZxdW90OyAxMiBtb250aHMgYWZ0ZXIgJnF1b3Q7RGVsaXZlcnkgZGF0ZSZxdW90OyBBTkQgbW90aGVycyB3aXRoICZxdW90O09uIEFSVCZxdW90Oz1UcnVlIDEyIG1vbnRocyBhZnRlciAmcXVvdDtEZWxpdmVyeSBkYXRlJnF1b3Q7IHwgIHwgQWxzbyByZXBvcnRlZCBmb3IgMjQgbW9udGhzIGFmdGVyICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsKICovCgpkZWZpbmUgJnF1b3Q7TnVtZXJhdG9yJnF1b3Q7OgogIHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMiIGxvY2F0b3I9Ijg5OjMtODk6NiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iOTk6MS0xMDA6NiIgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPi8qKgogKiBEZW5vbWluYXRvcgogKgogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgaW5mYW50cyBhdHRlbmRpbmcgTU5DSCBzZXJ2aWNlcyBmb3IgYSAxMi1tb250aCB2aXNpdCAoYW5kIDI0LW1vbnRoIHZpc2l0IG9yIGZpcnN0IHZpc2l0IGFmdGVyIHRoZSBlbmQgb2YgYnJlYXN0ZmVlZGluZykKICogQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAmcXVvdDtISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQmcXVvdDsgQU5EIFsod2hvc2UgbW90aGVycyBhdHRlbmQgYSAxMi1tb250aCAmcXVvdDtNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQmcXVvdDspIE9SIChmaXJzdCAmcXVvdDtNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQmcXVvdDsgYWZ0ZXIgJnF1b3Q7RGVsaXZlcnkgZGF0ZSZxdW90OyB3aGVyZSBtb3RoZXIgaXMgTk9UICZxdW90O0JyZWFzdGZlZWRpbmcmcXVvdDspXSB8ICB8IEFsc28gcmVwb3J0ZWQgZm9yIG1vdGhlcnMgYXR0ZW5kaW5nIDI0LW1vbnRoICZxdW90O01hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCZxdW90OwogKi8KCmRlZmluZSAmcXVvdDtEZW5vbWluYXRvciZxdW90OzoKICB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIxMDA6My0xMDA6NiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="
}
]
}