{
  "resourceType" : "Library",
  "id" : "CMS144FHIRHFBetaBlockerForLVSD",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n  <table class=\"narrative-table\">\n    <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"metadata\"> </a>Metadata</th>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">1.1.000</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Status</th>\n\n\n\n<td class=\"content-container\">Draft</td>\n\n\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n    <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a>#logic-library\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n\n\n<td class=\"content-container\">None</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n  <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <a name=\"cql-content\"> </a>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nNOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.\n*/\nlibrary CMS144FHIRHFBetaBlockerForLVSD version '1.1.000'\n\nusing USQualityCore version '0.1.0-cibuild'\nusing USCore version '6.1.0-derived'\nusing FHIR version '4.0.1'\n\ninclude hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers\ninclude hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon\ninclude hl7.fhir.us.cql.USCoreCommon version '2.0.0-ballot' called USCoreCommon\ninclude hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements\n\ninclude CQMCommon version '5.1.000' called CQMCommon\ninclude USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon\ninclude SupplementalDataElements version '6.1.000' called SDE\ninclude Status version '2.1.000' called Status\ninclude AHAOverall version '5.1.000' called AHA\n\ncodesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'\n\nvalueset &quot;Allergy to Beta Blocker Therapy&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1177'\nvalueset &quot;Arrhythmia&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.366'\nvalueset &quot;Asthma&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.362'\nvalueset &quot;Atrioventricular Block&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.367'\nvalueset &quot;Beta Blocker Therapy for LVSD&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1184'\nvalueset &quot;Beta Blocker Therapy Ingredient&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1493'\nvalueset &quot;Bradycardia&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.412'\nvalueset &quot;Cardiac Pacer&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1178.53'\nvalueset &quot;Cardiac Pacer in Situ&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.368'\nvalueset &quot;Hypotension&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.370'\nvalueset &quot;Intolerance to Beta Blocker Therapy&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1178'\nvalueset &quot;Medical Reason&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007'\nvalueset &quot;Patient Reason&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1008'\n\ncode &quot;Substance with beta adrenergic receptor antagonist mechanism of action (substance)&quot;: '373254001' from &quot;SNOMEDCT&quot; display 'Substance with beta adrenergic receptor antagonist mechanism of action (substance)'\n\nparameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;\n  default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)\n\ncontext Patient\n\ndefine &quot;Initial Population&quot;:\n  AHA.&quot;Is Adult With Two Qualifying Outpatient Encounters and One Heart Failure Outpatient Encounter During the Measurement Period&quot;\n\ndefine &quot;Denominator&quot;:\n  &quot;Initial Population&quot;\n    and exists AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot;\n\ndefine &quot;Denominator Exclusions&quot;:\n  AHA.&quot;Has Heart Transplant&quot;\n    or AHA.&quot;Has Heart Transplant Complications&quot;\n    or AHA.&quot;Has Left Ventricular Assist Device&quot;\n    or AHA.&quot;Has Left Ventricular Assist Device Complications&quot;\n\ndefine &quot;Numerator&quot;:\n  &quot;Has Beta Blocker Therapy for LVSD Ordered&quot;\n    or &quot;Is Currently Taking Beta Blocker Therapy for LVSD&quot;\n\ndefine &quot;Denominator Exceptions&quot;:\n  &quot;Has Consecutive Heart Rates Less than 50&quot;\n    or &quot;Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD&quot;\n    or &quot;Has Arrhythmia Diagnosis&quot;\n    or &quot;Has Hypotension Diagnosis&quot;\n    or &quot;Has Asthma Diagnosis&quot;\n    or &quot;Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy&quot;\n    or &quot;Has Bradycardia Diagnosis&quot;\n    or &quot;Has Allergy or Intolerance to Beta Blocker Therapy Ingredient&quot;\n    or &quot;Atrioventricular Block without Cardiac Pacer&quot;\n\ndefine &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;\n\ndefine &quot;SDE Payer&quot;:\n  SDE.&quot;SDE Payer&quot;\n\ndefine &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;\n\ndefine &quot;SDE Sex&quot;:\n  SDE.&quot;SDE Sex&quot;\n\ndefine &quot;Atrioventricular Block without Cardiac Pacer&quot;:\n  &quot;Has Atrioventricular Block Diagnosis&quot;\n    and not &quot;Has Diagnosis of Cardiac Pacer in Situ&quot;\n    and not &quot;Has Cardiac Pacer Device Implanted&quot;\n\ndefine &quot;Has Cardiac Pacer Device Implanted&quot;:\n  exists ( [Procedure: &quot;Cardiac Pacer&quot;] ImplantedCardiacPacer\n      with AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot; ModerateOrSevereLVSDHFOutpatientEncounter\n        such that ImplantedCardiacPacer.performed.toInterval ( ) starts before end of ModerateOrSevereLVSDHFOutpatientEncounter.period\n      where ImplantedCardiacPacer.status = 'completed'\n  )\n\ndefine &quot;Is Currently Taking Beta Blocker Therapy for LVSD&quot;:\n  exists ( [&quot;MedicationRequest&quot;: &quot;Beta Blocker Therapy for LVSD&quot;] ActiveBetaBlocker\n      where ActiveBetaBlocker.overlapsAfterHeartFailureOutpatientEncounter ( )\n  )\n\ndefine &quot;Has Hypotension Diagnosis&quot;:\n  exists ( ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Hypotension&quot;]\n      union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Hypotension&quot;] ) HypotensionAlias\n      where HypotensionAlias.overlapsHeartFailureOutpatientEncounter ( )\n        and HypotensionAlias.isVerified ( )\n  )\n\ndefine &quot;Has Diagnosis of Cardiac Pacer in Situ&quot;:\n  exists ( ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Cardiac Pacer in Situ&quot;]\n      union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Cardiac Pacer in Situ&quot;] ) CardiacPacerDiagnosis\n      where CardiacPacerDiagnosis.overlapsAfterHeartFailureOutpatientEncounter ( )\n        and CardiacPacerDiagnosis.isVerified ( )\n  )\n\ndefine &quot;Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy&quot;:\n  exists ( ( ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Allergy to Beta Blocker Therapy&quot;]\n        union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Allergy to Beta Blocker Therapy&quot;]\n    )\n      union ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Intolerance to Beta Blocker Therapy&quot;] )\n      union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Intolerance to Beta Blocker Therapy&quot;] ) BetaBlockerAllergyOrIntoleranceDiagnosis\n      where BetaBlockerAllergyOrIntoleranceDiagnosis.overlapsAfterHeartFailureOutpatientEncounter ( )\n        and BetaBlockerAllergyOrIntoleranceDiagnosis.isVerified ( )\n  )\n\ndefine &quot;Has Bradycardia Diagnosis&quot;:\n  exists ( ( [ConditionProblemsHealthConcerns: &quot;Bradycardia&quot;]\n      union [ConditionEncounterDiagnosis: &quot;Bradycardia&quot;] ) BradycardiaAlias\n      where BradycardiaAlias.overlapsHeartFailureOutpatientEncounter ( )\n        and BradycardiaAlias.isVerified ( )\n  )\n\ndefine &quot;Has Consecutive Heart Rates Less than 50&quot;:\n  exists ( from\n      [&quot;USCore.HeartRateProfile&quot;] HeartRate,\n      AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot; ModerateOrSevereLVSDHFOutpatientEncounter\n      let PriorHeartRate: Last([&quot;USCore.HeartRateProfile&quot;] MostRecentPriorHeartRate\n          where MostRecentPriorHeartRate.effective.toInterval() during ModerateOrSevereLVSDHFOutpatientEncounter.period\n            and MostRecentPriorHeartRate.effective.toInterval() before HeartRate.effective.toInterval()\n          sort by start of effective.toInterval()\n      )\n      where HeartRate.effective.toInterval ( ) during ModerateOrSevereLVSDHFOutpatientEncounter.period\n        and HeartRate.status in { 'final', 'amended', 'corrected' }\n        and HeartRate.value &lt; 50 '/min'\n        and PriorHeartRate.value &lt; 50 '/min'\n      return HeartRate\n  )\n\ndefine &quot;Has Allergy or Intolerance to Beta Blocker Therapy Ingredient&quot;:\n  exists ( ( [AllergyIntolerance: &quot;Beta Blocker Therapy Ingredient&quot;]\n      union [AllergyIntolerance: &quot;Substance with beta adrenergic receptor antagonist mechanism of action (substance)&quot;] ) BetaBlockerAllergyIntolerance\n      where BetaBlockerAllergyIntolerance.overlapsAfterHeartFailureOutpatientEncounter ( )\n        and BetaBlockerAllergyIntolerance.isVerified ( )\n  )\n\ndefine &quot;Has Arrhythmia Diagnosis&quot;:\n  exists ( ( [ConditionProblemsHealthConcerns: &quot;Arrhythmia&quot;]\n      union [ConditionEncounterDiagnosis: &quot;Arrhythmia&quot;] ) ArrhythmiaAlias\n      where ArrhythmiaAlias.overlapsHeartFailureOutpatientEncounter ( )\n        and ArrhythmiaAlias.isVerified ( )\n  )\n\ndefine &quot;Has Asthma Diagnosis&quot;:\n  exists ( ( [ConditionProblemsHealthConcerns: &quot;Asthma&quot;]\n      union [ConditionEncounterDiagnosis: &quot;Asthma&quot;] ) AsthmaAlias\n      where AsthmaAlias.overlapsHeartFailureOutpatientEncounter ( )\n        and AsthmaAlias.isVerified ( )\n  )\n\ndefine &quot;Has Atrioventricular Block Diagnosis&quot;:\n  exists ( ( [ConditionProblemsHealthConcerns: &quot;Atrioventricular Block&quot;]\n      union [ConditionEncounterDiagnosis: &quot;Atrioventricular Block&quot;] ) AtrioventricularBlockAlias\n      where AtrioventricularBlockAlias.overlapsHeartFailureOutpatientEncounter ( )\n        and AtrioventricularBlockAlias.isVerified ( )\n  )\n\ndefine &quot;Has Beta Blocker Therapy for LVSD Ordered&quot;:\n  exists ( [MedicationRequest: medication in &quot;Beta Blocker Therapy for LVSD&quot;] BetaBlockerOrdered\n      where BetaBlockerOrdered.isOrderedDuringHeartFailureOutpatientEncounter ( )\n  )\n\ndefine &quot;Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD&quot;:\n  exists ( [&quot;MedicationNotRequested&quot;: medication in &quot;Beta Blocker Therapy for LVSD&quot;] NoBetaBlockerOrdered\n      with AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot; ModerateOrSevereLVSDHFOutpatientEncounter\n        such that NoBetaBlockerOrdered.authoredOn during day of ModerateOrSevereLVSDHFOutpatientEncounter.period\n      where ( NoBetaBlockerOrdered.reasonCode in &quot;Medical Reason&quot;\n          or NoBetaBlockerOrdered.reasonCode in &quot;Patient Reason&quot;\n      )\n  )\n  \n /*\n@description: Returns true if the given condition either has no verification status or has a verification status of confirmed, unconfirmed, provisional, or differential\n*/\n\n\ndefine fluent function isVerified(allergyIntolerance AllergyIntolerance):\n  allergyIntolerance.verificationStatus is not null implies ( allergyIntolerance.verificationStatus ~ USQualityCoreCommon.&quot;allergy-confirmed&quot;\n      or allergyIntolerance.verificationStatus ~ USQualityCoreCommon.&quot;allergy-unconfirmed&quot;\n  )\n\ndefine fluent function isVerified(condition Choice&lt;ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns&gt;):\n  condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status.&quot;confirmed&quot;\n      or condition.verificationStatus ~ Status.&quot;unconfirmed&quot;\n      or condition.verificationStatus ~ Status.&quot;provisional&quot;\n      or condition.verificationStatus ~ Status.&quot;differential&quot;\n  )</code></pre>\n      </td>\n    </tr>\n    \n  \n\n\n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.6 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"
  },
  "extension" : [{
    "url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
    "valueReference" : {
      "reference" : "Device/cqf-tooling"
    }
  }],
  "url" : "https://madie.cms.gov/Library/CMS144FHIRHFBetaBlockerForLVSD",
  "version" : "1.1.000",
  "name" : "CMS144FHIRHFBetaBlockerForLVSD",
  "status" : "draft",
  "type" : {
    "coding" : [{
      "system" : "http://terminology.hl7.org/CodeSystem/library-type",
      "code" : "logic-library"
    }]
  },
  "date" : "2026-09-19T16:31:14+00:00",
  "content" : [{
    "contentType" : "text/cql",
    "data" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVMxNDRGSElSSEZCZXRhQmxvY2tlckZvckxWU0QgdmVyc2lvbiAnMS4xLjAwMCcKCnVzaW5nIFVTUXVhbGl0eUNvcmUgdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcKdXNpbmcgVVNDb3JlIHZlcnNpb24gJzYuMS4wLWRlcml2ZWQnCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJDb21tb24gdmVyc2lvbiAnMi4wLjAnIGNhbGxlZCBGSElSQ29tbW9uCmluY2x1ZGUgaGw3LmZoaXIudXMuY3FsLlVTQ29yZUNvbW1vbiB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlRWxlbWVudHMgdmVyc2lvbiAnMi4wLjAtYmFsbG90JyBjYWxsZWQgVVNDb3JlRWxlbWVudHMKCmluY2x1ZGUgQ1FNQ29tbW9uIHZlcnNpb24gJzUuMS4wMDAnIGNhbGxlZCBDUU1Db21tb24KaW5jbHVkZSBVU1F1YWxpdHlDb3JlQ29tbW9uIHZlcnNpb24gJzAuMS4wLWNpYnVpbGQnIGNhbGxlZCBVU1F1YWxpdHlDb3JlQ29tbW9uCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzIHZlcnNpb24gJzYuMS4wMDAnIGNhbGxlZCBTREUKaW5jbHVkZSBTdGF0dXMgdmVyc2lvbiAnMi4xLjAwMCcgY2FsbGVkIFN0YXR1cwppbmNsdWRlIEFIQU92ZXJhbGwgdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIEFIQQoKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcKCnZhbHVlc2V0ICJBbGxlcmd5IHRvIEJldGEgQmxvY2tlciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExNzcnCnZhbHVlc2V0ICJBcnJoeXRobWlhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjM2NicKdmFsdWVzZXQgIkFzdGhtYSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNjInCnZhbHVlc2V0ICJBdHJpb3ZlbnRyaWN1bGFyIEJsb2NrIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjM2NycKdmFsdWVzZXQgIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExODQnCnZhbHVlc2V0ICJCZXRhIEJsb2NrZXIgVGhlcmFweSBJbmdyZWRpZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTMnCnZhbHVlc2V0ICJCcmFkeWNhcmRpYSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy40MTInCnZhbHVlc2V0ICJDYXJkaWFjIFBhY2VyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE3OC41MycKdmFsdWVzZXQgIkNhcmRpYWMgUGFjZXIgaW4gU2l0dSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNjgnCnZhbHVlc2V0ICJIeXBvdGVuc2lvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNzAnCnZhbHVlc2V0ICJJbnRvbGVyYW5jZSB0byBCZXRhIEJsb2NrZXIgVGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xMTc4Jwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTAwNycKdmFsdWVzZXQgIlBhdGllbnQgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMDgnCgpjb2RlICJTdWJzdGFuY2Ugd2l0aCBiZXRhIGFkcmVuZXJnaWMgcmVjZXB0b3IgYW50YWdvbmlzdCBtZWNoYW5pc20gb2YgYWN0aW9uIChzdWJzdGFuY2UpIjogJzM3MzI1NDAwMScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1N1YnN0YW5jZSB3aXRoIGJldGEgYWRyZW5lcmdpYyByZWNlcHRvciBhbnRhZ29uaXN0IG1lY2hhbmlzbSBvZiBhY3Rpb24gKHN1YnN0YW5jZSknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAyNi0wMS0wMVQwMDowMDowMC4wMDBaLCBAMjAyNy0wMS0wMVQwMDowMDowMC4wMDBaKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgQUhBLiJJcyBBZHVsdCBXaXRoIFR3byBRdWFsaWZ5aW5nIE91dHBhdGllbnQgRW5jb3VudGVycyBhbmQgT25lIEhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgRHVyaW5nIHRoZSBNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgogICAgYW5kIGV4aXN0cyBBSEEuIkhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgd2l0aCBIaXN0b3J5IG9mIE1vZGVyYXRlIG9yIFNldmVyZSBMVlNEIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb25zIjoKICBBSEEuIkhhcyBIZWFydCBUcmFuc3BsYW50IgogICAgb3IgQUhBLiJIYXMgSGVhcnQgVHJhbnNwbGFudCBDb21wbGljYXRpb25zIgogICAgb3IgQUhBLiJIYXMgTGVmdCBWZW50cmljdWxhciBBc3Npc3QgRGV2aWNlIgogICAgb3IgQUhBLiJIYXMgTGVmdCBWZW50cmljdWxhciBBc3Npc3QgRGV2aWNlIENvbXBsaWNhdGlvbnMiCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgIkhhcyBCZXRhIEJsb2NrZXIgVGhlcmFweSBmb3IgTFZTRCBPcmRlcmVkIgogICAgb3IgIklzIEN1cnJlbnRseSBUYWtpbmcgQmV0YSBCbG9ja2VyIFRoZXJhcHkgZm9yIExWU0QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiOgogICJIYXMgQ29uc2VjdXRpdmUgSGVhcnQgUmF0ZXMgTGVzcyB0aGFuIDUwIgogICAgb3IgIkhhcyBNZWRpY2FsIG9yIFBhdGllbnQgUmVhc29uIGZvciBOb3QgT3JkZXJpbmcgQmV0YSBCbG9ja2VyIGZvciBMVlNEIgogICAgb3IgIkhhcyBBcnJoeXRobWlhIERpYWdub3NpcyIKICAgIG9yICJIYXMgSHlwb3RlbnNpb24gRGlhZ25vc2lzIgogICAgb3IgIkhhcyBBc3RobWEgRGlhZ25vc2lzIgogICAgb3IgIkhhcyBEaWFnbm9zaXMgb2YgQWxsZXJneSBvciBJbnRvbGVyYW5jZSB0byBCZXRhIEJsb2NrZXIgVGhlcmFweSIKICAgIG9yICJIYXMgQnJhZHljYXJkaWEgRGlhZ25vc2lzIgogICAgb3IgIkhhcyBBbGxlcmd5IG9yIEludG9sZXJhbmNlIHRvIEJldGEgQmxvY2tlciBUaGVyYXB5IEluZ3JlZGllbnQiCiAgICBvciAiQXRyaW92ZW50cmljdWxhciBCbG9jayB3aXRob3V0IENhcmRpYWMgUGFjZXIiCgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCIKCmRlZmluZSAiQXRyaW92ZW50cmljdWxhciBCbG9jayB3aXRob3V0IENhcmRpYWMgUGFjZXIiOgogICJIYXMgQXRyaW92ZW50cmljdWxhciBCbG9jayBEaWFnbm9zaXMiCiAgICBhbmQgbm90ICJIYXMgRGlhZ25vc2lzIG9mIENhcmRpYWMgUGFjZXIgaW4gU2l0dSIKICAgIGFuZCBub3QgIkhhcyBDYXJkaWFjIFBhY2VyIERldmljZSBJbXBsYW50ZWQiCgpkZWZpbmUgIkhhcyBDYXJkaWFjIFBhY2VyIERldmljZSBJbXBsYW50ZWQiOgogIGV4aXN0cyAoIFtQcm9jZWR1cmU6ICJDYXJkaWFjIFBhY2VyIl0gSW1wbGFudGVkQ2FyZGlhY1BhY2VyCiAgICAgIHdpdGggQUhBLiJIZWFydCBGYWlsdXJlIE91dHBhdGllbnQgRW5jb3VudGVyIHdpdGggSGlzdG9yeSBvZiBNb2RlcmF0ZSBvciBTZXZlcmUgTFZTRCIgTW9kZXJhdGVPclNldmVyZUxWU0RIRk91dHBhdGllbnRFbmNvdW50ZXIKICAgICAgICBzdWNoIHRoYXQgSW1wbGFudGVkQ2FyZGlhY1BhY2VyLnBlcmZvcm1lZC50b0ludGVydmFsICggKSBzdGFydHMgYmVmb3JlIGVuZCBvZiBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAgd2hlcmUgSW1wbGFudGVkQ2FyZGlhY1BhY2VyLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgKQoKZGVmaW5lICJJcyBDdXJyZW50bHkgVGFraW5nIEJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIjoKICBleGlzdHMgKCBbIk1lZGljYXRpb25SZXF1ZXN0IjogIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIl0gQWN0aXZlQmV0YUJsb2NrZXIKICAgICAgd2hlcmUgQWN0aXZlQmV0YUJsb2NrZXIub3ZlcmxhcHNBZnRlckhlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgKQoKZGVmaW5lICJIYXMgSHlwb3RlbnNpb24gRGlhZ25vc2lzIjoKICBleGlzdHMgKCAoIFsiQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyI6ICJIeXBvdGVuc2lvbiJdCiAgICAgIHVuaW9uIFsiQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIjogIkh5cG90ZW5zaW9uIl0gKSBIeXBvdGVuc2lvbkFsaWFzCiAgICAgIHdoZXJlIEh5cG90ZW5zaW9uQWxpYXMub3ZlcmxhcHNIZWFydEZhaWx1cmVPdXRwYXRpZW50RW5jb3VudGVyICggKQogICAgICAgIGFuZCBIeXBvdGVuc2lvbkFsaWFzLmlzVmVyaWZpZWQgKCApCiAgKQoKZGVmaW5lICJIYXMgRGlhZ25vc2lzIG9mIENhcmRpYWMgUGFjZXIgaW4gU2l0dSI6CiAgZXhpc3RzICggKCBbIkNvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnMiOiAiQ2FyZGlhYyBQYWNlciBpbiBTaXR1Il0KICAgICAgdW5pb24gWyJDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXMiOiAiQ2FyZGlhYyBQYWNlciBpbiBTaXR1Il0gKSBDYXJkaWFjUGFjZXJEaWFnbm9zaXMKICAgICAgd2hlcmUgQ2FyZGlhY1BhY2VyRGlhZ25vc2lzLm92ZXJsYXBzQWZ0ZXJIZWFydEZhaWx1cmVPdXRwYXRpZW50RW5jb3VudGVyICggKQogICAgICAgIGFuZCBDYXJkaWFjUGFjZXJEaWFnbm9zaXMuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBEaWFnbm9zaXMgb2YgQWxsZXJneSBvciBJbnRvbGVyYW5jZSB0byBCZXRhIEJsb2NrZXIgVGhlcmFweSI6CiAgZXhpc3RzICggKCAoIFsiQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyI6ICJBbGxlcmd5IHRvIEJldGEgQmxvY2tlciBUaGVyYXB5Il0KICAgICAgICB1bmlvbiBbIkNvbmRpdGlvbkVuY291bnRlckRpYWdub3NpcyI6ICJBbGxlcmd5IHRvIEJldGEgQmxvY2tlciBUaGVyYXB5Il0KICAgICkKICAgICAgdW5pb24gKCBbIkNvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnMiOiAiSW50b2xlcmFuY2UgdG8gQmV0YSBCbG9ja2VyIFRoZXJhcHkiXSApCiAgICAgIHVuaW9uIFsiQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIjogIkludG9sZXJhbmNlIHRvIEJldGEgQmxvY2tlciBUaGVyYXB5Il0gKSBCZXRhQmxvY2tlckFsbGVyZ3lPckludG9sZXJhbmNlRGlhZ25vc2lzCiAgICAgIHdoZXJlIEJldGFCbG9ja2VyQWxsZXJneU9ySW50b2xlcmFuY2VEaWFnbm9zaXMub3ZlcmxhcHNBZnRlckhlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgICAgICAgYW5kIEJldGFCbG9ja2VyQWxsZXJneU9ySW50b2xlcmFuY2VEaWFnbm9zaXMuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBCcmFkeWNhcmRpYSBEaWFnbm9zaXMiOgogIGV4aXN0cyAoICggW0NvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnM6ICJCcmFkeWNhcmRpYSJdCiAgICAgIHVuaW9uIFtDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXM6ICJCcmFkeWNhcmRpYSJdICkgQnJhZHljYXJkaWFBbGlhcwogICAgICB3aGVyZSBCcmFkeWNhcmRpYUFsaWFzLm92ZXJsYXBzSGVhcnRGYWlsdXJlT3V0cGF0aWVudEVuY291bnRlciAoICkKICAgICAgICBhbmQgQnJhZHljYXJkaWFBbGlhcy5pc1ZlcmlmaWVkICggKQogICkKCmRlZmluZSAiSGFzIENvbnNlY3V0aXZlIEhlYXJ0IFJhdGVzIExlc3MgdGhhbiA1MCI6CiAgZXhpc3RzICggZnJvbQogICAgICBbIlVTQ29yZS5IZWFydFJhdGVQcm9maWxlIl0gSGVhcnRSYXRlLAogICAgICBBSEEuIkhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgd2l0aCBIaXN0b3J5IG9mIE1vZGVyYXRlIG9yIFNldmVyZSBMVlNEIiBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlcgogICAgICBsZXQgUHJpb3JIZWFydFJhdGU6IExhc3QoWyJVU0NvcmUuSGVhcnRSYXRlUHJvZmlsZSJdIE1vc3RSZWNlbnRQcmlvckhlYXJ0UmF0ZQogICAgICAgICAgd2hlcmUgTW9zdFJlY2VudFByaW9ySGVhcnRSYXRlLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgZHVyaW5nIE1vZGVyYXRlT3JTZXZlcmVMVlNESEZPdXRwYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgICAgICAgICBhbmQgTW9zdFJlY2VudFByaW9ySGVhcnRSYXRlLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgYmVmb3JlIEhlYXJ0UmF0ZS5lZmZlY3RpdmUudG9JbnRlcnZhbCgpCiAgICAgICAgICBzb3J0IGJ5IHN0YXJ0IG9mIGVmZmVjdGl2ZS50b0ludGVydmFsKCkKICAgICAgKQogICAgICB3aGVyZSBIZWFydFJhdGUuZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIGR1cmluZyBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAgICBhbmQgSGVhcnRSYXRlLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAgIGFuZCBIZWFydFJhdGUudmFsdWUgPCA1MCAnL21pbicKICAgICAgICBhbmQgUHJpb3JIZWFydFJhdGUudmFsdWUgPCA1MCAnL21pbicKICAgICAgcmV0dXJuIEhlYXJ0UmF0ZQogICkKCmRlZmluZSAiSGFzIEFsbGVyZ3kgb3IgSW50b2xlcmFuY2UgdG8gQmV0YSBCbG9ja2VyIFRoZXJhcHkgSW5ncmVkaWVudCI6CiAgZXhpc3RzICggKCBbQWxsZXJneUludG9sZXJhbmNlOiAiQmV0YSBCbG9ja2VyIFRoZXJhcHkgSW5ncmVkaWVudCJdCiAgICAgIHVuaW9uIFtBbGxlcmd5SW50b2xlcmFuY2U6ICJTdWJzdGFuY2Ugd2l0aCBiZXRhIGFkcmVuZXJnaWMgcmVjZXB0b3IgYW50YWdvbmlzdCBtZWNoYW5pc20gb2YgYWN0aW9uIChzdWJzdGFuY2UpIl0gKSBCZXRhQmxvY2tlckFsbGVyZ3lJbnRvbGVyYW5jZQogICAgICB3aGVyZSBCZXRhQmxvY2tlckFsbGVyZ3lJbnRvbGVyYW5jZS5vdmVybGFwc0FmdGVySGVhcnRGYWlsdXJlT3V0cGF0aWVudEVuY291bnRlciAoICkKICAgICAgICBhbmQgQmV0YUJsb2NrZXJBbGxlcmd5SW50b2xlcmFuY2UuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBBcnJoeXRobWlhIERpYWdub3NpcyI6CiAgZXhpc3RzICggKCBbQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJuczogIkFycmh5dGhtaWEiXQogICAgICB1bmlvbiBbQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzOiAiQXJyaHl0aG1pYSJdICkgQXJyaHl0aG1pYUFsaWFzCiAgICAgIHdoZXJlIEFycmh5dGhtaWFBbGlhcy5vdmVybGFwc0hlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgICAgICAgYW5kIEFycmh5dGhtaWFBbGlhcy5pc1ZlcmlmaWVkICggKQogICkKCmRlZmluZSAiSGFzIEFzdGhtYSBEaWFnbm9zaXMiOgogIGV4aXN0cyAoICggW0NvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnM6ICJBc3RobWEiXQogICAgICB1bmlvbiBbQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzOiAiQXN0aG1hIl0gKSBBc3RobWFBbGlhcwogICAgICB3aGVyZSBBc3RobWFBbGlhcy5vdmVybGFwc0hlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgICAgICAgYW5kIEFzdGhtYUFsaWFzLmlzVmVyaWZpZWQgKCApCiAgKQoKZGVmaW5lICJIYXMgQXRyaW92ZW50cmljdWxhciBCbG9jayBEaWFnbm9zaXMiOgogIGV4aXN0cyAoICggW0NvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnM6ICJBdHJpb3ZlbnRyaWN1bGFyIEJsb2NrIl0KICAgICAgdW5pb24gW0NvbmRpdGlvbkVuY291bnRlckRpYWdub3NpczogIkF0cmlvdmVudHJpY3VsYXIgQmxvY2siXSApIEF0cmlvdmVudHJpY3VsYXJCbG9ja0FsaWFzCiAgICAgIHdoZXJlIEF0cmlvdmVudHJpY3VsYXJCbG9ja0FsaWFzLm92ZXJsYXBzSGVhcnRGYWlsdXJlT3V0cGF0aWVudEVuY291bnRlciAoICkKICAgICAgICBhbmQgQXRyaW92ZW50cmljdWxhckJsb2NrQWxpYXMuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBCZXRhIEJsb2NrZXIgVGhlcmFweSBmb3IgTFZTRCBPcmRlcmVkIjoKICBleGlzdHMgKCBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIl0gQmV0YUJsb2NrZXJPcmRlcmVkCiAgICAgIHdoZXJlIEJldGFCbG9ja2VyT3JkZXJlZC5pc09yZGVyZWREdXJpbmdIZWFydEZhaWx1cmVPdXRwYXRpZW50RW5jb3VudGVyICggKQogICkKCmRlZmluZSAiSGFzIE1lZGljYWwgb3IgUGF0aWVudCBSZWFzb24gZm9yIE5vdCBPcmRlcmluZyBCZXRhIEJsb2NrZXIgZm9yIExWU0QiOgogIGV4aXN0cyAoIFsiTWVkaWNhdGlvbk5vdFJlcXVlc3RlZCI6IG1lZGljYXRpb24gaW4gIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIl0gTm9CZXRhQmxvY2tlck9yZGVyZWQKICAgICAgd2l0aCBBSEEuIkhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgd2l0aCBIaXN0b3J5IG9mIE1vZGVyYXRlIG9yIFNldmVyZSBMVlNEIiBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlcgogICAgICAgIHN1Y2ggdGhhdCBOb0JldGFCbG9ja2VyT3JkZXJlZC5hdXRob3JlZE9uIGR1cmluZyBkYXkgb2YgTW9kZXJhdGVPclNldmVyZUxWU0RIRk91dHBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICAgIHdoZXJlICggTm9CZXRhQmxvY2tlck9yZGVyZWQucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCiAgICAgICAgICBvciBOb0JldGFCbG9ja2VyT3JkZXJlZC5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlYXNvbiIKICAgICAgKQogICkKICAKIC8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBjb25kaXRpb24gZWl0aGVyIGhhcyBubyB2ZXJpZmljYXRpb24gc3RhdHVzIG9yIGhhcyBhIHZlcmlmaWNhdGlvbiBzdGF0dXMgb2YgY29uZmlybWVkLCB1bmNvbmZpcm1lZCwgcHJvdmlzaW9uYWwsIG9yIGRpZmZlcmVudGlhbAoqLwoKCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNWZXJpZmllZChhbGxlcmd5SW50b2xlcmFuY2UgQWxsZXJneUludG9sZXJhbmNlKToKICBhbGxlcmd5SW50b2xlcmFuY2UudmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCBudWxsIGltcGxpZXMgKCBhbGxlcmd5SW50b2xlcmFuY2UudmVyaWZpY2F0aW9uU3RhdHVzIH4gVVNRdWFsaXR5Q29yZUNvbW1vbi4iYWxsZXJneS1jb25maXJtZWQiCiAgICAgIG9yIGFsbGVyZ3lJbnRvbGVyYW5jZS52ZXJpZmljYXRpb25TdGF0dXMgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJhbGxlcmd5LXVuY29uZmlybWVkIgogICkKCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNWZXJpZmllZChjb25kaXRpb24gQ2hvaWNlPENvbmRpdGlvbkVuY291bnRlckRpYWdub3NpcywgQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucz4pOgogIGNvbmRpdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgaXMgbm90IG51bGwgaW1wbGllcyAoIGNvbmRpdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiBTdGF0dXMuImNvbmZpcm1lZCIKICAgICAgb3IgY29uZGl0aW9uLnZlcmlmaWNhdGlvblN0YXR1cyB+IFN0YXR1cy4idW5jb25maXJtZWQiCiAgICAgIG9yIGNvbmRpdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiBTdGF0dXMuInByb3Zpc2lvbmFsIgogICAgICBvciBjb25kaXRpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gU3RhdHVzLiJkaWZmZXJlbnRpYWwiCiAgKQ==",
    "url" : "https://madie.cms.gov/Library-CMS144FHIRHFBetaBlockerForLVSD.cql"
  }]
}