WHO Immunization Implementation Guide
1.0.0 - release

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

: IMMZD2DTCholeraEncounterElements - TTL Representation

Draft as of 2026-03-31

Raw ttl | Download

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

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

 a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "IMMZD2DTCholeraEncounterElements"] ; # 
  fhir:meta [
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module>     ] )
  ] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTCholeraEncounterElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTCholeraEncounterElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">1.0.0</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD2DTCholeraEncounterElements.html\">IMMZD2DTCholeraEncounterElements</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2026-03-31 13:54:17+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">WHO</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>This library defines encounter-based elements for Cholera used throughout the Immunization CPG</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Related Artifacts: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                \n                \n                <p><b>Dependencies</b></p>\n                <ul>\n                  \n                    <li><a href=\"Library-WHOConcepts.html\">WHOConcepts</a></li>\n                  \n                    <li><a href=\"Library-WHOCommon.html\">WHOCommon</a></li>\n                  \n                    <li><a href=\"Library-WHOElements.html\">WHOElements</a></li>\n                  \n                    <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n                  \n                    <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n                  \n                    <li><a href=\"Library-IMMZEncounterElements.html\">IMMZEncounterElements</a></li>\n                  \n                    <li><a href=\"Library-IMMZD2DTCholeraElements.html\">IMMZD2DTCholeraElements</a></li>\n                  \n                </ul>\n                \n                \n                \n                \n                \n            </td>\n        </tr>\n        \n\n        \n        <tr>\n          <th scope=\"row\"><b>Parameters: </b></th>\n          <td style=\"padding-left: 4px;\">\n            <table class=\"grid-dict\">\n              <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n              \n                <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>EncounterId</th><th>string</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>CholeraLowerLimitDays</th><th>integer</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>CholeraExactIntervalDays</th><th>integer</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Cholera Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Cholera Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Cholera Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than or equal to 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No cholera primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One cholera primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest Cholera Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered less than 14 days ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered more than 14 days ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two cholera primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Cholera Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Cholera Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No cholera booster series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered less than 3 years ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered more than 3 years ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>At least one booster series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Dose number of the latest dose is one</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered more than 14 days ago and less than 3 years ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Dose number of the latest dose is two</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 2 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is 2–5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>At least one cholera primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Dose number of the latest primary series dose is one</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered less than 1 week ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered more than 1 week and less than 6 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Dose number of the latest primary series dose is two</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Dose number of the latest primary series dose is less than three</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered more than 6 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Dose number of the latest primary series dose is three</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered less than {Member States defined lower limit} days ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered approximately less than 6 months ago {Member States defined exact interval}</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered approximately more than 6 months ago {Member States defined exact interval}</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Dose number of the latest primary series dose is more than or equal to two</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered approximately less than 2 years ago {Member States defined interval}</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest cholera dose was administered approximately more than 2 years ago {Member States defined interval}</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n            </table>\n          </td>\n        </tr>\n        \n\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">\n/*\n  * Library: IMMZD2DTCholeraEncounterElements\n  */\nlibrary IMMZD2DTCholeraEncounterElements\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOConcepts\ninclude WHOCommon called WC\ninclude WHOElements called WE\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\ninclude IMMZEncounterElements called Encounter\n\ninclude IMMZD2DTCholeraElements called CholeraElements\n\nparameter Today Date default Today()\nparameter EncounterId String\nparameter CholeraLowerLimitDays Integer default 150\nparameter CholeraExactIntervalDays Integer default 0\n\ncontext Patient\n\n/*\n@internal: Cholera containing Doses Administered to Patient\n*/\ndefine \"Cholera Doses Administered to Patient\":\n  Encounter.\"Doses Administered to Patient\" I\n  where\n    I.vaccineCode in Concepts.\"Cholera vaccines\"\n\n/*\n@internal: Cholera containing Doses Administered to Patient that are in the Primary series\n*/\ndefine \"Cholera Primary Series Doses Administered to Patient\":\n  \"Cholera Doses Administered to Patient\".seriesPrimary()\n\n/*\n@internal: Number of Cholera Primary Series doses\n*/\ndefine \"Number of Cholera Primary Series Doses Administered\":\n  Count(\"Cholera Primary Series Doses Administered to Patient\")\n\n/*\n@input: Client's age is less than 1 year\n@pseudocode: Today's date − \"Date of birth\" &lt; 1 year\n@code: Client's age is less than 1 year-39\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"Client's age is less than 1 year\":\n  Encounter.\"Current Patient Age In Years\" &lt; 1\n\n/*\n@input: Client's age is more than or equal to 1 year\n@pseudocode: Today's date − \"Date of birth\" ≥ 1 year\n@code: Client's age is more than or equal to 1 year-39\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"Client's age is more than or equal to 1 year\":\n  Encounter.\"Current Patient Age In Years\" &gt;= 1\n\n/*\n@input: No cholera primary series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") = 0\n@code: No cholera primary series dose was administered-116\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"No cholera primary series dose was administered\":\n  \"Number of Cholera Primary Series Doses Administered\" = 0\n\n/*\n@input: One cholera primary series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n@code: One cholera primary series dose was administered-116\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"One cholera primary series dose was administered\":\n  \"Number of Cholera Primary Series Doses Administered\" = 1\n\n/*\n@input: The latest cholera dose was administered less than 14 days ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") &lt; 14 days\n@code: The latest cholera dose was administered less than 14 days ago-106\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"The latest cholera dose was administered less than 14 days ago\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in days between \"Date of Latest Cholera Dose\" and Today &lt; 14\n\n/*\n@input: The latest cholera dose was administered more than 14 days ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") ≥ 14 days\n@code: The latest cholera dose was administered more than 14 days ago-106\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"The latest cholera dose was administered more than 14 days ago\":\n  not \"The latest cholera dose was administered less than 14 days ago\"\n\n/*\n@input: Two cholera primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") = 2\n@code: Two cholera primary series doses were administered-116\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"Two cholera primary series doses were administered\":\n  \"Number of Cholera Primary Series Doses Administered\" = 2\n\n/*\n@input: No cholera booster series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Booster dose\") = 0\n@code: No cholera booster series dose was administered-114\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"No cholera booster series dose was administered\":\n  \"Number of Cholera Booster Series Doses Administered\" = 0\n\n/*\n@input: The latest cholera dose was administered less than 3 years ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") &lt; 3 years\n@code: The latest cholera dose was administered less than 3 years ago-106\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"The latest cholera dose was administered less than 3 years ago\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in years between \"Date of Latest Cholera Dose\" and Today &lt; 3\n\n/*\n@input: The latest cholera dose was administered more than 3 years ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") ≥ 3 years\n@code: The latest cholera dose was administered more than 3 years ago-106\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"The latest cholera dose was administered more than 3 years ago\":\n  not \"The latest cholera dose was administered less than 3 years ago\"\n\n/*\n@input: At least one booster series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Booster dose\") &gt;= 1\n@code: At least one booster series dose was administered-115\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"At least one booster series dose was administered\":\n  \"Number of Cholera Booster Series Doses Administered\" &gt;= 1\n\n/*\n@input: Dose number of the latest dose is one\n@pseudocode: Latest \"Dose number\" (where \"Vaccine type\" = \"Cholera vaccines\") = 1\n@code: Dose number of the latest dose is one-68\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"Dose number of the latest dose is one\":\n  \"Cholera Doses Administered to Patient\".mostRecent().getDose('1') is not null\n\n/*\n@input: The latest cholera dose was administered more than 14 days ago and less than 3 years ago\n@pseudocode: 14 days &lt;= Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") &lt;= 3 years\n@code: The latest cholera dose was administered more than 14 days ago and less than 3 years ago-118\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"The latest cholera dose was administered more than 14 days ago and less than 3 years ago\":\n  \"The latest cholera dose was administered more than 14 days ago\"\n  and \"The latest cholera dose was administered less than 3 years ago\"\n\n/*\n@input: Dose number of the latest dose is two\n@pseudocode: Latest \"Dose number\" (where \"Vaccine type\" = \"Cholera vaccines\") = 2\n@code: Dose number of the latest dose is two-68\n@decision: IMMZ.D2.DT.Cholera.WC vaccines: Whole-cell (WC) vaccines schedule\n*/\ndefine \"Dose number of the latest dose is two\":\n  \"Cholera Doses Administered to Patient\".mostRecent().getDose('2') is not null\n\n/*\n@input: Client's age is less than 2 years\n@pseudocode: Today's date − \"Date of birth\" &lt; 2 years\n@code: Client's age is less than 2 years-40\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"Client's age is less than 2 years\":\n  Encounter.\"Current Patient Age In Years\" &lt; 2\n\n/*\n@input: Client's age is 2–5 years\n@pseudocode: 2 years ≤ Today's date − \"Date of birth\" ≤ 5 years\n@code: Client's age is 2–5 years-50\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"Client's age is 2–5 years\":\n  Encounter.\"Current Patient Age In Years\" &gt;= 2\n  and Encounter.\"Current Patient Age In Years\" &lt;= 5\n\n/*\n@input: At least one cholera primary series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") &gt;= 1\n@code: At least one cholera primary series dose was administered-117\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"At least one cholera primary series dose was administered\":\n  \"Number of Cholera Primary Series Doses Administered\" &gt;= 1\n\n/*\n@input: Dose number of the latest primary series dose is one\n@pseudocode: Latest \"Dose number\" (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n@code: Dose number of the latest primary series dose is one-106\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"Dose number of the latest primary series dose is one\":\n  \"Cholera Primary Series Doses Administered to Patient\".mostRecent().getDose('1') is not null\n\n/*\n@input: The latest cholera dose was administered less than 1 week ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") &lt; 1 week\n@code: The latest cholera dose was administered less than 1 week ago-105\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"The latest cholera dose was administered less than 1 week ago\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in weeks between \"Date of Latest Cholera Dose\" and Today &lt; 1\n\n/*\n@input: The latest cholera dose was administered more than 1 week and less than 6 weeks ago\n@pseudocode: 1 week ≤ Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") &lt; 6 weeks\n@code: The latest cholera dose was administered more than 1 week and less than 6 weeks ago-115\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"The latest cholera dose was administered more than 1 week and less than 6 weeks ago\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in weeks between \"Date of Latest Cholera Dose\" and Today &gt;= 1\n  and duration in weeks between \"Date of Latest Cholera Dose\" and Today &lt; 6\n\n/*\n@input: Dose number of the latest primary series dose is two\n@pseudocode: Latest \"Dose number\" (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") = 2\n@code: Dose number of the latest primary series dose is two-106\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"Dose number of the latest primary series dose is two\":\n  \"Cholera Primary Series Doses Administered to Patient\".mostRecent().getDose('2') is not null\n\n/*\n@input: Dose number of the latest primary series dose is less than three\n@pseudocode: Latest \"Dose number\" (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") &lt; 3\n@code: Dose number of the latest primary series dose is less than three-106\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"Dose number of the latest primary series dose is less than three\":\n  ((\"Cholera Primary Series Doses Administered to Patient\".mostRecent()) I\n    where exists( I.protocolApplied pa where ToInteger(pa.doseNumber) &lt; 3)) is not null\n\n/*\n@input: The latest cholera dose was administered more than 6 weeks ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") ≥ 6 weeks\n@code: The latest cholera dose was administered more than 6 weeks ago-106\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"The latest cholera dose was administered more than 6 weeks ago\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in weeks between \"Date of Latest Cholera Dose\" and Today &gt;= 6\n\n/*\n@input: Dose number of the latest primary series dose is three\n@pseudocode: Latest \"Dose number\" (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") = 3\n@code: Dose number of the latest primary series dose is three-106\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"Dose number of the latest primary series dose is three\":\n  \"Cholera Primary Series Doses Administered to Patient\".mostRecent().getDose('3') is not null\n\n/*\n@input: The latest cholera dose was administered less than {Member States defined lower limit} days ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") ≤ Member States defined lower limit\n@code: The latest cholera dose was administered less than {Member States defined lower limit} days ago-132\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"The latest cholera dose was administered less than {Member States defined lower limit} days ago\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in days between \"Date of Latest Cholera Dose\" and Today &lt;= CholeraLowerLimitDays\n\n/*\n@input: The latest cholera dose was administered approximately less than 6 months ago {Member States defined exact interval}\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") ≤ 6 months\n@code: The latest cholera dose was administered approximately less than 6 months ago {Member States defined exact interval}-107\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"The latest cholera dose was administered approximately less than 6 months ago {Member States defined exact interval}\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in days between \"Date of Latest Cholera Dose\" and Today &gt; CholeraLowerLimitDays\n  and duration in days between (\"Date of Latest Cholera Dose\" + 6 months) and Today &lt;= CholeraExactIntervalDays\n\n/*\n@input: The latest cholera dose was administered approximately more than 6 months ago {Member States defined exact interval}\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") &gt; 6 months\n@code: The latest cholera dose was administered approximately more than 6 months ago {Member States defined exact interval}-107\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 3 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 3-dose schedule for clients aged 2–5 years\n*/\ndefine \"The latest cholera dose was administered approximately more than 6 months ago {Member States defined exact interval}\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in days between (\"Date of Latest Cholera Dose\" + 6 months) and Today &gt; CholeraExactIntervalDays\n\n/*\n@input: Client's age is more than 5 years\n@pseudocode: Today's date − \"Date of birth\" &gt; 5 years\n@code: Client's age is more than 5 years-40\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"Client's age is more than 5 years\":\n  Encounter.\"Current Patient Age In Years\" &gt; 5\n\n/*\n@input: Dose number of the latest primary series dose is more than or equal to two\n@pseudocode: Latest \"Dose number\" (where \"Vaccine type\" = \"Cholera vaccines\" and \"Type of dose\" = \"Primary series\") &gt;= 2\n@code: Dose number of the latest primary series dose is more than or equal to two-107\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"Dose number of the latest primary series dose is more than or equal to two\":\n  ((\"Cholera Primary Series Doses Administered to Patient\".mostRecent()) I\n    where exists( I.protocolApplied pa where ToInteger(pa.doseNumber) &gt;= 2)) is not null\n\n/*\n@input: The latest cholera dose was administered approximately less than 2 years ago {Member States defined interval}\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") ≤ 2 years ± Member States defined interval\n@code: The latest cholera dose was administered approximately less than 2 years ago {Member States defined interval}-139\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"The latest cholera dose was administered approximately less than 2 years ago {Member States defined interval}\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in months between \"Date of Latest Cholera Dose\" and Today &gt; 21\n  and duration in days between (\"Date of Latest Cholera Dose\" + 2 years) and Today &lt;= CholeraExactIntervalDays\n\n/*\n@input: The latest cholera dose was administered approximately more than 2 years ago {Member States defined interval}\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Cholera vaccines\") &gt; 2 years ± Member States defined interval\n@code: The latest cholera dose was administered approximately more than 2 years ago {Member States defined interval}-139\n@decision: IMMZ.D2.DT.Cholera.WC-rBS vaccine 2 doses: Whole cell-recombinant B subunit (WC-rBS) vaccine, 2-dose schedule for clients aged over 5 years\n*/\ndefine \"The latest cholera dose was administered approximately more than 2 years ago {Member States defined interval}\":\n  \"Date of Latest Cholera Dose\" is not null\n  and duration in days between (\"Date of Latest Cholera Dose\" + 2 years) and Today &gt; CholeraExactIntervalDays\n\n/*\n@internal: Cholera Booster Series Doses Administered to Patient\n*/\ndefine \"Cholera Booster Series Doses Administered to Patient\":\n  \"Cholera Doses Administered to Patient\".seriesBooster()\n\n/*\n@internal: Number of Cholera Booster Series Doses Administered\n*/\ndefine \"Number of Cholera Booster Series Doses Administered\":\n  Count(\"Cholera Booster Series Doses Administered to Patient\")\n\n/*\n@internal: Date of Latest Cholera Dose\n*/\ndefine \"Date of Latest Cholera Dose\":\n  date from start of \"Cholera Doses Administered to Patient\".mostRecent().occurrence.toInterval()\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n    </table>\n</div>\n</div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:extension ( [
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability>     ] ;
fhir:value [
a fhir:Code ;
fhir:v "computable"     ]
  ] ) ; # 
  fhir:url [
fhir:v "http://smart.who.int/immunizations/Library/IMMZD2DTCholeraEncounterElements"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/IMMZD2DTCholeraEncounterElements>
  ] ; # 
  fhir:version [ fhir:v "1.0.0"] ; # 
  fhir:name [ fhir:v "IMMZD2DTCholeraEncounterElements"] ; # 
  fhir:title [ fhir:v "IMMZD2DTCholeraEncounterElements"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:type [
    ( fhir:coding [
fhir:system [
fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/library-type>       ] ;
fhir:code [ fhir:v "logic-library" ]     ] )
  ] ; # 
  fhir:date [ fhir:v "2026-03-31T13:54:17+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "WHO"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "WHO" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://who.int" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "This library defines encounter-based elements for Cholera used throughout the Immunization CPG"] ; # 
  fhir:relatedArtifact ( [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library WHOConcepts" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/WHOConcepts"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/WHOConcepts>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library WC" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/WHOCommon"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/WHOCommon>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library WE" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/WHOElements"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/WHOElements>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library Common" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZCommon"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/IMMZCommon>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library Concepts" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZConcepts"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/IMMZConcepts>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library Encounter" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZEncounterElements"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/IMMZEncounterElements>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library CholeraElements" ] ;
fhir:resource [
fhir:v "http://smart.who.int/immunizations/Library/IMMZD2DTCholeraElements"^^xsd:anyURI ;
fhir:l <http://smart.who.int/immunizations/Library/IMMZD2DTCholeraElements>     ]
  ] ) ; # 
  fhir:parameter ( [
fhir:name [ fhir:v "Today" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "date" ]
  ] [
fhir:name [ fhir:v "EncounterId" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "string" ]
  ] [
fhir:name [ fhir:v "CholeraLowerLimitDays" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "CholeraExactIntervalDays" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Patient" ]
  ] [
fhir:name [ fhir:v "Cholera Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Cholera Primary Series Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Number of Cholera Primary Series Doses Administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "Client's age is less than 1 year" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is more than or equal to 1 year" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "No cholera primary series dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "One cholera primary series dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Date of Latest Cholera Dose" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "date" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered less than 14 days ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered more than 14 days ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Two cholera primary series doses were administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Cholera Booster Series Doses Administered to Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Immunization" ]
  ] [
fhir:name [ fhir:v "Number of Cholera Booster Series Doses Administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "No cholera booster series dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered less than 3 years ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered more than 3 years ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "At least one booster series dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Dose number of the latest dose is one" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered more than 14 days ago and less than 3 years ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Dose number of the latest dose is two" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is less than 2 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is 2–5 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "At least one cholera primary series dose was administered" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Dose number of the latest primary series dose is one" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered less than 1 week ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered more than 1 week and less than 6 weeks ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Dose number of the latest primary series dose is two" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Dose number of the latest primary series dose is less than three" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered more than 6 weeks ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Dose number of the latest primary series dose is three" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered less than {Member States defined lower limit} days ago" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered approximately less than 6 months ago {Member States defined exact interval}" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered approximately more than 6 months ago {Member States defined exact interval}" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Client's age is more than 5 years" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Dose number of the latest primary series dose is more than or equal to two" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered approximately less than 2 years ago {Member States defined interval}" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "The latest cholera dose was administered approximately more than 2 years ago {Member States defined interval}" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] ) ; # 
  fhir:content ( [
fhir:contentType [ fhir:v "text/cql" ] ;
fhir:data [ fhir:v "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVENob2xlcmFFbmNvdW50ZXJFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFRDaG9sZXJhRW5jb3VudGVyRWxlbWVudHMKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbmNlcHRzCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQwppbmNsdWRlIFdIT0VsZW1lbnRzIGNhbGxlZCBXRQoKaW5jbHVkZSBJTU1aQ29tbW9uIGNhbGxlZCBDb21tb24KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIENvbmNlcHRzCmluY2x1ZGUgSU1NWkVuY291bnRlckVsZW1lbnRzIGNhbGxlZCBFbmNvdW50ZXIKCmluY2x1ZGUgSU1NWkQyRFRDaG9sZXJhRWxlbWVudHMgY2FsbGVkIENob2xlcmFFbGVtZW50cwoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCnBhcmFtZXRlciBFbmNvdW50ZXJJZCBTdHJpbmcKcGFyYW1ldGVyIENob2xlcmFMb3dlckxpbWl0RGF5cyBJbnRlZ2VyIGRlZmF1bHQgMTUwCnBhcmFtZXRlciBDaG9sZXJhRXhhY3RJbnRlcnZhbERheXMgSW50ZWdlciBkZWZhdWx0IDAKCmNvbnRleHQgUGF0aWVudAoKLyoKQGludGVybmFsOiBDaG9sZXJhIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJDaG9sZXJhIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICBFbmNvdW50ZXIuIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJCiAgd2hlcmUKICAgIEkudmFjY2luZUNvZGUgaW4gQ29uY2VwdHMuIkNob2xlcmEgdmFjY2luZXMiCgovKgpAaW50ZXJuYWw6IENob2xlcmEgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMKKi8KZGVmaW5lICJDaG9sZXJhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiQ2hvbGVyYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzUHJpbWFyeSgpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBDaG9sZXJhIFByaW1hcnkgU2VyaWVzIGRvc2VzCiovCmRlZmluZSAiTnVtYmVyIG9mIENob2xlcmEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIjoKICBDb3VudCgiQ2hvbGVyYSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMSB5ZWFyCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDEgeWVhcgpAY29kZTogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxIHllYXItMzkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MgdmFjY2luZXM6IFdob2xlLWNlbGwgKFdDKSB2YWNjaW5lcyBzY2hlZHVsZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMSB5ZWFyIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgMQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEgeWVhcgpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDEgeWVhcgpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxIHllYXItMzkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MgdmFjY2luZXM6IFdob2xlLWNlbGwgKFdDKSB2YWNjaW5lcyBzY2hlZHVsZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMSB5ZWFyIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID49IDEKCi8qCkBpbnB1dDogTm8gY2hvbGVyYSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiQ2hvbGVyYSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAwCkBjb2RlOiBObyBjaG9sZXJhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMTYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MgdmFjY2luZXM6IFdob2xlLWNlbGwgKFdDKSB2YWNjaW5lcyBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQy1yQlMgdmFjY2luZSAzIGRvc2VzOiBXaG9sZSBjZWxsLXJlY29tYmluYW50IEIgc3VidW5pdCAoV0MtckJTKSB2YWNjaW5lLCAzLWRvc2Ugc2NoZWR1bGUgZm9yIGNsaWVudHMgYWdlZCAy4oCTNSB5ZWFycwpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQy1yQlMgdmFjY2luZSAyIGRvc2VzOiBXaG9sZSBjZWxsLXJlY29tYmluYW50IEIgc3VidW5pdCAoV0MtckJTKSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgZm9yIGNsaWVudHMgYWdlZCBvdmVyIDUgeWVhcnMKKi8KZGVmaW5lICJObyBjaG9sZXJhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBDaG9sZXJhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IE9uZSBjaG9sZXJhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQGNvZGU6IE9uZSBjaG9sZXJhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMTYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MgdmFjY2luZXM6IFdob2xlLWNlbGwgKFdDKSB2YWNjaW5lcyBzY2hlZHVsZQoqLwpkZWZpbmUgIk9uZSBjaG9sZXJhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBDaG9sZXJhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAxCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDE0IGRheXMgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiKSA8IDE0IGRheXMKQGNvZGU6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDE0IGRheXMgYWdvLTEwNgpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQyB2YWNjaW5lczogV2hvbGUtY2VsbCAoV0MpIHZhY2NpbmVzIHNjaGVkdWxlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMTQgZGF5cyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiIGlzIG5vdCBudWxsCiAgYW5kIGR1cmF0aW9uIGluIGRheXMgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiBhbmQgVG9kYXkgPCAxNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxNCBkYXlzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIikg4omlIDE0IGRheXMKQGNvZGU6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDE0IGRheXMgYWdvLTEwNgpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQyB2YWNjaW5lczogV2hvbGUtY2VsbCAoV0MpIHZhY2NpbmVzIHNjaGVkdWxlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMTQgZGF5cyBhZ28iOgogIG5vdCAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMTQgZGF5cyBhZ28iCgovKgpAaW5wdXQ6IFR3byBjaG9sZXJhIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMgpAY29kZTogVHdvIGNob2xlcmEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTE2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDIHZhY2NpbmVzOiBXaG9sZS1jZWxsIChXQykgdmFjY2luZXMgc2NoZWR1bGUKKi8KZGVmaW5lICJUd28gY2hvbGVyYSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBDaG9sZXJhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAyCgovKgpAaW5wdXQ6IE5vIGNob2xlcmEgYm9vc3RlciBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDAKQGNvZGU6IE5vIGNob2xlcmEgYm9vc3RlciBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTExNApAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQyB2YWNjaW5lczogV2hvbGUtY2VsbCAoV0MpIHZhY2NpbmVzIHNjaGVkdWxlCiovCmRlZmluZSAiTm8gY2hvbGVyYSBib29zdGVyIHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgQ2hvbGVyYSBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIikgPCAzIHllYXJzCkBjb2RlOiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby0xMDYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MgdmFjY2luZXM6IFdob2xlLWNlbGwgKFdDKSB2YWNjaW5lcyBzY2hlZHVsZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiB5ZWFycyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiIGFuZCBUb2RheSA8IDMKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiQ2hvbGVyYSB2YWNjaW5lcyIpIOKJpSAzIHllYXJzCkBjb2RlOiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIHllYXJzIGFnby0xMDYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MgdmFjY2luZXM6IFdob2xlLWNlbGwgKFdDKSB2YWNjaW5lcyBzY2hlZHVsZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvIjoKICBub3QgIlRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvIgoKLyoKQGlucHV0OiBBdCBsZWFzdCBvbmUgYm9vc3RlciBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA+PSAxCkBjb2RlOiBBdCBsZWFzdCBvbmUgYm9vc3RlciBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTExNQpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQyB2YWNjaW5lczogV2hvbGUtY2VsbCAoV0MpIHZhY2NpbmVzIHNjaGVkdWxlCiovCmRlZmluZSAiQXQgbGVhc3Qgb25lIGJvb3N0ZXIgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBDaG9sZXJhIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPj0gMQoKLyoKQGlucHV0OiBEb3NlIG51bWJlciBvZiB0aGUgbGF0ZXN0IGRvc2UgaXMgb25lCkBwc2V1ZG9jb2RlOiBMYXRlc3QgIkRvc2UgbnVtYmVyIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiQ2hvbGVyYSB2YWNjaW5lcyIpID0gMQpAY29kZTogRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBkb3NlIGlzIG9uZS02OApAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQyB2YWNjaW5lczogV2hvbGUtY2VsbCAoV0MpIHZhY2NpbmVzIHNjaGVkdWxlCiovCmRlZmluZSAiRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBkb3NlIGlzIG9uZSI6CiAgIkNob2xlcmEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5nZXREb3NlKCcxJykgaXMgbm90IG51bGwKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMTQgZGF5cyBhZ28gYW5kIGxlc3MgdGhhbiAzIHllYXJzIGFnbwpAcHNldWRvY29kZTogMTQgZGF5cyA8PSBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiKSA8PSAzIHllYXJzCkBjb2RlOiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxNCBkYXlzIGFnbyBhbmQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvLTExOApAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQyB2YWNjaW5lczogV2hvbGUtY2VsbCAoV0MpIHZhY2NpbmVzIHNjaGVkdWxlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMTQgZGF5cyBhZ28gYW5kIGxlc3MgdGhhbiAzIHllYXJzIGFnbyI6CiAgIlRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDE0IGRheXMgYWdvIgogIGFuZCAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28iCgovKgpAaW5wdXQ6IERvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgZG9zZSBpcyB0d28KQHBzZXVkb2NvZGU6IExhdGVzdCAiRG9zZSBudW1iZXIiICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIikgPSAyCkBjb2RlOiBEb3NlIG51bWJlciBvZiB0aGUgbGF0ZXN0IGRvc2UgaXMgdHdvLTY4CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDIHZhY2NpbmVzOiBXaG9sZS1jZWxsIChXQykgdmFjY2luZXMgc2NoZWR1bGUKKi8KZGVmaW5lICJEb3NlIG51bWJlciBvZiB0aGUgbGF0ZXN0IGRvc2UgaXMgdHdvIjoKICAiQ2hvbGVyYSBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIubW9zdFJlY2VudCgpLmdldERvc2UoJzInKSBpcyBub3QgbnVsbAoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMiB5ZWFycwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzLTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDLXJCUyB2YWNjaW5lIDMgZG9zZXM6IFdob2xlIGNlbGwtcmVjb21iaW5hbnQgQiBzdWJ1bml0IChXQy1yQlMpIHZhY2NpbmUsIDMtZG9zZSBzY2hlZHVsZSBmb3IgY2xpZW50cyBhZ2VkIDLigJM1IHllYXJzCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgMgoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgMuKAkzUgeWVhcnMKQHBzZXVkb2NvZGU6IDIgeWVhcnMg4omkIFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpCA1IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgMuKAkzUgeWVhcnMtNTAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMyBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMy1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgMuKAkzUgeWVhcnMKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgMuKAkzUgeWVhcnMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPj0gMgogIGFuZCBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDw9IDUKCi8qCkBpbnB1dDogQXQgbGVhc3Qgb25lIGNob2xlcmEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID49IDEKQGNvZGU6IEF0IGxlYXN0IG9uZSBjaG9sZXJhIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMTcKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMyBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMy1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgMuKAkzUgeWVhcnMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMiBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgb3ZlciA1IHllYXJzCiovCmRlZmluZSAiQXQgbGVhc3Qgb25lIGNob2xlcmEgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIENob2xlcmEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA+PSAxCgovKgpAaW5wdXQ6IERvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgcHJpbWFyeSBzZXJpZXMgZG9zZSBpcyBvbmUKQHBzZXVkb2NvZGU6IExhdGVzdCAiRG9zZSBudW1iZXIiICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQGNvZGU6IERvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgcHJpbWFyeSBzZXJpZXMgZG9zZSBpcyBvbmUtMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDLXJCUyB2YWNjaW5lIDMgZG9zZXM6IFdob2xlIGNlbGwtcmVjb21iaW5hbnQgQiBzdWJ1bml0IChXQy1yQlMpIHZhY2NpbmUsIDMtZG9zZSBzY2hlZHVsZSBmb3IgY2xpZW50cyBhZ2VkIDLigJM1IHllYXJzCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDLXJCUyB2YWNjaW5lIDIgZG9zZXM6IFdob2xlIGNlbGwtcmVjb21iaW5hbnQgQiBzdWJ1bml0IChXQy1yQlMpIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSBmb3IgY2xpZW50cyBhZ2VkIG92ZXIgNSB5ZWFycwoqLwpkZWZpbmUgIkRvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgcHJpbWFyeSBzZXJpZXMgZG9zZSBpcyBvbmUiOgogICJDaG9sZXJhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkuZ2V0RG9zZSgnMScpIGlzIG5vdCBudWxsCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgd2VlayBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiQ2hvbGVyYSB2YWNjaW5lcyIpIDwgMSB3ZWVrCkBjb2RlOiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHdlZWsgYWdvLTEwNQpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQy1yQlMgdmFjY2luZSAzIGRvc2VzOiBXaG9sZSBjZWxsLXJlY29tYmluYW50IEIgc3VidW5pdCAoV0MtckJTKSB2YWNjaW5lLCAzLWRvc2Ugc2NoZWR1bGUgZm9yIGNsaWVudHMgYWdlZCAy4oCTNSB5ZWFycwpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQy1yQlMgdmFjY2luZSAyIGRvc2VzOiBXaG9sZSBjZWxsLXJlY29tYmluYW50IEIgc3VidW5pdCAoV0MtckJTKSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgZm9yIGNsaWVudHMgYWdlZCBvdmVyIDUgeWVhcnMKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHdlZWsgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiIGFuZCBUb2RheSA8IDEKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB3ZWVrIGFuZCBsZXNzIHRoYW4gNiB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IDEgd2VlayDiiaQgVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIikgPCA2IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxIHdlZWsgYW5kIGxlc3MgdGhhbiA2IHdlZWtzIGFnby0xMTUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMyBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMy1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgMuKAkzUgeWVhcnMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMiBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgb3ZlciA1IHllYXJzCiovCmRlZmluZSAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB3ZWVrIGFuZCBsZXNzIHRoYW4gNiB3ZWVrcyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiIGlzIG5vdCBudWxsCiAgYW5kIGR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IENob2xlcmEgRG9zZSIgYW5kIFRvZGF5ID49IDEKICBhbmQgZHVyYXRpb24gaW4gd2Vla3MgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiBhbmQgVG9kYXkgPCA2CgovKgpAaW5wdXQ6IERvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgcHJpbWFyeSBzZXJpZXMgZG9zZSBpcyB0d28KQHBzZXVkb2NvZGU6IExhdGVzdCAiRG9zZSBudW1iZXIiICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDIKQGNvZGU6IERvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgcHJpbWFyeSBzZXJpZXMgZG9zZSBpcyB0d28tMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDLXJCUyB2YWNjaW5lIDMgZG9zZXM6IFdob2xlIGNlbGwtcmVjb21iaW5hbnQgQiBzdWJ1bml0IChXQy1yQlMpIHZhY2NpbmUsIDMtZG9zZSBzY2hlZHVsZSBmb3IgY2xpZW50cyBhZ2VkIDLigJM1IHllYXJzCiovCmRlZmluZSAiRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBwcmltYXJ5IHNlcmllcyBkb3NlIGlzIHR3byI6CiAgIkNob2xlcmEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5nZXREb3NlKCcyJykgaXMgbm90IG51bGwKCi8qCkBpbnB1dDogRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBwcmltYXJ5IHNlcmllcyBkb3NlIGlzIGxlc3MgdGhhbiB0aHJlZQpAcHNldWRvY29kZTogTGF0ZXN0ICJEb3NlIG51bWJlciIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpIDwgMwpAY29kZTogRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBwcmltYXJ5IHNlcmllcyBkb3NlIGlzIGxlc3MgdGhhbiB0aHJlZS0xMDYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMyBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMy1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgMuKAkzUgeWVhcnMKKi8KZGVmaW5lICJEb3NlIG51bWJlciBvZiB0aGUgbGF0ZXN0IHByaW1hcnkgc2VyaWVzIGRvc2UgaXMgbGVzcyB0aGFuIHRocmVlIjoKICAoKCJDaG9sZXJhIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkpIEkKICAgIHdoZXJlIGV4aXN0cyggSS5wcm90b2NvbEFwcGxpZWQgcGEgd2hlcmUgVG9JbnRlZ2VyKHBhLmRvc2VOdW1iZXIpIDwgMykpIGlzIG5vdCBudWxsCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiKSDiiaUgNiB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNiB3ZWVrcyBhZ28tMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDLXJCUyB2YWNjaW5lIDMgZG9zZXM6IFdob2xlIGNlbGwtcmVjb21iaW5hbnQgQiBzdWJ1bml0IChXQy1yQlMpIHZhY2NpbmUsIDMtZG9zZSBzY2hlZHVsZSBmb3IgY2xpZW50cyBhZ2VkIDLigJM1IHllYXJzCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDLXJCUyB2YWNjaW5lIDIgZG9zZXM6IFdob2xlIGNlbGwtcmVjb21iaW5hbnQgQiBzdWJ1bml0IChXQy1yQlMpIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSBmb3IgY2xpZW50cyBhZ2VkIG92ZXIgNSB5ZWFycwoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgd2Vla3MgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiIGFuZCBUb2RheSA+PSA2CgovKgpAaW5wdXQ6IERvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgcHJpbWFyeSBzZXJpZXMgZG9zZSBpcyB0aHJlZQpAcHNldWRvY29kZTogTGF0ZXN0ICJEb3NlIG51bWJlciIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkNob2xlcmEgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMwpAY29kZTogRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBwcmltYXJ5IHNlcmllcyBkb3NlIGlzIHRocmVlLTEwNgpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQy1yQlMgdmFjY2luZSAzIGRvc2VzOiBXaG9sZSBjZWxsLXJlY29tYmluYW50IEIgc3VidW5pdCAoV0MtckJTKSB2YWNjaW5lLCAzLWRvc2Ugc2NoZWR1bGUgZm9yIGNsaWVudHMgYWdlZCAy4oCTNSB5ZWFycwoqLwpkZWZpbmUgIkRvc2UgbnVtYmVyIG9mIHRoZSBsYXRlc3QgcHJpbWFyeSBzZXJpZXMgZG9zZSBpcyB0aHJlZSI6CiAgIkNob2xlcmEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5nZXREb3NlKCczJykgaXMgbm90IG51bGwKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4ge01lbWJlciBTdGF0ZXMgZGVmaW5lZCBsb3dlciBsaW1pdH0gZGF5cyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiQ2hvbGVyYSB2YWNjaW5lcyIpIOKJpCBNZW1iZXIgU3RhdGVzIGRlZmluZWQgbG93ZXIgbGltaXQKQGNvZGU6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIHtNZW1iZXIgU3RhdGVzIGRlZmluZWQgbG93ZXIgbGltaXR9IGRheXMgYWdvLTEzMgpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQy1yQlMgdmFjY2luZSAzIGRvc2VzOiBXaG9sZSBjZWxsLXJlY29tYmluYW50IEIgc3VidW5pdCAoV0MtckJTKSB2YWNjaW5lLCAzLWRvc2Ugc2NoZWR1bGUgZm9yIGNsaWVudHMgYWdlZCAy4oCTNSB5ZWFycwoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIHtNZW1iZXIgU3RhdGVzIGRlZmluZWQgbG93ZXIgbGltaXR9IGRheXMgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiBkYXlzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IENob2xlcmEgRG9zZSIgYW5kIFRvZGF5IDw9IENob2xlcmFMb3dlckxpbWl0RGF5cwoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFwcHJveGltYXRlbHkgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGV4YWN0IGludGVydmFsfQpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIikg4omkIDYgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFwcHJveGltYXRlbHkgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGV4YWN0IGludGVydmFsfS0xMDcKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMyBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMy1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgMuKAkzUgeWVhcnMKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IGNob2xlcmEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGFwcHJveGltYXRlbHkgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGV4YWN0IGludGVydmFsfSI6CiAgIkRhdGUgb2YgTGF0ZXN0IENob2xlcmEgRG9zZSIgaXMgbm90IG51bGwKICBhbmQgZHVyYXRpb24gaW4gZGF5cyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiIGFuZCBUb2RheSA+IENob2xlcmFMb3dlckxpbWl0RGF5cwogIGFuZCBkdXJhdGlvbiBpbiBkYXlzIGJldHdlZW4gKCJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiICsgNiBtb250aHMpIGFuZCBUb2RheSA8PSBDaG9sZXJhRXhhY3RJbnRlcnZhbERheXMKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhcHByb3hpbWF0ZWx5IG1vcmUgdGhhbiA2IG1vbnRocyBhZ28ge01lbWJlciBTdGF0ZXMgZGVmaW5lZCBleGFjdCBpbnRlcnZhbH0KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiQ2hvbGVyYSB2YWNjaW5lcyIpID4gNiBtb250aHMKQGNvZGU6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYXBwcm94aW1hdGVseSBtb3JlIHRoYW4gNiBtb250aHMgYWdvIHtNZW1iZXIgU3RhdGVzIGRlZmluZWQgZXhhY3QgaW50ZXJ2YWx9LTEwNwpAZGVjaXNpb246IElNTVouRDIuRFQuQ2hvbGVyYS5XQy1yQlMgdmFjY2luZSAzIGRvc2VzOiBXaG9sZSBjZWxsLXJlY29tYmluYW50IEIgc3VidW5pdCAoV0MtckJTKSB2YWNjaW5lLCAzLWRvc2Ugc2NoZWR1bGUgZm9yIGNsaWVudHMgYWdlZCAy4oCTNSB5ZWFycwoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYXBwcm94aW1hdGVseSBtb3JlIHRoYW4gNiBtb250aHMgYWdvIHtNZW1iZXIgU3RhdGVzIGRlZmluZWQgZXhhY3QgaW50ZXJ2YWx9IjoKICAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiBkYXlzIGJldHdlZW4gKCJEYXRlIG9mIExhdGVzdCBDaG9sZXJhIERvc2UiICsgNiBtb250aHMpIGFuZCBUb2RheSA+IENob2xlcmFFeGFjdEludGVydmFsRGF5cwoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDUgeWVhcnMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiID4gNSB5ZWFycwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA1IHllYXJzLTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5DaG9sZXJhLldDLXJCUyB2YWNjaW5lIDIgZG9zZXM6IFdob2xlIGNlbGwtcmVjb21iaW5hbnQgQiBzdWJ1bml0IChXQy1yQlMpIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSBmb3IgY2xpZW50cyBhZ2VkIG92ZXIgNSB5ZWFycwoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA+IDUKCi8qCkBpbnB1dDogRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBwcmltYXJ5IHNlcmllcyBkb3NlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byB0d28KQHBzZXVkb2NvZGU6IExhdGVzdCAiRG9zZSBudW1iZXIiICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA+PSAyCkBjb2RlOiBEb3NlIG51bWJlciBvZiB0aGUgbGF0ZXN0IHByaW1hcnkgc2VyaWVzIGRvc2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIHR3by0xMDcKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMiBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgb3ZlciA1IHllYXJzCiovCmRlZmluZSAiRG9zZSBudW1iZXIgb2YgdGhlIGxhdGVzdCBwcmltYXJ5IHNlcmllcyBkb3NlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byB0d28iOgogICgoIkNob2xlcmEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKSkgSQogICAgd2hlcmUgZXhpc3RzKCBJLnByb3RvY29sQXBwbGllZCBwYSB3aGVyZSBUb0ludGVnZXIocGEuZG9zZU51bWJlcikgPj0gMikpIGlzIG5vdCBudWxsCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgY2hvbGVyYSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgYXBwcm94aW1hdGVseSBsZXNzIHRoYW4gMiB5ZWFycyBhZ28ge01lbWJlciBTdGF0ZXMgZGVmaW5lZCBpbnRlcnZhbH0KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiQ2hvbGVyYSB2YWNjaW5lcyIpIOKJpCAyIHllYXJzIMKxIE1lbWJlciBTdGF0ZXMgZGVmaW5lZCBpbnRlcnZhbApAY29kZTogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhcHByb3hpbWF0ZWx5IGxlc3MgdGhhbiAyIHllYXJzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGludGVydmFsfS0xMzkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMiBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgb3ZlciA1IHllYXJzCiovCmRlZmluZSAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhcHByb3hpbWF0ZWx5IGxlc3MgdGhhbiAyIHllYXJzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGludGVydmFsfSI6CiAgIkRhdGUgb2YgTGF0ZXN0IENob2xlcmEgRG9zZSIgaXMgbm90IG51bGwKICBhbmQgZHVyYXRpb24gaW4gbW9udGhzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IENob2xlcmEgRG9zZSIgYW5kIFRvZGF5ID4gMjEKICBhbmQgZHVyYXRpb24gaW4gZGF5cyBiZXR3ZWVuICgiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiArIDIgeWVhcnMpIGFuZCBUb2RheSA8PSBDaG9sZXJhRXhhY3RJbnRlcnZhbERheXMKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhcHByb3hpbWF0ZWx5IG1vcmUgdGhhbiAyIHllYXJzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGludGVydmFsfQpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJDaG9sZXJhIHZhY2NpbmVzIikgPiAyIHllYXJzIMKxIE1lbWJlciBTdGF0ZXMgZGVmaW5lZCBpbnRlcnZhbApAY29kZTogVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhcHByb3hpbWF0ZWx5IG1vcmUgdGhhbiAyIHllYXJzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGludGVydmFsfS0xMzkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkNob2xlcmEuV0MtckJTIHZhY2NpbmUgMiBkb3NlczogV2hvbGUgY2VsbC1yZWNvbWJpbmFudCBCIHN1YnVuaXQgKFdDLXJCUykgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIGZvciBjbGllbnRzIGFnZWQgb3ZlciA1IHllYXJzCiovCmRlZmluZSAiVGhlIGxhdGVzdCBjaG9sZXJhIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBhcHByb3hpbWF0ZWx5IG1vcmUgdGhhbiAyIHllYXJzIGFnbyB7TWVtYmVyIFN0YXRlcyBkZWZpbmVkIGludGVydmFsfSI6CiAgIkRhdGUgb2YgTGF0ZXN0IENob2xlcmEgRG9zZSIgaXMgbm90IG51bGwKICBhbmQgZHVyYXRpb24gaW4gZGF5cyBiZXR3ZWVuICgiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIiArIDIgeWVhcnMpIGFuZCBUb2RheSA+IENob2xlcmFFeGFjdEludGVydmFsRGF5cwoKLyoKQGludGVybmFsOiBDaG9sZXJhIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50CiovCmRlZmluZSAiQ2hvbGVyYSBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgIkNob2xlcmEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLnNlcmllc0Jvb3N0ZXIoKQoKLyoKQGludGVybmFsOiBOdW1iZXIgb2YgQ2hvbGVyYSBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQKKi8KZGVmaW5lICJOdW1iZXIgb2YgQ2hvbGVyYSBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiOgogIENvdW50KCJDaG9sZXJhIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IikKCi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlCiovCmRlZmluZSAiRGF0ZSBvZiBMYXRlc3QgQ2hvbGVyYSBEb3NlIjoKICBkYXRlIGZyb20gc3RhcnQgb2YgIkNob2xlcmEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5vY2N1cnJlbmNlLnRvSW50ZXJ2YWwoKQo="^^xsd:base64Binary ]
  ] ) . #