dQM CMS Content Implementation Guide
2026.1.0 - CI Build

dQM CMS Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2026.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-cms-2026/ and changes regularly. See the Directory of published versions

: Status - XML Representation

Page standards status: Informative Maturity Level: 1

Raw xml | Download


<Library xmlns="http://hl7.org/fhir">
  <id value="Status"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
  <table class="narrative-table">
    <tbody>
<tr>


<th colspan="2" scope="row" class="row-header">Metadata</th>


</tr>

<tr>


<th scope="row" class="row-header">Title</th>



<td class="content-container">Status</td>


</tr>



<tr>


<th scope="row" class="row-header">Version</th>



<td class="content-container">2026.1.0</td>


</tr>
















<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">FHIR
</td>


</tr>

<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">CQL
</td>


</tr>













<tr>


<th scope="row" class="row-header">Description</th>



<td class="content-container"><div><p>Status logic.</p>
</div></td>


</tr>






<tr>


<th scope="row" class="row-header">Type</th>



<td class="content-container">
    logic-library from <a href="http://terminology.hl7.org/7.3.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a> 


</td>


</tr>








<tr>


<th colspan="2" scope="row" class="row-header"><a name="parameters"> </a>Parameters</th>


</tr>


<tr>


<th scope="row" class="row-header">Parameter</th>



<td class="content-container">None</td>


</tr>








  <tr>


<th colspan="2" scope="row" class="row-header">Library Content</th>


</tr>
  
    
    <tr>
      <th scope="row" class="row-header">CQL Content</th>
      <td>
        <a name="cql-content"> </a>
        <pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: This library contains functions used to constrain FHIR resource elements for measures 
authored by NCQA, based on QICore 7.0.0 resources then refactoring to use USQualityCore 0.1.0 including IG and authoring patterns. The functions 
may appear similar to some QICoreCommon functions but differ in that they have constraints that are 
relevant for measures authored by NCQA.

NOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.
*/
library Status version '2.1.000'

using USQualityCore version '0.5.0'
using USCore version '6.1.0-derived'
using FHIR version '4.0.1'

include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers
include hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon

// TODO: Consider whether to refactor to use the FHIRCommon declarations here
codesystem &quot;ObservationCategoryCodes&quot;: 'http://terminology.hl7.org/CodeSystem/observation-category'
codesystem &quot;ConditionVerificationStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/condition-ver-status'

code &quot;exam&quot;: 'exam' from &quot;ObservationCategoryCodes&quot; display 'exam'
code &quot;imaging&quot;: 'imaging' from &quot;ObservationCategoryCodes&quot; display 'imaging'
code &quot;confirmed&quot;: 'confirmed' from ConditionVerificationStatusCodes display 'confirmed'
code &quot;unconfirmed&quot;: 'unconfirmed' from ConditionVerificationStatusCodes display 'unconfirmed'
code &quot;provisional&quot;: 'provisional' from ConditionVerificationStatusCodes display 'provisional'
code &quot;differential&quot;: 'differential' from ConditionVerificationStatusCodes display 'differential'
code &quot;entered-in-error&quot;: 'entered-in-error' from ConditionVerificationStatusCodes display 'entered-in-error'
code &quot;refuted&quot;: 'refuted' from ConditionVerificationStatusCodes display 'refuted'
code &quot;inactive&quot;: 'inactive' from ConditionVerificationStatusCodes display 'inactive'
code &quot;resolved&quot;: 'resolved' from ConditionVerificationStatusCodes display 'resolved'
code &quot;remission&quot;: 'remission' from ConditionVerificationStatusCodes display 'remission'

context Patient

// TODO: Deprecate because this is now in FHIRCommon
//Condition
/*
@description: Returns conditions in the given list that either have no verification status or have a verification status of confirmed, unconfirmed, provisional, or differential
@deprecated: Use the USCoreCommon verified function insteada
*/
define fluent function verified(conditions List&lt;Choice&lt;ConditionProblemsHealthConcerns, ConditionEncounterDiagnosis&gt;&gt;):
  conditions C
    where C.verificationStatus is not null implies
      (C.verificationStatus ~ &quot;confirmed&quot;
        or C.verificationStatus ~ &quot;unconfirmed&quot;
        or C.verificationStatus ~ &quot;provisional&quot;
        or C.verificationStatus ~ &quot;differential&quot;
      )

//Assessment, Performed
define fluent function isAssessmentPerformed(Obs List&lt;ObservationScreeningAssessment&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }

//Device, Order - Personal Use Devices
define fluent function isDeviceOrderPersonalUseDevices(DeviceRequest List&lt;FHIR.DeviceRequest&gt;):
  DeviceRequest D
    where D.status in { 'active', 'completed' }
      and D.intent in {'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'}

//Diagnostic Study, Order
define fluent function isDiagnosticStudyOrder(ServiceRequest List&lt;FHIR.ServiceRequest&gt;):
  ServiceRequest S
    where S.status in { 'active', 'completed' }
      and S.intent in {'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'}
      
//Intervention, Order
define fluent function isInterventionOrder(ServiceRequest List&lt;FHIR.ServiceRequest&gt;):
  ServiceRequest S
    where S.status in { 'active', 'completed' }
      and S.intent in {'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'}    

//Laboratory Test, Order
define fluent function isLaboratoryTestOrder(ServiceRequest List&lt;FHIR.ServiceRequest&gt;):
  ServiceRequest S
    where S.status in { 'active', 'completed' }
      and S.intent in {'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'}       

//Diagnostic Study, Performed
define fluent function isDiagnosticStudyPerformed(Obs List&lt;ObservationClinicalResult&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
        and exists ( O.category ObservationCategory
        where ( ObservationCategory ) ~ &quot;imaging&quot;
    )
    
//Encounter, Performed
//General usage unless required otherwise by measure intent (e.g., follow-up encounters)
define fluent function isEncounterPerformed(Enc List&lt;FHIR.Encounter&gt;):
  Enc E
    where E.status = 'finished'

//Immunization, Administered
define fluent function isImmunizationAdministered(Immunization List&lt;FHIR.Immunization&gt;):
  Immunization I
    where I.status ~ 'completed'

//Intervention, Performed
define fluent function isInterventionPerformed(Proc List&lt;FHIR.Procedure&gt;):
  Proc P
    where P.status ~ 'completed'

//Procedure, Performed
define fluent function isProcedurePerformed(Proc List&lt;FHIR.Procedure&gt;):
  Proc P
    where P.status ~ 'completed'

//Laboratory Test, Performed
define fluent function isLaboratoryTestPerformed(Obs List&lt;LaboratoryResultObservation&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }

//Medication, Active
define fluent function isMedicationActive(MedicationRequest List&lt;FHIR.MedicationRequest&gt;):
  MedicationRequest M
    where M.status = 'active'
      and M.intent in {'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'}

//Medication, Dispensed
define fluent function isMedicationDispensed(Med List&lt;FHIR.MedicationDispense&gt;):
  Med M
    where M.status in { 'completed', 'in-progress', 'on-hold' }

//Medication, Order
define fluent function isMedicationOrder(MedicationRequest List&lt;FHIR.MedicationRequest&gt;):
  MedicationRequest M
    where M.status in { 'active', 'completed' }
    and M.intent in {'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'}

//Physical Exam, Performed
define fluent function isPhysicalExamPerformed(Obs List&lt;ObservationClinicalResult&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
      and exists ( O.category ObservationCategory
          where ( ObservationCategory ) ~ &quot;exam&quot;
      )

//Observation Vital Signs
define fluent function isObservationBP(Obs List&lt;BloodPressureProfile&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
      
define fluent function isObservationBodyHeight(Obs List&lt;BodyHeightProfile&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
      
define fluent function isObservationBodyWeight(Obs List&lt;BodyWeightProfile&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
      
define fluent function isObservationBMI(Obs List&lt;BMIProfile&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
 
//Observation Pediatric BMI
define fluent function isObservationPediatricBMI(Obs List&lt;PediatricBMIforAgeObservationProfile&gt;):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' } 
   
//Observation Smoking Status
define fluent function isObservationSmokingStatus(Obs List&lt;SmokingStatusProfile&gt;):
  Obs O
    where O.status = 'final' 

//Symptom
define fluent function isSymptom(Obs List&lt;SimpleObservation&gt;):
  Obs O
    where O.status in { 'preliminary', 'final', 'amended', 'corrected' }</code></pre>
      </td>
    </tr>
    
  

<tr>
  <th colspan="2" scope="row" class="row-header">Generated using version 0.5.6-cibuild of the sample-content-ig Liquid templates</th>
</tr>

    </tbody>
  </table>
</div>
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="cds"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="informative"/>
  </extension>
  <url value="https://madie.cms.gov/Library/Status"/>
  <version value="2026.1.0"/>
  <name value="Status"/>
  <title value="Status"/>
  <status value="active"/>
  <experimental value="false"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2026-07-30T20:17:17+00:00"/>
  <description value="Status logic."/>
  <topic>
    <text value="FHIR"/>
  </topic>
  <topic>
    <text value="CQL"/>
  </topic>
  <content>
    <contentType value="text/cql"/>
    <data
          value="LyoKQGRlc2NyaXB0aW9uOiBUaGlzIGxpYnJhcnkgY29udGFpbnMgZnVuY3Rpb25zIHVzZWQgdG8gY29uc3RyYWluIEZISVIgcmVzb3VyY2UgZWxlbWVudHMgZm9yIG1lYXN1cmVzIAphdXRob3JlZCBieSBOQ1FBLCBiYXNlZCBvbiBRSUNvcmUgNy4wLjAgcmVzb3VyY2VzIHRoZW4gcmVmYWN0b3JpbmcgdG8gdXNlIFVTUXVhbGl0eUNvcmUgMC4xLjAgaW5jbHVkaW5nIElHIGFuZCBhdXRob3JpbmcgcGF0dGVybnMuIFRoZSBmdW5jdGlvbnMgCm1heSBhcHBlYXIgc2ltaWxhciB0byBzb21lIFFJQ29yZUNvbW1vbiBmdW5jdGlvbnMgYnV0IGRpZmZlciBpbiB0aGF0IHRoZXkgaGF2ZSBjb25zdHJhaW50cyB0aGF0IGFyZSAKcmVsZXZhbnQgZm9yIG1lYXN1cmVzIGF1dGhvcmVkIGJ5IE5DUUEuCgpOT1RFOiBGb3IgdXNlIGJ5IE1hcmNoIDIwMjYgVVMgUmVhbG0gQ29ubmVjdGF0aG9uIHBhcnRpY2lwYW50cyBmb3IgaW50ZXJuYWwgdXNlIG9ubHkuIE5vdCBmb3IgdXNlIG9yIGRpc3RyaWJ1dGlvbiBpbiBjb21tZXJjaWFsIHByb2R1Y3RzLgoqLwpsaWJyYXJ5IFN0YXR1cyB2ZXJzaW9uICcyLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjUuMCcKdXNpbmcgVVNDb3JlIHZlcnNpb24gJzYuMS4wLWRlcml2ZWQnCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJDb21tb24gdmVyc2lvbiAnMi4wLjAnIGNhbGxlZCBGSElSQ29tbW9uCgovLyBUT0RPOiBDb25zaWRlciB3aGV0aGVyIHRvIHJlZmFjdG9yIHRvIHVzZSB0aGUgRkhJUkNvbW1vbiBkZWNsYXJhdGlvbnMgaGVyZQpjb2Rlc3lzdGVtICJPYnNlcnZhdGlvbkNhdGVnb3J5Q29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScKY29kZXN5c3RlbSAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9jb25kaXRpb24tdmVyLXN0YXR1cycKCmNvZGUgImV4YW0iOiAnZXhhbScgZnJvbSAiT2JzZXJ2YXRpb25DYXRlZ29yeUNvZGVzIiBkaXNwbGF5ICdleGFtJwpjb2RlICJpbWFnaW5nIjogJ2ltYWdpbmcnIGZyb20gIk9ic2VydmF0aW9uQ2F0ZWdvcnlDb2RlcyIgZGlzcGxheSAnaW1hZ2luZycKY29kZSAiY29uZmlybWVkIjogJ2NvbmZpcm1lZCcgZnJvbSBDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyBkaXNwbGF5ICdjb25maXJtZWQnCmNvZGUgInVuY29uZmlybWVkIjogJ3VuY29uZmlybWVkJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIGRpc3BsYXkgJ3VuY29uZmlybWVkJwpjb2RlICJwcm92aXNpb25hbCI6ICdwcm92aXNpb25hbCcgZnJvbSBDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyBkaXNwbGF5ICdwcm92aXNpb25hbCcKY29kZSAiZGlmZmVyZW50aWFsIjogJ2RpZmZlcmVudGlhbCcgZnJvbSBDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyBkaXNwbGF5ICdkaWZmZXJlbnRpYWwnCmNvZGUgImVudGVyZWQtaW4tZXJyb3IiOiAnZW50ZXJlZC1pbi1lcnJvcicgZnJvbSBDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2RlcyBkaXNwbGF5ICdlbnRlcmVkLWluLWVycm9yJwpjb2RlICJyZWZ1dGVkIjogJ3JlZnV0ZWQnIGZyb20gQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMgZGlzcGxheSAncmVmdXRlZCcKY29kZSAiaW5hY3RpdmUiOiAnaW5hY3RpdmUnIGZyb20gQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMgZGlzcGxheSAnaW5hY3RpdmUnCmNvZGUgInJlc29sdmVkIjogJ3Jlc29sdmVkJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIGRpc3BsYXkgJ3Jlc29sdmVkJwpjb2RlICJyZW1pc3Npb24iOiAncmVtaXNzaW9uJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIGRpc3BsYXkgJ3JlbWlzc2lvbicKCmNvbnRleHQgUGF0aWVudAoKLy8gVE9ETzogRGVwcmVjYXRlIGJlY2F1c2UgdGhpcyBpcyBub3cgaW4gRkhJUkNvbW1vbgovL0NvbmRpdGlvbgovKgpAZGVzY3JpcHRpb246IFJldHVybnMgY29uZGl0aW9ucyBpbiB0aGUgZ2l2ZW4gbGlzdCB0aGF0IGVpdGhlciBoYXZlIG5vIHZlcmlmaWNhdGlvbiBzdGF0dXMgb3IgaGF2ZSBhIHZlcmlmaWNhdGlvbiBzdGF0dXMgb2YgY29uZmlybWVkLCB1bmNvbmZpcm1lZCwgcHJvdmlzaW9uYWwsIG9yIGRpZmZlcmVudGlhbApAZGVwcmVjYXRlZDogVXNlIHRoZSBVU0NvcmVDb21tb24gdmVyaWZpZWQgZnVuY3Rpb24gaW5zdGVhZGEKKi8KZGVmaW5lIGZsdWVudCBmdW5jdGlvbiB2ZXJpZmllZChjb25kaXRpb25zIExpc3Q8Q2hvaWNlPENvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnMsIENvbmRpdGlvbkVuY291bnRlckRpYWdub3Npcz4+KToKICBjb25kaXRpb25zIEMKICAgIHdoZXJlIEMudmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCBudWxsIGltcGxpZXMKICAgICAgKEMudmVyaWZpY2F0aW9uU3RhdHVzIH4gImNvbmZpcm1lZCIKICAgICAgICBvciBDLnZlcmlmaWNhdGlvblN0YXR1cyB+ICJ1bmNvbmZpcm1lZCIKICAgICAgICBvciBDLnZlcmlmaWNhdGlvblN0YXR1cyB+ICJwcm92aXNpb25hbCIKICAgICAgICBvciBDLnZlcmlmaWNhdGlvblN0YXR1cyB+ICJkaWZmZXJlbnRpYWwiCiAgICAgICkKCi8vQXNzZXNzbWVudCwgUGVyZm9ybWVkCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNBc3Nlc3NtZW50UGVyZm9ybWVkKE9icyBMaXN0PE9ic2VydmF0aW9uU2NyZWVuaW5nQXNzZXNzbWVudD4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQoKLy9EZXZpY2UsIE9yZGVyIC0gUGVyc29uYWwgVXNlIERldmljZXMKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc0RldmljZU9yZGVyUGVyc29uYWxVc2VEZXZpY2VzKERldmljZVJlcXVlc3QgTGlzdDxGSElSLkRldmljZVJlcXVlc3Q+KToKICBEZXZpY2VSZXF1ZXN0IEQKICAgIHdoZXJlIEQuc3RhdHVzIGluIHsgJ2FjdGl2ZScsICdjb21wbGV0ZWQnIH0KICAgICAgYW5kIEQuaW50ZW50IGluIHsnb3JkZXInLCAnb3JpZ2luYWwtb3JkZXInLCAncmVmbGV4LW9yZGVyJywgJ2ZpbGxlci1vcmRlcicsICdpbnN0YW5jZS1vcmRlcid9CgovL0RpYWdub3N0aWMgU3R1ZHksIE9yZGVyCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNEaWFnbm9zdGljU3R1ZHlPcmRlcihTZXJ2aWNlUmVxdWVzdCBMaXN0PEZISVIuU2VydmljZVJlcXVlc3Q+KToKICBTZXJ2aWNlUmVxdWVzdCBTCiAgICB3aGVyZSBTLnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBTLmludGVudCBpbiB7J29yZGVyJywgJ29yaWdpbmFsLW9yZGVyJywgJ3JlZmxleC1vcmRlcicsICdmaWxsZXItb3JkZXInLCAnaW5zdGFuY2Utb3JkZXInfQogICAgICAKLy9JbnRlcnZlbnRpb24sIE9yZGVyCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNJbnRlcnZlbnRpb25PcmRlcihTZXJ2aWNlUmVxdWVzdCBMaXN0PEZISVIuU2VydmljZVJlcXVlc3Q+KToKICBTZXJ2aWNlUmVxdWVzdCBTCiAgICB3aGVyZSBTLnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBTLmludGVudCBpbiB7J29yZGVyJywgJ29yaWdpbmFsLW9yZGVyJywgJ3JlZmxleC1vcmRlcicsICdmaWxsZXItb3JkZXInLCAnaW5zdGFuY2Utb3JkZXInfSAgICAKCi8vTGFib3JhdG9yeSBUZXN0LCBPcmRlcgpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uIGlzTGFib3JhdG9yeVRlc3RPcmRlcihTZXJ2aWNlUmVxdWVzdCBMaXN0PEZISVIuU2VydmljZVJlcXVlc3Q+KToKICBTZXJ2aWNlUmVxdWVzdCBTCiAgICB3aGVyZSBTLnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBTLmludGVudCBpbiB7J29yZGVyJywgJ29yaWdpbmFsLW9yZGVyJywgJ3JlZmxleC1vcmRlcicsICdmaWxsZXItb3JkZXInLCAnaW5zdGFuY2Utb3JkZXInfSAgICAgICAKCi8vRGlhZ25vc3RpYyBTdHVkeSwgUGVyZm9ybWVkCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNEaWFnbm9zdGljU3R1ZHlQZXJmb3JtZWQoT2JzIExpc3Q8T2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdD4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAgIGFuZCBleGlzdHMgKCBPLmNhdGVnb3J5IE9ic2VydmF0aW9uQ2F0ZWdvcnkKICAgICAgICB3aGVyZSAoIE9ic2VydmF0aW9uQ2F0ZWdvcnkgKSB+ICJpbWFnaW5nIgogICAgKQogICAgCi8vRW5jb3VudGVyLCBQZXJmb3JtZWQKLy9HZW5lcmFsIHVzYWdlIHVubGVzcyByZXF1aXJlZCBvdGhlcndpc2UgYnkgbWVhc3VyZSBpbnRlbnQgKGUuZy4sIGZvbGxvdy11cCBlbmNvdW50ZXJzKQpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uIGlzRW5jb3VudGVyUGVyZm9ybWVkKEVuYyBMaXN0PEZISVIuRW5jb3VudGVyPik6CiAgRW5jIEUKICAgIHdoZXJlIEUuc3RhdHVzID0gJ2ZpbmlzaGVkJwoKLy9JbW11bml6YXRpb24sIEFkbWluaXN0ZXJlZApkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uIGlzSW1tdW5pemF0aW9uQWRtaW5pc3RlcmVkKEltbXVuaXphdGlvbiBMaXN0PEZISVIuSW1tdW5pemF0aW9uPik6CiAgSW1tdW5pemF0aW9uIEkKICAgIHdoZXJlIEkuc3RhdHVzIH4gJ2NvbXBsZXRlZCcKCi8vSW50ZXJ2ZW50aW9uLCBQZXJmb3JtZWQKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc0ludGVydmVudGlvblBlcmZvcm1lZChQcm9jIExpc3Q8RkhJUi5Qcm9jZWR1cmU+KToKICBQcm9jIFAKICAgIHdoZXJlIFAuc3RhdHVzIH4gJ2NvbXBsZXRlZCcKCi8vUHJvY2VkdXJlLCBQZXJmb3JtZWQKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc1Byb2NlZHVyZVBlcmZvcm1lZChQcm9jIExpc3Q8RkhJUi5Qcm9jZWR1cmU+KToKICBQcm9jIFAKICAgIHdoZXJlIFAuc3RhdHVzIH4gJ2NvbXBsZXRlZCcKCi8vTGFib3JhdG9yeSBUZXN0LCBQZXJmb3JtZWQKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc0xhYm9yYXRvcnlUZXN0UGVyZm9ybWVkKE9icyBMaXN0PExhYm9yYXRvcnlSZXN1bHRPYnNlcnZhdGlvbj4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQoKLy9NZWRpY2F0aW9uLCBBY3RpdmUKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc01lZGljYXRpb25BY3RpdmUoTWVkaWNhdGlvblJlcXVlc3QgTGlzdDxGSElSLk1lZGljYXRpb25SZXF1ZXN0Pik6CiAgTWVkaWNhdGlvblJlcXVlc3QgTQogICAgd2hlcmUgTS5zdGF0dXMgPSAnYWN0aXZlJwogICAgICBhbmQgTS5pbnRlbnQgaW4geydvcmRlcicsICdvcmlnaW5hbC1vcmRlcicsICdyZWZsZXgtb3JkZXInLCAnZmlsbGVyLW9yZGVyJywgJ2luc3RhbmNlLW9yZGVyJ30KCi8vTWVkaWNhdGlvbiwgRGlzcGVuc2VkCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNNZWRpY2F0aW9uRGlzcGVuc2VkKE1lZCBMaXN0PEZISVIuTWVkaWNhdGlvbkRpc3BlbnNlPik6CiAgTWVkIE0KICAgIHdoZXJlIE0uc3RhdHVzIGluIHsgJ2NvbXBsZXRlZCcsICdpbi1wcm9ncmVzcycsICdvbi1ob2xkJyB9CgovL01lZGljYXRpb24sIE9yZGVyCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNNZWRpY2F0aW9uT3JkZXIoTWVkaWNhdGlvblJlcXVlc3QgTGlzdDxGSElSLk1lZGljYXRpb25SZXF1ZXN0Pik6CiAgTWVkaWNhdGlvblJlcXVlc3QgTQogICAgd2hlcmUgTS5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgYW5kIE0uaW50ZW50IGluIHsnb3JkZXInLCAnb3JpZ2luYWwtb3JkZXInLCAncmVmbGV4LW9yZGVyJywgJ2ZpbGxlci1vcmRlcicsICdpbnN0YW5jZS1vcmRlcid9CgovL1BoeXNpY2FsIEV4YW0sIFBlcmZvcm1lZApkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uIGlzUGh5c2ljYWxFeGFtUGVyZm9ybWVkKE9icyBMaXN0PE9ic2VydmF0aW9uQ2xpbmljYWxSZXN1bHQ+KToKICBPYnMgTwogICAgd2hlcmUgTy5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0KICAgICAgYW5kIGV4aXN0cyAoIE8uY2F0ZWdvcnkgT2JzZXJ2YXRpb25DYXRlZ29yeQogICAgICAgICAgd2hlcmUgKCBPYnNlcnZhdGlvbkNhdGVnb3J5ICkgfiAiZXhhbSIKICAgICAgKQoKLy9PYnNlcnZhdGlvbiBWaXRhbCBTaWducwpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uIGlzT2JzZXJ2YXRpb25CUChPYnMgTGlzdDxCbG9vZFByZXNzdXJlUHJvZmlsZT4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc09ic2VydmF0aW9uQm9keUhlaWdodChPYnMgTGlzdDxCb2R5SGVpZ2h0UHJvZmlsZT4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc09ic2VydmF0aW9uQm9keVdlaWdodChPYnMgTGlzdDxCb2R5V2VpZ2h0UHJvZmlsZT4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc09ic2VydmF0aW9uQk1JKE9icyBMaXN0PEJNSVByb2ZpbGU+KToKICBPYnMgTwogICAgd2hlcmUgTy5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0KIAovL09ic2VydmF0aW9uIFBlZGlhdHJpYyBCTUkKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc09ic2VydmF0aW9uUGVkaWF0cmljQk1JKE9icyBMaXN0PFBlZGlhdHJpY0JNSWZvckFnZU9ic2VydmF0aW9uUHJvZmlsZT4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfSAKICAgCi8vT2JzZXJ2YXRpb24gU21va2luZyBTdGF0dXMKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc09ic2VydmF0aW9uU21va2luZ1N0YXR1cyhPYnMgTGlzdDxTbW9raW5nU3RhdHVzUHJvZmlsZT4pOgogIE9icyBPCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcgCgovL1N5bXB0b20KZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc1N5bXB0b20oT2JzIExpc3Q8U2ltcGxlT2JzZXJ2YXRpb24+KToKICBPYnMgTwogICAgd2hlcmUgTy5zdGF0dXMgaW4geyAncHJlbGltaW5hcnknLCAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0="/>
  </content>
</Library>