This page is part of the Using CQL with FHIR Implementation Guide (v1.0.0: STU1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Active as of 2024-05-31 |
{
"resourceType" : "Library",
"id" : "ELMExample",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"
]
},
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h2>Related Artifacts</h2><table class=\"grid\"><tr><td>depends-on</td><td>FHIR model information</td><td><code>http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1</code></td></tr><tr><td>depends-on</td><td>Library FHIRHelpers</td><td><code>http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1</code></td></tr><tr><td>depends-on</td><td>Code system LOINC</td><td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">Logical Observation Identifiers, Names and Codes (LOINC)</a></td></tr></table><h2>Parameters</h2><table class=\"grid\"><tr><td>GlucoseThreshold</td><td>in</td><td>0</td><td>1</td><td>Quantity</td></tr><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>Blood Glucose Observations</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr></table><h2>Data Requirements</h2><table class=\"grid\"><tr><td colspan=\"2\"><b>Type</b>: <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a> (<a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>)</td></tr></table><table class=\"grid\"><tr><td colspan=\"2\"><b>Type</b>: <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a> (<a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>)</td></tr><tr style=\"background-color: #efefef\"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href=\"https://loinc.org/2339-0\">Logical Observation Identifiers, Names and Codes (LOINC)</a> 2339-0: Glucose Bld-mCnc</td></tr></table><h2>Contents</h2><p><code>application/elm+xml</code></p><pre><code><?xml version='1.1' encoding='UTF-8'?>\r\n<Library type="Library" localId="0">\r\n <wstxns1:identifier xmlns:wstxns1="urn:hl7-org:elm:r1" wstxns1:type="VersionedIdentifier" id="ELMExample" system="http://hl7.org/fhir/uv/cql"/>\r\n <wstxns2:schemaIdentifier xmlns:wstxns2="urn:hl7-org:elm:r1" wstxns2:type="VersionedIdentifier" id="urn:hl7-org:elm" version="r1"/>\r\n <wstxns3:usings xmlns:wstxns3="urn:hl7-org:elm:r1" wstxns3:type="Library$Usings">\r\n <wstxns3:def>\r\n <wstxns3:def wstxns3:type="UsingDef" localId="1" localIdentifier="System" uri="urn:hl7-org:elm-types:r1"/>\r\n <wstxns3:def wstxns3:type="UsingDef" localId="206" locator="3:1-3:26" localIdentifier="FHIR" uri="http://hl7.org/fhir" version="4.0.1">\r\n <wstxns3:annotation>\r\n <wstxns3:annotation wstxns3:type="Annotation">\r\n <wstxns4:s xmlns:wstxns4="urn:hl7-org:cql-annotations:r1" r="206">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s></s>\r\n <s>using </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>FHIR</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s> version '4.0.1'</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </wstxns4:s>\r\n </wstxns3:annotation>\r\n </wstxns3:annotation>\r\n </wstxns3:def>\r\n </wstxns3:def>\r\n </wstxns3:usings>\r\n <wstxns5:includes xmlns:wstxns5="urn:hl7-org:elm:r1" wstxns5:type="Library$Includes">\r\n <wstxns5:def>\r\n <wstxns5:def wstxns5:type="IncludeDef" localId="207" locator="5:1-5:35" localIdentifier="FHIRHelpers" path="http://hl7.org/fhir/FHIRHelpers" version="4.0.1">\r\n <wstxns5:annotation>\r\n <wstxns5:annotation wstxns5:type="Annotation">\r\n <wstxns6:s xmlns:wstxns6="urn:hl7-org:cql-annotations:r1" r="207">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s></s>\r\n <s>include </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>FHIRHelpers</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s> version </s>\r\n <s>'4.0.1'</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </wstxns6:s>\r\n </wstxns5:annotation>\r\n </wstxns5:annotation>\r\n </wstxns5:def>\r\n </wstxns5:def>\r\n </wstxns5:includes>\r\n <wstxns7:parameters xmlns:wstxns7="urn:hl7-org:elm:r1" wstxns7:type="Library$Parameters">\r\n <wstxns7:def>\r\n <wstxns7:def wstxns7:type="ParameterDef" localId="211" locator="10:1-10:35" name="GlucoseThreshold" accessLevel="Public">\r\n <wstxns7:parameterTypeSpecifier wstxns7:type="NamedTypeSpecifier" localId="212" locator="10:28-10:35" name="{http://hl7.org/fhir}Quantity"/>\r\n <wstxns7:annotation>\r\n <wstxns7:annotation wstxns7:type="Annotation">\r\n <wstxns8:s xmlns:wstxns8="urn:hl7-org:cql-annotations:r1" r="211">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s></s>\r\n <s>parameter </s>\r\n <s>GlucoseThreshold</s>\r\n <s> </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="212">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>Quantity</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </wstxns8:s>\r\n </wstxns7:annotation>\r\n </wstxns7:annotation>\r\n </wstxns7:def>\r\n </wstxns7:def>\r\n </wstxns7:parameters>\r\n <wstxns9:codeSystems xmlns:wstxns9="urn:hl7-org:elm:r1" wstxns9:type="Library$CodeSystems">\r\n <wstxns9:def>\r\n <wstxns9:def wstxns9:type="CodeSystemDef" localId="208" locator="7:1-7:36" name="LOINC" id="http://loinc.org" accessLevel="Public">\r\n <wstxns9:annotation>\r\n <wstxns9:annotation wstxns9:type="Annotation">\r\n <wstxns10:s xmlns:wstxns10="urn:hl7-org:cql-annotations:r1" r="208">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s></s>\r\n <s>codesystem </s>\r\n <s>LOINC</s>\r\n <s>: </s>\r\n <s>'http://loinc.org'</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </wstxns10:s>\r\n </wstxns9:annotation>\r\n </wstxns9:annotation>\r\n </wstxns9:def>\r\n </wstxns9:def>\r\n </wstxns9:codeSystems>\r\n <wstxns11:codes xmlns:wstxns11="urn:hl7-org:elm:r1" wstxns11:type="Library$Codes">\r\n <wstxns11:def>\r\n <wstxns11:def wstxns11:type="CodeDef" localId="209" locator="8:1-8:68" name="Blood Glucose" id="2339-0" display="Glucose Bld-mCnc" accessLevel="Public">\r\n <wstxns11:codeSystem wstxns11:type="CodeSystemRef" localId="210" locator="8:37-8:41" name="LOINC"/>\r\n <wstxns11:annotation>\r\n <wstxns11:annotation wstxns11:type="Annotation">\r\n <wstxns12:s xmlns:wstxns12="urn:hl7-org:cql-annotations:r1" r="209">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s></s>\r\n <s>code </s>\r\n <s>"Blood Glucose"</s>\r\n <s>: </s>\r\n <s>'2339-0'</s>\r\n <s> from </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="210">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>LOINC</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s> display </s>\r\n <s>'Glucose Bld-mCnc'</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </wstxns12:s>\r\n </wstxns11:annotation>\r\n </wstxns11:annotation>\r\n </wstxns11:def>\r\n </wstxns11:def>\r\n </wstxns11:codes>\r\n <wstxns13:contexts xmlns:wstxns13="urn:hl7-org:elm:r1" wstxns13:type="Library$Contexts">\r\n <wstxns13:def>\r\n <wstxns13:def wstxns13:type="ContextDef" localId="216" locator="12:1-12:15" name="Patient"/>\r\n </wstxns13:def>\r\n </wstxns13:contexts>\r\n <wstxns14:statements xmlns:wstxns14="urn:hl7-org:elm:r1" wstxns14:type="Library$Statements">\r\n <wstxns14:def>\r\n <wstxns14:def wstxns14:type="ExpressionDef" localId="214" locator="12:1-12:15" name="Patient" context="Patient">\r\n <wstxns14:expression wstxns14:type="SingletonFrom" localId="215">\r\n <wstxns14:operand wstxns14:type="Retrieve" localId="213" locator="12:1-12:15" dataType="{http://hl7.org/fhir}Patient" templateId="http://hl7.org/fhir/StructureDefinition/Patient"/>\r\n </wstxns14:expression>\r\n </wstxns14:def>\r\n <wstxns14:def wstxns14:type="ExpressionDef" localId="218" locator="14:1-16:37" name="Blood Glucose Observations" context="Patient" accessLevel="Public">\r\n <wstxns14:expression wstxns14:type="Query" localId="239" locator="15:3-16:37">\r\n <wstxns14:source>\r\n <wstxns14:source wstxns14:type="AliasedQuerySource" localId="219" locator="15:3-15:35" alias="BG">\r\n <wstxns14:expression wstxns14:type="Retrieve" localId="222" locator="15:3-15:32" dataType="{http://hl7.org/fhir}Observation" templateId="http://hl7.org/fhir/StructureDefinition/Observation" codeProperty="code" codeComparator="~">\r\n <wstxns14:codes wstxns14:type="ToList" localId="229">\r\n <wstxns14:operand wstxns14:type="CodeRef" localId="221" locator="15:17-15:31" name="Blood Glucose"/>\r\n </wstxns14:codes>\r\n </wstxns14:expression>\r\n </wstxns14:source>\r\n </wstxns14:source>\r\n <wstxns14:where wstxns14:type="Greater" localId="230" locator="16:5-16:37">\r\n <wstxns14:signature>\r\n <wstxns14:signature wstxns14:type="NamedTypeSpecifier" localId="237" name="{urn:hl7-org:elm-types:r1}Quantity"/>\r\n <wstxns14:signature wstxns14:type="NamedTypeSpecifier" localId="238" name="{urn:hl7-org:elm-types:r1}Quantity"/>\r\n </wstxns14:signature>\r\n <wstxns14:operand>\r\n <wstxns14:operand wstxns14:type="FunctionRef" localId="235" name="ToQuantity" libraryName="FHIRHelpers">\r\n <wstxns14:operand>\r\n <wstxns14:operand wstxns14:type="As" localId="234" asType="{http://hl7.org/fhir}Quantity">\r\n <wstxns14:operand wstxns14:type="Property" localId="232" locator="16:11-16:18" path="value" scope="BG"/>\r\n </wstxns14:operand>\r\n </wstxns14:operand>\r\n </wstxns14:operand>\r\n <wstxns14:operand wstxns14:type="FunctionRef" localId="236" name="ToQuantity" libraryName="FHIRHelpers">\r\n <wstxns14:operand>\r\n <wstxns14:operand wstxns14:type="ParameterRef" localId="233" locator="16:22-16:37" name="GlucoseThreshold"/>\r\n </wstxns14:operand>\r\n </wstxns14:operand>\r\n </wstxns14:operand>\r\n </wstxns14:where>\r\n </wstxns14:expression>\r\n <wstxns14:annotation>\r\n <wstxns14:annotation wstxns14:type="Annotation">\r\n <wstxns15:s xmlns:wstxns15="urn:hl7-org:cql-annotations:r1" r="218">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s></s>\r\n <s>define </s>\r\n <s>"Blood Glucose Observations"</s>\r\n <s>:\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="239">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="219">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="222">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="222">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>[</s>\r\n <s>Observation</s>\r\n <s>: </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>"Blood Glucose"</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>]</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s> </s>\r\n <s>BG</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="230">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>where </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="230">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="232">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="231">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>BG</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>.</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="232">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>value</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s> </s>\r\n <s>&gt;</s>\r\n <s> </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value r="233">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s>GlucoseThreshold</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </wstxns15:s>\r\n </wstxns14:annotation>\r\n </wstxns14:annotation>\r\n </wstxns14:def>\r\n </wstxns14:def>\r\n </wstxns14:statements>\r\n <wstxns16:annotation xmlns:wstxns16="urn:hl7-org:elm:r1">\r\n <wstxns16:annotation wstxns16:type="CqlToElmInfo" translatorVersion="3.9.0" translatorOptions="EnableAnnotations,EnableLocators" signatureLevel="Overloads"/>\r\n <wstxns16:annotation wstxns16:type="CqlToElmError" message="An operand identifier [reference] is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning"/>\r\n <wstxns16:annotation wstxns16:type="CqlToElmError" message="An operand identifier [reference] is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning"/>\r\n <wstxns16:annotation wstxns16:type="CqlToElmError" message="An operand identifier [reference] is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning"/>\r\n <wstxns16:annotation wstxns16:type="Annotation">\r\n <wstxns17:s xmlns:wstxns17="urn:hl7-org:cql-annotations:r1" r="218">\r\n <s>\r\n <s>\r\n <name>{urn:hl7-org:cql-annotations:r1}s</name>\r\n <declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>\r\n <scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>\r\n <value>\r\n <s>\r\n <s></s>\r\n <s>library ELMExample</s>\r\n </s>\r\n </value>\r\n <nil>false</nil>\r\n <globalScope>true</globalScope>\r\n <typeSubstituted>false</typeSubstituted>\r\n </s>\r\n </s>\r\n </wstxns17:s>\r\n </wstxns16:annotation>\r\n </wstxns16:annotation>\r\n</Library>\r\n</code></pre><p><code>application/elm+json</code></p><pre><code>{\r\n "library" : {\r\n "type" : "Library",\r\n "identifier" : {\r\n "type" : "VersionedIdentifier",\r\n "id" : "ELMExample",\r\n "system" : "http://hl7.org/fhir/uv/cql"\r\n },\r\n "schemaIdentifier" : {\r\n "type" : "VersionedIdentifier",\r\n "id" : "urn:hl7-org:elm",\r\n "version" : "r1"\r\n },\r\n "usings" : {\r\n "type" : "Library$Usings",\r\n "def" : [ {\r\n "type" : "UsingDef",\r\n "localId" : "1",\r\n "localIdentifier" : "System",\r\n "uri" : "urn:hl7-org:elm-types:r1"\r\n }, {\r\n "type" : "UsingDef",\r\n "annotation" : [ {\r\n "type" : "Annotation",\r\n "s" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "", "using " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "FHIR" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ " version '4.0.1'" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "206"\r\n }\r\n } ],\r\n "localId" : "206",\r\n "locator" : "3:1-3:26",\r\n "localIdentifier" : "FHIR",\r\n "uri" : "http://hl7.org/fhir",\r\n "version" : "4.0.1"\r\n } ]\r\n },\r\n "includes" : {\r\n "type" : "Library$Includes",\r\n "def" : [ {\r\n "type" : "IncludeDef",\r\n "annotation" : [ {\r\n "type" : "Annotation",\r\n "s" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "", "include " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "FHIRHelpers" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ " version ", "'4.0.1'" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "207"\r\n }\r\n } ],\r\n "localId" : "207",\r\n "locator" : "5:1-5:35",\r\n "localIdentifier" : "FHIRHelpers",\r\n "path" : "http://hl7.org/fhir/FHIRHelpers",\r\n "version" : "4.0.1"\r\n } ]\r\n },\r\n "parameters" : {\r\n "type" : "Library$Parameters",\r\n "def" : [ {\r\n "type" : "ParameterDef",\r\n "parameterTypeSpecifier" : {\r\n "type" : "NamedTypeSpecifier",\r\n "localId" : "212",\r\n "locator" : "10:28-10:35",\r\n "name" : "{http://hl7.org/fhir}Quantity"\r\n },\r\n "annotation" : [ {\r\n "type" : "Annotation",\r\n "s" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "", "parameter ", "GlucoseThreshold", " " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "Quantity" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "212"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "211"\r\n }\r\n } ],\r\n "localId" : "211",\r\n "locator" : "10:1-10:35",\r\n "name" : "GlucoseThreshold",\r\n "accessLevel" : "Public"\r\n } ]\r\n },\r\n "codeSystems" : {\r\n "type" : "Library$CodeSystems",\r\n "def" : [ {\r\n "type" : "CodeSystemDef",\r\n "annotation" : [ {\r\n "type" : "Annotation",\r\n "s" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "", "codesystem ", "LOINC", ": ", "'http://loinc.org'" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "208"\r\n }\r\n } ],\r\n "localId" : "208",\r\n "locator" : "7:1-7:36",\r\n "name" : "LOINC",\r\n "id" : "http://loinc.org",\r\n "accessLevel" : "Public"\r\n } ]\r\n },\r\n "codes" : {\r\n "type" : "Library$Codes",\r\n "def" : [ {\r\n "type" : "CodeDef",\r\n "codeSystem" : {\r\n "type" : "CodeSystemRef",\r\n "localId" : "210",\r\n "locator" : "8:37-8:41",\r\n "name" : "LOINC"\r\n },\r\n "annotation" : [ {\r\n "type" : "Annotation",\r\n "s" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "", "code ", "\\"Blood Glucose\\"", ": ", "'2339-0'", " from " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "LOINC" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "210"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ " display ", "'Glucose Bld-mCnc'" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "209"\r\n }\r\n } ],\r\n "localId" : "209",\r\n "locator" : "8:1-8:68",\r\n "name" : "Blood Glucose",\r\n "id" : "2339-0",\r\n "display" : "Glucose Bld-mCnc",\r\n "accessLevel" : "Public"\r\n } ]\r\n },\r\n "contexts" : {\r\n "type" : "Library$Contexts",\r\n "def" : [ {\r\n "type" : "ContextDef",\r\n "localId" : "216",\r\n "locator" : "12:1-12:15",\r\n "name" : "Patient"\r\n } ]\r\n },\r\n "statements" : {\r\n "type" : "Library$Statements",\r\n "def" : [ {\r\n "type" : "ExpressionDef",\r\n "expression" : {\r\n "type" : "SingletonFrom",\r\n "operand" : {\r\n "type" : "Retrieve",\r\n "localId" : "213",\r\n "locator" : "12:1-12:15",\r\n "dataType" : "{http://hl7.org/fhir}Patient",\r\n "templateId" : "http://hl7.org/fhir/StructureDefinition/Patient"\r\n },\r\n "localId" : "215"\r\n },\r\n "localId" : "214",\r\n "locator" : "12:1-12:15",\r\n "name" : "Patient",\r\n "context" : "Patient"\r\n }, {\r\n "type" : "ExpressionDef",\r\n "expression" : {\r\n "type" : "Query",\r\n "source" : [ {\r\n "type" : "AliasedQuerySource",\r\n "expression" : {\r\n "type" : "Retrieve",\r\n "codes" : {\r\n "type" : "ToList",\r\n "operand" : {\r\n "type" : "CodeRef",\r\n "localId" : "221",\r\n "locator" : "15:17-15:31",\r\n "name" : "Blood Glucose"\r\n },\r\n "localId" : "229"\r\n },\r\n "localId" : "222",\r\n "locator" : "15:3-15:32",\r\n "dataType" : "{http://hl7.org/fhir}Observation",\r\n "templateId" : "http://hl7.org/fhir/StructureDefinition/Observation",\r\n "codeProperty" : "code",\r\n "codeComparator" : "~"\r\n },\r\n "localId" : "219",\r\n "locator" : "15:3-15:35",\r\n "alias" : "BG"\r\n } ],\r\n "where" : {\r\n "type" : "Greater",\r\n "signature" : [ {\r\n "type" : "NamedTypeSpecifier",\r\n "localId" : "237",\r\n "name" : "{urn:hl7-org:elm-types:r1}Quantity"\r\n }, {\r\n "type" : "NamedTypeSpecifier",\r\n "localId" : "238",\r\n "name" : "{urn:hl7-org:elm-types:r1}Quantity"\r\n } ],\r\n "operand" : [ {\r\n "type" : "FunctionRef",\r\n "operand" : [ {\r\n "type" : "As",\r\n "operand" : {\r\n "type" : "Property",\r\n "localId" : "232",\r\n "locator" : "16:11-16:18",\r\n "path" : "value",\r\n "scope" : "BG"\r\n },\r\n "localId" : "234",\r\n "asType" : "{http://hl7.org/fhir}Quantity"\r\n } ],\r\n "localId" : "235",\r\n "name" : "ToQuantity",\r\n "libraryName" : "FHIRHelpers"\r\n }, {\r\n "type" : "FunctionRef",\r\n "operand" : [ {\r\n "type" : "ParameterRef",\r\n "localId" : "233",\r\n "locator" : "16:22-16:37",\r\n "name" : "GlucoseThreshold"\r\n } ],\r\n "localId" : "236",\r\n "name" : "ToQuantity",\r\n "libraryName" : "FHIRHelpers"\r\n } ],\r\n "localId" : "230",\r\n "locator" : "16:5-16:37"\r\n },\r\n "localId" : "239",\r\n "locator" : "15:3-16:37"\r\n },\r\n "annotation" : [ {\r\n "type" : "Annotation",\r\n "s" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "", "define ", "\\"Blood Glucose Observations\\"", ":\\n " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "[", "Observation", ": " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "\\"Blood Glucose\\"" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "]" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "222"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "222"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ " ", "BG" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "219"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "\\n " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "where " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "BG" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "231"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "." ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "value" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "232"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "232"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ " ", ">", " " ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n }, {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "GlucoseThreshold" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "233"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "230"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "230"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "239"\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "218"\r\n }\r\n } ],\r\n "localId" : "218",\r\n "locator" : "14:1-16:37",\r\n "name" : "Blood Glucose Observations",\r\n "context" : "Patient",\r\n "accessLevel" : "Public"\r\n } ]\r\n },\r\n "annotation" : [ {\r\n "type" : "CqlToElmInfo",\r\n "translatorVersion" : "3.9.0",\r\n "translatorOptions" : "EnableAnnotations,EnableLocators",\r\n "signatureLevel" : "Overloads"\r\n }, {\r\n "type" : "CqlToElmError",\r\n "message" : "An operand identifier [reference] is hiding another identifier of the same name.",\r\n "errorType" : "semantic",\r\n "errorSeverity" : "warning"\r\n }, {\r\n "type" : "CqlToElmError",\r\n "message" : "An operand identifier [reference] is hiding another identifier of the same name.",\r\n "errorType" : "semantic",\r\n "errorSeverity" : "warning"\r\n }, {\r\n "type" : "CqlToElmError",\r\n "message" : "An operand identifier [reference] is hiding another identifier of the same name.",\r\n "errorType" : "semantic",\r\n "errorSeverity" : "warning"\r\n }, {\r\n "type" : "Annotation",\r\n "s" : {\r\n "s" : [ {\r\n "name" : "{urn:hl7-org:cql-annotations:r1}s",\r\n "declaredType" : "org.hl7.cql_annotations.r1.Narrative",\r\n "scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",\r\n "value" : {\r\n "s" : [ "", "library ELMExample" ]\r\n },\r\n "nil" : false,\r\n "globalScope" : true,\r\n "typeSubstituted" : false\r\n } ],\r\n "r" : "218"\r\n }\r\n } ],\r\n "localId" : "0"\r\n }\r\n}</code></pre></div>"
},
"contained" : [
{
"resourceType" : "Parameters",
"id" : "options",
"parameter" : [
{
"name" : "translatorVersion",
"valueString" : "3.9.0"
},
{
"name" : "enableAnnotations",
"valueBoolean" : true
},
{
"name" : "enableLocators",
"valueBoolean" : true
},
{
"name" : "disableListDemotion",
"valueBoolean" : true
},
{
"name" : "disableListPromotion",
"valueBoolean" : true
},
{
"name" : "format",
"valueString" : "JSON"
},
{
"name" : "format",
"valueString" : "XML"
},
{
"name" : "analyzeDataRequirements",
"valueBoolean" : false
},
{
"name" : "collapseDataRequirements",
"valueBoolean" : true
},
{
"name" : "compatibilityLevel",
"valueString" : "1.5"
},
{
"name" : "enableCqlOnly",
"valueBoolean" : false
},
{
"name" : "errorLevel",
"valueString" : "Info"
},
{
"name" : "signatureLevel",
"valueString" : "Overloads"
},
{
"name" : "validateUnits",
"valueBoolean" : true
},
{
"name" : "verifyOnly",
"valueBoolean" : false
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions",
"valueReference" : {
"reference" : "#options"
}
}
],
"url" : "http://hl7.org/fhir/uv/cql/Library/ELMExample",
"identifier" : [
{
"system" : "urn:ietf:rfc:3986",
"value" : "urn:oid:2.16.840.1.113883.4.642.40.37.28.3"
}
],
"version" : "1.0.0",
"name" : "ELMExample",
"title" : "ELM Example",
"status" : "active",
"experimental" : true,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2024-05-31T14:21:01+00:00",
"publisher" : "HL7 International / Clinical Decision Support",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "http://www.hl7.org/Special/committees/dss"
}
]
}
],
"description" : "Example ELM library demonstrating the ELM XML and ELM JSON profiles (a CQL library with only ELM)",
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001",
"display" : "World"
}
]
}
],
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "FHIR model information",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Code system LOINC",
"resource" : "http://loinc.org"
}
],
"parameter" : [
{
"name" : "GlucoseThreshold",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Quantity"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Blood Glucose Observations",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Observation"
}
],
"dataRequirement" : [
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"value"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "2339-0",
"display" : "Glucose Bld-mCnc"
}
]
}
]
}
],
"content" : [
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0nMS4xJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxMaWJyYXJ5IHR5cGU9IkxpYnJhcnkiIGxvY2FsSWQ9IjAiPg0KICA8d3N0eG5zMTppZGVudGlmaWVyIHhtbG5zOndzdHhuczE9InVybjpobDctb3JnOmVsbTpyMSIgd3N0eG5zMTp0eXBlPSJWZXJzaW9uZWRJZGVudGlmaWVyIiBpZD0iRUxNRXhhbXBsZSIgc3lzdGVtPSJodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NxbCIvPg0KICA8d3N0eG5zMjpzY2hlbWFJZGVudGlmaWVyIHhtbG5zOndzdHhuczI9InVybjpobDctb3JnOmVsbTpyMSIgd3N0eG5zMjp0eXBlPSJWZXJzaW9uZWRJZGVudGlmaWVyIiBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICA8d3N0eG5zMzp1c2luZ3MgeG1sbnM6d3N0eG5zMz0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnMzOnR5cGU9IkxpYnJhcnkkVXNpbmdzIj4NCiAgICA8d3N0eG5zMzpkZWY+DQogICAgICA8d3N0eG5zMzpkZWYgd3N0eG5zMzp0eXBlPSJVc2luZ0RlZiIgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8d3N0eG5zMzpkZWYgd3N0eG5zMzp0eXBlPSJVc2luZ0RlZiIgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSIzOjEtMzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4NCiAgICAgICAgPHdzdHhuczM6YW5ub3RhdGlvbj4NCiAgICAgICAgICA8d3N0eG5zMzphbm5vdGF0aW9uIHdzdHhuczM6dHlwZT0iQW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8d3N0eG5zNDpzIHhtbG5zOndzdHhuczQ9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjA2Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+dXNpbmcgPC9zPg0KICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+RkhJUjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+IHZlcnNpb24gJzQuMC4xJzwvcz4NCiAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgIDwvd3N0eG5zNDpzPg0KICAgICAgICAgIDwvd3N0eG5zMzphbm5vdGF0aW9uPg0KICAgICAgICA8L3dzdHhuczM6YW5ub3RhdGlvbj4NCiAgICAgIDwvd3N0eG5zMzpkZWY+DQogICAgPC93c3R4bnMzOmRlZj4NCiAgPC93c3R4bnMzOnVzaW5ncz4NCiAgPHdzdHhuczU6aW5jbHVkZXMgeG1sbnM6d3N0eG5zNT0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnM1OnR5cGU9IkxpYnJhcnkkSW5jbHVkZXMiPg0KICAgIDx3c3R4bnM1OmRlZj4NCiAgICAgIDx3c3R4bnM1OmRlZiB3c3R4bnM1OnR5cGU9IkluY2x1ZGVEZWYiIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iNToxLTU6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4NCiAgICAgICAgPHdzdHhuczU6YW5ub3RhdGlvbj4NCiAgICAgICAgICA8d3N0eG5zNTphbm5vdGF0aW9uIHdzdHhuczU6dHlwZT0iQW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8d3N0eG5zNjpzIHhtbG5zOndzdHhuczY9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjA3Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+aW5jbHVkZSA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5GSElSSGVscGVyczwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+IHZlcnNpb24gPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPic0LjAuMSc8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczY6cz4NCiAgICAgICAgICA8L3dzdHhuczU6YW5ub3RhdGlvbj4NCiAgICAgICAgPC93c3R4bnM1OmFubm90YXRpb24+DQogICAgICA8L3dzdHhuczU6ZGVmPg0KICAgIDwvd3N0eG5zNTpkZWY+DQogIDwvd3N0eG5zNTppbmNsdWRlcz4NCiAgPHdzdHhuczc6cGFyYW1ldGVycyB4bWxuczp3c3R4bnM3PSJ1cm46aGw3LW9yZzplbG06cjEiIHdzdHhuczc6dHlwZT0iTGlicmFyeSRQYXJhbWV0ZXJzIj4NCiAgICA8d3N0eG5zNzpkZWY+DQogICAgICA8d3N0eG5zNzpkZWYgd3N0eG5zNzp0eXBlPSJQYXJhbWV0ZXJEZWYiIGxvY2FsSWQ9IjIxMSIgbG9jYXRvcj0iMTA6MS0xMDozNSIgbmFtZT0iR2x1Y29zZVRocmVzaG9sZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgIDx3c3R4bnM3OnBhcmFtZXRlclR5cGVTcGVjaWZpZXIgd3N0eG5zNzp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTA6MjgtMTA6MzUiIG5hbWU9IntodHRwOi8vaGw3Lm9yZy9maGlyfVF1YW50aXR5Ii8+DQogICAgICAgIDx3c3R4bnM3OmFubm90YXRpb24+DQogICAgICAgICAgPHdzdHhuczc6YW5ub3RhdGlvbiB3c3R4bnM3OnR5cGU9IkFubm90YXRpb24iPg0KICAgICAgICAgICAgPHdzdHhuczg6cyB4bWxuczp3c3R4bnM4PSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiIHI9IjIxMSI+DQogICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+PC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPnBhcmFtZXRlciA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+R2x1Y29zZVRocmVzaG9sZDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4gPC9zPg0KICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjEyIj4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5RdWFudGl0eTwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczg6cz4NCiAgICAgICAgICA8L3dzdHhuczc6YW5ub3RhdGlvbj4NCiAgICAgICAgPC93c3R4bnM3OmFubm90YXRpb24+DQogICAgICA8L3dzdHhuczc6ZGVmPg0KICAgIDwvd3N0eG5zNzpkZWY+DQogIDwvd3N0eG5zNzpwYXJhbWV0ZXJzPg0KICA8d3N0eG5zOTpjb2RlU3lzdGVtcyB4bWxuczp3c3R4bnM5PSJ1cm46aGw3LW9yZzplbG06cjEiIHdzdHhuczk6dHlwZT0iTGlicmFyeSRDb2RlU3lzdGVtcyI+DQogICAgPHdzdHhuczk6ZGVmPg0KICAgICAgPHdzdHhuczk6ZGVmIHdzdHhuczk6dHlwZT0iQ29kZVN5c3RlbURlZiIgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI3OjEtNzozNiIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgPHdzdHhuczk6YW5ub3RhdGlvbj4NCiAgICAgICAgICA8d3N0eG5zOTphbm5vdGF0aW9uIHdzdHhuczk6dHlwZT0iQW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8d3N0eG5zMTA6cyB4bWxuczp3c3R4bnMxMD0idXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxIiByPSIyMDgiPg0KICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz5jb2Rlc3lzdGVtIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz5MT0lOQzwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz46IDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4naHR0cDovL2xvaW5jLm9yZyc8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczEwOnM+DQogICAgICAgICAgPC93c3R4bnM5OmFubm90YXRpb24+DQogICAgICAgIDwvd3N0eG5zOTphbm5vdGF0aW9uPg0KICAgICAgPC93c3R4bnM5OmRlZj4NCiAgICA8L3dzdHhuczk6ZGVmPg0KICA8L3dzdHhuczk6Y29kZVN5c3RlbXM+DQogIDx3c3R4bnMxMTpjb2RlcyB4bWxuczp3c3R4bnMxMT0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnMxMTp0eXBlPSJMaWJyYXJ5JENvZGVzIj4NCiAgICA8d3N0eG5zMTE6ZGVmPg0KICAgICAgPHdzdHhuczExOmRlZiB3c3R4bnMxMTp0eXBlPSJDb2RlRGVmIiBsb2NhbElkPSIyMDkiIGxvY2F0b3I9Ijg6MS04OjY4IiBuYW1lPSJCbG9vZCBHbHVjb3NlIiBpZD0iMjMzOS0wIiBkaXNwbGF5PSJHbHVjb3NlIEJsZC1tQ25jIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgPHdzdHhuczExOmNvZGVTeXN0ZW0gd3N0eG5zMTE6dHlwZT0iQ29kZVN5c3RlbVJlZiIgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSI4OjM3LTg6NDEiIG5hbWU9IkxPSU5DIi8+DQogICAgICAgIDx3c3R4bnMxMTphbm5vdGF0aW9uPg0KICAgICAgICAgIDx3c3R4bnMxMTphbm5vdGF0aW9uIHdzdHhuczExOnR5cGU9IkFubm90YXRpb24iPg0KICAgICAgICAgICAgPHdzdHhuczEyOnMgeG1sbnM6d3N0eG5zMTI9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjA5Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+Y29kZSA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+IkJsb29kIEdsdWNvc2UiPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPjogPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPicyMzM5LTAnPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPiBmcm9tIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIxMCI+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+TE9JTkM8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPiBkaXNwbGF5IDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4nR2x1Y29zZSBCbGQtbUNuYyc8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczEyOnM+DQogICAgICAgICAgPC93c3R4bnMxMTphbm5vdGF0aW9uPg0KICAgICAgICA8L3dzdHhuczExOmFubm90YXRpb24+DQogICAgICA8L3dzdHhuczExOmRlZj4NCiAgICA8L3dzdHhuczExOmRlZj4NCiAgPC93c3R4bnMxMTpjb2Rlcz4NCiAgPHdzdHhuczEzOmNvbnRleHRzIHhtbG5zOndzdHhuczEzPSJ1cm46aGw3LW9yZzplbG06cjEiIHdzdHhuczEzOnR5cGU9IkxpYnJhcnkkQ29udGV4dHMiPg0KICAgIDx3c3R4bnMxMzpkZWY+DQogICAgICA8d3N0eG5zMTM6ZGVmIHdzdHhuczEzOnR5cGU9IkNvbnRleHREZWYiIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTI6MS0xMjoxNSIgbmFtZT0iUGF0aWVudCIvPg0KICAgIDwvd3N0eG5zMTM6ZGVmPg0KICA8L3dzdHhuczEzOmNvbnRleHRzPg0KICA8d3N0eG5zMTQ6c3RhdGVtZW50cyB4bWxuczp3c3R4bnMxND0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnMxNDp0eXBlPSJMaWJyYXJ5JFN0YXRlbWVudHMiPg0KICAgIDx3c3R4bnMxNDpkZWY+DQogICAgICA8d3N0eG5zMTQ6ZGVmIHdzdHhuczE0OnR5cGU9IkV4cHJlc3Npb25EZWYiIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iMTI6MS0xMjoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgIDx3c3R4bnMxNDpleHByZXNzaW9uIHdzdHhuczE0OnR5cGU9IlNpbmdsZXRvbkZyb20iIGxvY2FsSWQ9IjIxNSI+DQogICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQgd3N0eG5zMTQ6dHlwZT0iUmV0cmlldmUiIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTI6MS0xMjoxNSIgZGF0YVR5cGU9IntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50Ii8+DQogICAgICAgIDwvd3N0eG5zMTQ6ZXhwcmVzc2lvbj4NCiAgICAgIDwvd3N0eG5zMTQ6ZGVmPg0KICAgICAgPHdzdHhuczE0OmRlZiB3c3R4bnMxNDp0eXBlPSJFeHByZXNzaW9uRGVmIiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjE0OjEtMTY6MzciIG5hbWU9IkJsb29kIEdsdWNvc2UgT2JzZXJ2YXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgPHdzdHhuczE0OmV4cHJlc3Npb24gd3N0eG5zMTQ6dHlwZT0iUXVlcnkiIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTU6My0xNjozNyI+DQogICAgICAgICAgPHdzdHhuczE0OnNvdXJjZT4NCiAgICAgICAgICAgIDx3c3R4bnMxNDpzb3VyY2Ugd3N0eG5zMTQ6dHlwZT0iQWxpYXNlZFF1ZXJ5U291cmNlIiBsb2NhbElkPSIyMTkiIGxvY2F0b3I9IjE1OjMtMTU6MzUiIGFsaWFzPSJCRyI+DQogICAgICAgICAgICAgIDx3c3R4bnMxNDpleHByZXNzaW9uIHdzdHhuczE0OnR5cGU9IlJldHJpZXZlIiBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjE1OjMtMTU6MzIiIGRhdGFUeXBlPSJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PYnNlcnZhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJ+Ij4NCiAgICAgICAgICAgICAgICA8d3N0eG5zMTQ6Y29kZXMgd3N0eG5zMTQ6dHlwZT0iVG9MaXN0IiBsb2NhbElkPSIyMjkiPg0KICAgICAgICAgICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQgd3N0eG5zMTQ6dHlwZT0iQ29kZVJlZiIgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxNToxNy0xNTozMSIgbmFtZT0iQmxvb2QgR2x1Y29zZSIvPg0KICAgICAgICAgICAgICAgIDwvd3N0eG5zMTQ6Y29kZXM+DQogICAgICAgICAgICAgIDwvd3N0eG5zMTQ6ZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvd3N0eG5zMTQ6c291cmNlPg0KICAgICAgICAgIDwvd3N0eG5zMTQ6c291cmNlPg0KICAgICAgICAgIDx3c3R4bnMxNDp3aGVyZSB3c3R4bnMxNDp0eXBlPSJHcmVhdGVyIiBsb2NhbElkPSIyMzAiIGxvY2F0b3I9IjE2OjUtMTY6MzciPg0KICAgICAgICAgICAgPHdzdHhuczE0OnNpZ25hdHVyZT4NCiAgICAgICAgICAgICAgPHdzdHhuczE0OnNpZ25hdHVyZSB3c3R4bnMxNDp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIGxvY2FsSWQ9IjIzNyIgbmFtZT0ie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIvPg0KICAgICAgICAgICAgICA8d3N0eG5zMTQ6c2lnbmF0dXJlIHdzdHhuczE0OnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbG9jYWxJZD0iMjM4IiBuYW1lPSJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5Ii8+DQogICAgICAgICAgICA8L3dzdHhuczE0OnNpZ25hdHVyZT4NCiAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kPg0KICAgICAgICAgICAgICA8d3N0eG5zMTQ6b3BlcmFuZCB3c3R4bnMxNDp0eXBlPSJGdW5jdGlvblJlZiIgbG9jYWxJZD0iMjM1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiPg0KICAgICAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQgd3N0eG5zMTQ6dHlwZT0iQXMiIGxvY2FsSWQ9IjIzNCIgYXNUeXBlPSJ7aHR0cDovL2hsNy5vcmcvZmhpcn1RdWFudGl0eSI+DQogICAgICAgICAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kIHdzdHhuczE0OnR5cGU9IlByb3BlcnR5IiBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjE2OjExLTE2OjE4IiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkJHIi8+DQogICAgICAgICAgICAgICAgICA8L3dzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgICAgPC93c3R4bnMxNDpvcGVyYW5kPg0KICAgICAgICAgICAgICA8L3dzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kIHdzdHhuczE0OnR5cGU9IkZ1bmN0aW9uUmVmIiBsb2NhbElkPSIyMzYiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyI+DQogICAgICAgICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8d3N0eG5zMTQ6b3BlcmFuZCB3c3R4bnMxNDp0eXBlPSJQYXJhbWV0ZXJSZWYiIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTY6MjItMTY6MzciIG5hbWU9IkdsdWNvc2VUaHJlc2hvbGQiLz4NCiAgICAgICAgICAgICAgICA8L3dzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgIDwvd3N0eG5zMTQ6b3BlcmFuZD4NCiAgICAgICAgICAgIDwvd3N0eG5zMTQ6b3BlcmFuZD4NCiAgICAgICAgICA8L3dzdHhuczE0OndoZXJlPg0KICAgICAgICA8L3dzdHhuczE0OmV4cHJlc3Npb24+DQogICAgICAgIDx3c3R4bnMxNDphbm5vdGF0aW9uPg0KICAgICAgICAgIDx3c3R4bnMxNDphbm5vdGF0aW9uIHdzdHhuczE0OnR5cGU9IkFubm90YXRpb24iPg0KICAgICAgICAgICAgPHdzdHhuczE1OnMgeG1sbnM6d3N0eG5zMTU9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjE4Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+ZGVmaW5lIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4iQmxvb2QgR2x1Y29zZSBPYnNlcnZhdGlvbnMiPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPjoKICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSByPSIyMzkiPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSByPSIyMTkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjIyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIyMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+Wzwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5PYnNlcnZhdGlvbjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz46IDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPiJCbG9vZCBHbHVjb3NlIjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+XTwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPiA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+Qkc8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4KICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIzMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+d2hlcmUgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjMwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIzMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSByPSIyMzEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPkJHPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4uPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjMyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz52YWx1ZTwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPiA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+Jmd0Ozwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4gPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjMzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5HbHVjb3NlVGhyZXNob2xkPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgIDwvd3N0eG5zMTU6cz4NCiAgICAgICAgICA8L3dzdHhuczE0OmFubm90YXRpb24+DQogICAgICAgIDwvd3N0eG5zMTQ6YW5ub3RhdGlvbj4NCiAgICAgIDwvd3N0eG5zMTQ6ZGVmPg0KICAgIDwvd3N0eG5zMTQ6ZGVmPg0KICA8L3dzdHhuczE0OnN0YXRlbWVudHM+DQogIDx3c3R4bnMxNjphbm5vdGF0aW9uIHhtbG5zOndzdHhuczE2PSJ1cm46aGw3LW9yZzplbG06cjEiPg0KICAgIDx3c3R4bnMxNjphbm5vdGF0aW9uIHdzdHhuczE2OnR5cGU9IkNxbFRvRWxtSW5mbyIgdHJhbnNsYXRvclZlcnNpb249IjMuOS4wIiB0cmFuc2xhdG9yT3B0aW9ucz0iRW5hYmxlQW5ub3RhdGlvbnMsRW5hYmxlTG9jYXRvcnMiIHNpZ25hdHVyZUxldmVsPSJPdmVybG9hZHMiLz4NCiAgICA8d3N0eG5zMTY6YW5ub3RhdGlvbiB3c3R4bnMxNjp0eXBlPSJDcWxUb0VsbUVycm9yIiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIvPg0KICAgIDx3c3R4bnMxNjphbm5vdGF0aW9uIHdzdHhuczE2OnR5cGU9IkNxbFRvRWxtRXJyb3IiIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciBbcmVmZXJlbmNlXSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIi8+DQogICAgPHdzdHhuczE2OmFubm90YXRpb24gd3N0eG5zMTY6dHlwZT0iQ3FsVG9FbG1FcnJvciIgbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciLz4NCiAgICA8d3N0eG5zMTY6YW5ub3RhdGlvbiB3c3R4bnMxNjp0eXBlPSJBbm5vdGF0aW9uIj4NCiAgICAgIDx3c3R4bnMxNzpzIHhtbG5zOndzdHhuczE3PSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiIHI9IjIxOCI+DQogICAgICAgIDxzPg0KICAgICAgICAgIDxzPg0KICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+PC9zPg0KICAgICAgICAgICAgICAgIDxzPmxpYnJhcnkgRUxNRXhhbXBsZTwvcz4NCiAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICA8L3M+DQogICAgICAgIDwvcz4NCiAgICAgIDwvd3N0eG5zMTc6cz4NCiAgICA8L3dzdHhuczE2OmFubm90YXRpb24+DQogIDwvd3N0eG5zMTY6YW5ub3RhdGlvbj4NCjwvTGlicmFyeT4NCg=="
},
{
"contentType" : "application/elm+json",
"data" : "ew0KICAibGlicmFyeSIgOiB7DQogICAgInR5cGUiIDogIkxpYnJhcnkiLA0KICAgICJpZGVudGlmaWVyIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJWZXJzaW9uZWRJZGVudGlmaWVyIiwNCiAgICAgICJpZCIgOiAiRUxNRXhhbXBsZSIsDQogICAgICAic3lzdGVtIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NxbCINCiAgICB9LA0KICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJWZXJzaW9uZWRJZGVudGlmaWVyIiwNCiAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwNCiAgICAgICJ2ZXJzaW9uIiA6ICJyMSINCiAgICB9LA0KICAgICJ1c2luZ3MiIDogew0KICAgICAgInR5cGUiIDogIkxpYnJhcnkkVXNpbmdzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJVc2luZ0RlZiIsDQogICAgICAgICJsb2NhbElkIiA6ICIxIiwNCiAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwNCiAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIg0KICAgICAgfSwgew0KICAgICAgICAidHlwZSIgOiAiVXNpbmdEZWYiLA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJ1c2luZyAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiRkhJUiIgXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIHZlcnNpb24gJzQuMC4xJyIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjIwNiINCiAgICAgICAgICB9DQogICAgICAgIH0gXSwNCiAgICAgICAgImxvY2FsSWQiIDogIjIwNiIsDQogICAgICAgICJsb2NhdG9yIiA6ICIzOjEtMzoyNiIsDQogICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLA0KICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwNCiAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIg0KICAgICAgfSBdDQogICAgfSwNCiAgICAiaW5jbHVkZXMiIDogew0KICAgICAgInR5cGUiIDogIkxpYnJhcnkkSW5jbHVkZXMiLA0KICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgInR5cGUiIDogIkluY2x1ZGVEZWYiLA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJpbmNsdWRlICIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJGSElSSGVscGVycyIgXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIHZlcnNpb24gIiwgIic0LjAuMSciIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJyIiA6ICIyMDciDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICIyMDciLA0KICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6MzUiLA0KICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICJwYXRoIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiwNCiAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIg0KICAgICAgfSBdDQogICAgfSwNCiAgICAicGFyYW1ldGVycyIgOiB7DQogICAgICAidHlwZSIgOiAiTGlicmFyeSRQYXJhbWV0ZXJzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJEZWYiLA0KICAgICAgICAicGFyYW1ldGVyVHlwZVNwZWNpZmllciIgOiB7DQogICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIsDQogICAgICAgICAgImxvY2FsSWQiIDogIjIxMiIsDQogICAgICAgICAgImxvY2F0b3IiIDogIjEwOjI4LTEwOjM1IiwNCiAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVhbnRpdHkiDQogICAgICAgIH0sDQogICAgICAgICJhbm5vdGF0aW9uIiA6IFsgew0KICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIiwgInBhcmFtZXRlciAiLCAiR2x1Y29zZVRocmVzaG9sZCIsICIgIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIlF1YW50aXR5IiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAiciIgOiAiMjEyIg0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjIxMSINCiAgICAgICAgICB9DQogICAgICAgIH0gXSwNCiAgICAgICAgImxvY2FsSWQiIDogIjIxMSIsDQogICAgICAgICJsb2NhdG9yIiA6ICIxMDoxLTEwOjM1IiwNCiAgICAgICAgIm5hbWUiIDogIkdsdWNvc2VUaHJlc2hvbGQiLA0KICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyINCiAgICAgIH0gXQ0KICAgIH0sDQogICAgImNvZGVTeXN0ZW1zIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJMaWJyYXJ5JENvZGVTeXN0ZW1zIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJDb2RlU3lzdGVtRGVmIiwNCiAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLA0KICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIiLCAiY29kZXN5c3RlbSAiLCAiTE9JTkMiLCAiOiAiLCAiJ2h0dHA6Ly9sb2luYy5vcmcnIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiciIgOiAiMjA4Ig0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiMjA4IiwNCiAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjM2IiwNCiAgICAgICAgIm5hbWUiIDogIkxPSU5DIiwNCiAgICAgICAgImlkIiA6ICJodHRwOi8vbG9pbmMub3JnIiwNCiAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiDQogICAgICB9IF0NCiAgICB9LA0KICAgICJjb2RlcyIgOiB7DQogICAgICAidHlwZSIgOiAiTGlicmFyeSRDb2RlcyIsDQogICAgICAiZGVmIiA6IFsgew0KICAgICAgICAidHlwZSIgOiAiQ29kZURlZiIsDQogICAgICAgICJjb2RlU3lzdGVtIiA6IHsNCiAgICAgICAgICAidHlwZSIgOiAiQ29kZVN5c3RlbVJlZiIsDQogICAgICAgICAgImxvY2FsSWQiIDogIjIxMCIsDQogICAgICAgICAgImxvY2F0b3IiIDogIjg6MzctODo0MSIsDQogICAgICAgICAgIm5hbWUiIDogIkxPSU5DIg0KICAgICAgICB9LA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJjb2RlICIsICJcIkJsb29kIEdsdWNvc2VcIiIsICI6ICIsICInMjMzOS0wJyIsICIgZnJvbSAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiTE9JTkMiIF0NCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICJyIiA6ICIyMTAiDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiBkaXNwbGF5ICIsICInR2x1Y29zZSBCbGQtbUNuYyciIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJyIiA6ICIyMDkiDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICIyMDkiLA0KICAgICAgICAibG9jYXRvciIgOiAiODoxLTg6NjgiLA0KICAgICAgICAibmFtZSIgOiAiQmxvb2QgR2x1Y29zZSIsDQogICAgICAgICJpZCIgOiAiMjMzOS0wIiwNCiAgICAgICAgImRpc3BsYXkiIDogIkdsdWNvc2UgQmxkLW1DbmMiLA0KICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyINCiAgICAgIH0gXQ0KICAgIH0sDQogICAgImNvbnRleHRzIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJMaWJyYXJ5JENvbnRleHRzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJDb250ZXh0RGVmIiwNCiAgICAgICAgImxvY2FsSWQiIDogIjIxNiIsDQogICAgICAgICJsb2NhdG9yIiA6ICIxMjoxLTEyOjE1IiwNCiAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiDQogICAgICB9IF0NCiAgICB9LA0KICAgICJzdGF0ZW1lbnRzIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJMaWJyYXJ5JFN0YXRlbWVudHMiLA0KICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25EZWYiLA0KICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLA0KICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsDQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEzIiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjoxLTEyOjE1IiwNCiAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsDQogICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiDQogICAgICAgICAgfSwNCiAgICAgICAgICAibG9jYWxJZCIgOiAiMjE1Ig0KICAgICAgICB9LA0KICAgICAgICAibG9jYWxJZCIgOiAiMjE0IiwNCiAgICAgICAgImxvY2F0b3IiIDogIjEyOjEtMTI6MTUiLA0KICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsDQogICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50Ig0KICAgICAgfSwgew0KICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvbkRlZiIsDQogICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLA0KICAgICAgICAgICJzb3VyY2UiIDogWyB7DQogICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNlZFF1ZXJ5U291cmNlIiwNCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwNCiAgICAgICAgICAgICAgImNvZGVzIiA6IHsNCiAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwNCiAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7DQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIsDQogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIxIiwNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNToxNy0xNTozMSIsDQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmxvb2QgR2x1Y29zZSINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjkiDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjIiLA0KICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6My0xNTozMiIsDQogICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLA0KICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiwNCiAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsDQogICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAifiINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE5IiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTozLTE1OjM1IiwNCiAgICAgICAgICAgICJhbGlhcyIgOiAiQkciDQogICAgICAgICAgfSBdLA0KICAgICAgICAgICJ3aGVyZSIgOiB7DQogICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlciIsDQogICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgew0KICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIiwNCiAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNyIsDQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5Ig0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIiwNCiAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOCIsDQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5Ig0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsDQogICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsDQogICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwNCiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzIiLA0KICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjExLTE2OjE4IiwNCiAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkJHIg0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNCIsDQogICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVhbnRpdHkiDQogICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNSIsDQogICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwNCiAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwNCiAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIsDQogICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMyIsDQogICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjIyLTE2OjM3IiwNCiAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2x1Y29zZVRocmVzaG9sZCINCiAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM2IiwNCiAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLA0KICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIg0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMCIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6NS0xNjozNyINCiAgICAgICAgICB9LA0KICAgICAgICAgICJsb2NhbElkIiA6ICIyMzkiLA0KICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTozLTE2OjM3Ig0KICAgICAgICB9LA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJkZWZpbmUgIiwgIlwiQmxvb2QgR2x1Y29zZSBPYnNlcnZhdGlvbnNcIiIsICI6XG4gICIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIlsiLCAiT2JzZXJ2YXRpb24iLCAiOiAiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiXCJCbG9vZCBHbHVjb3NlXCIiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIl0iIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjIiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICIgIiwgIkJHIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE5Ig0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiXG4gICAgIiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIndoZXJlICIgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIkJHIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiLiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJ2YWx1ZSIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzIiDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIiAiLCAiPiIsICIgIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIkdsdWNvc2VUaHJlc2hvbGQiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzMiDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMwIg0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMCINCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICJyIiA6ICIyMzkiDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiciIgOiAiMjE4Ig0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiMjE4IiwNCiAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTY6MzciLA0KICAgICAgICAibmFtZSIgOiAiQmxvb2QgR2x1Y29zZSBPYnNlcnZhdGlvbnMiLA0KICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIg0KICAgICAgfSBdDQogICAgfSwNCiAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iLA0KICAgICAgInRyYW5zbGF0b3JWZXJzaW9uIiA6ICIzLjkuMCIsDQogICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzIiwNCiAgICAgICJzaWduYXR1cmVMZXZlbCIgOiAiT3ZlcmxvYWRzIg0KICAgIH0sIHsNCiAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIiwNCiAgICAgICJtZXNzYWdlIiA6ICJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIsDQogICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsDQogICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyINCiAgICB9LCB7DQogICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIsDQogICAgICAibWVzc2FnZSIgOiAiQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iLA0KICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLA0KICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciDQogICAgfSwgew0KICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiLA0KICAgICAgIm1lc3NhZ2UiIDogIkFuIG9wZXJhbmQgaWRlbnRpZmllciBbcmVmZXJlbmNlXSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiwNCiAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwNCiAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIg0KICAgIH0sIHsNCiAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICJzIiA6IHsNCiAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAicyIgOiBbICIiLCAibGlicmFyeSBFTE1FeGFtcGxlIiBdDQogICAgICAgICAgfSwNCiAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgfSBdLA0KICAgICAgICAiciIgOiAiMjE4Ig0KICAgICAgfQ0KICAgIH0gXSwNCiAgICAibG9jYWxJZCIgOiAiMCINCiAgfQ0KfQ=="
}
]
}