@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://fhir.org/guides/who/smart-immunization/Library/IMMZIND01> a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "IMMZIND01"] ; # 
  fhir:text [
     fhir:status [ fhir:v "generated" ] ;
     fhir: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/who/smart-immunization/Library/FHIRHelpers|4.0.1</code></td></tr><tr><td>depends-on</td><td>Library IMMZCom</td><td><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></td></tr><tr><td>depends-on</td><td>Library IMMZc</td><td><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></td></tr><tr><td>depends-on</td><td>Library IMMZCon</td><td><a href=\"Library-IMMZConfig.html\">IMMZConfig</a></td></tr><tr><td>depends-on</td><td>Library IMMZIndCom</td><td><a href=\"Library-IMMZIndicatorCommon.html\">IMMZIndicatorCommon</a></td></tr><tr><td>depends-on</td><td>Library IMMZvl</td><td><a href=\"Library-IMMZVaccineLibrary.html\">IMMZVaccineLibrary</a></td></tr><tr><td>depends-on</td><td>Code system Administrative Gender Codes</td><td><a href=\"http://hl7.org/fhir/R4/codesystem-administrative-gender.html\">AdministrativeGender</a></td></tr><tr><td>depends-on</td><td>Value set BCG Vaccine</td><td><code>http://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE1</code></td></tr></table><h2>Parameters</h2><table class=\"grid\"><tr><td>Measurement Period</td><td>in</td><td>0</td><td>1</td><td>Period</td></tr><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>measure-population</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Geographic Region Stratifier</td><td>out</td><td>0</td><td>1</td><td>string</td></tr><tr><td>Administrative Gender Stratifier</td><td>out</td><td>0</td><td>1</td><td>Coding</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/immunization.html\">Immunization</a> (<a href=\"http://hl7.org/fhir/R4/immunization.html\">Immunization</a>)</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class=\"language-sql\">/*\r\n * Library: IMMZ.IND.01\r\n * Immunization coverage for BCG (Estimated Denominator) \r\n * Compares the doses of BCG vaccine administered with the estimated number of live births as a percentage.\r\n * \r\n * Numerator: Number of administrations of BCG during the reporting period \r\n * Numerator Computation: COUNT immunization events WHERE administered product is a BCG vaccine (IMMZ.A1.DE1) during reporting period\r\n * Denominator: Estimated number of live births.\r\n * Denominator Computation: PARAMETER number of live births\r\n * \r\n * Disaggregation:\r\n *   - Geographic Region\r\n *   - Administrative Gender (or Biological Sex)\r\n * \r\n * References: WHO Immunization Facility Analysis Guide (1), WHO / UNICEF Joint Reporting Form (3 - element 4010)\r\n */\r\n\r\nlibrary IMMZIND01\r\n\r\n// Start Skeleton CQL\r\nusing FHIR version '4.0.1'\r\ninclude FHIRHelpers version '4.0.1'\r\ninclude IMMZCommon called IMMZCom\r\ninclude IMMZConcepts called IMMZc\r\ninclude IMMZConfig called IMMZCon\r\ninclude IMMZIndicatorCommon called IMMZIndCom\r\ninclude IMMZVaccineLibrary called IMMZvl\r\n// End Skeleton CQL\r\nparameter &quot;Measurement Period&quot; Interval&lt;Date&gt; default Interval[@2022-01-01, @2022-01-31]\r\n// TODO: This denominator may not be possible to compute using CQL since\r\n// 		  the numerator and denominator are indicators of whether a patient should\r\n//		  or should not appear in the numerator or denominator respectively. Since\r\n//		  this is not possible on estimates from census, we may need to only\r\n//	 	  produce the numerator in the indicator with instructions that the denominator\r\n//		  will have to be applied manually (i.e. change numerator to measure-population)\r\n//parameter &quot;Estimated Number of Live Births&quot; Integer default 10\r\n\r\ncontext Patient\r\n\r\n/*\r\n * Numerator: Number of administrations of BCG during the reporting period\r\n * Numerator Computation: COUNT immunization events WHERE administered product is a BCG vaccine (IMMZ.A1.DE1) during reporting period\r\n */\r\ndefine &quot;measure-population&quot;:\r\n	exists(IMMZIndCom.&quot;BCG Doses Administered to Patient During Measurement Period&quot;)\r\n\r\n/*\r\n * Disaggregator: Geographic Region\r\n */\r\ndefine &quot;Geographic Region Stratifier&quot;:\r\n    IMMZIndCom.&quot;By Geographic Region Stratifier&quot;\r\n	// If geographic region is by place of administration\r\n	//IMMZIndCom.&quot;BCG Doses Administered to Patient During Measurement Period&quot; I\r\n	//return IMMZIndCom.GetGeographicRegionForImmunization(I)\r\n	\r\n/*\r\n * Disaggregator: Administrative Gender (or Biological Sex)\r\n */\r\ndefine &quot;Administrative Gender Stratifier&quot;:\r\n	IMMZIndCom.&quot;By Administrative Gender Stratifier&quot;\r\n\r\n\r\n/* End of IMMZ.IND.01 */\r\n</code></pre><p><code>Content not shown - (</code><code>application/elm+xml</code>, size = 9Kb)</p><p><code>Content not shown - (</code><code>application/elm+json</code>, size = 37Kb)</p></div>"
  ] ; # 
  fhir:extension ( [
     fhir:url [ fhir:v "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem"^^xsd:anyURI ] ;
     fhir:value [
       a fhir:Reference ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/Device/cqf-tooling> ;
       fhir:reference [ fhir:v "Device/cqf-tooling" ]
     ]
  ] ) ; # 
  fhir:url [ fhir:v "http://fhir.org/guides/who/smart-immunization/Library/IMMZIND01"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.1.0"] ; # 
  fhir:name [ fhir:v "IMMZIND01"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:date [ fhir:v "2023-04-13T07:36:12+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "World Health Organization (WHO)"] ; # 
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ] ;
       fhir:code [ fhir:v "001" ]
     ] )
  ] ) ; # 
  fhir:relatedArtifact ( [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "FHIR model information" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Library FHIRHelpers" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/who/smart-immunization/Library/FHIRHelpers|4.0.1"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/Library/FHIRHelpers|4.0.1>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Library IMMZCom" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/who/smart-immunization/Library/IMMZCommon"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/Library/IMMZCommon>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Library IMMZc" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/who/smart-immunization/Library/IMMZConcepts"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/Library/IMMZConcepts>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Library IMMZCon" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/who/smart-immunization/Library/IMMZConfig"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/Library/IMMZConfig>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Library IMMZIndCom" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/who/smart-immunization/Library/IMMZIndicatorCommon"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/Library/IMMZIndicatorCommon>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Library IMMZvl" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/who/smart-immunization/Library/IMMZVaccineLibrary"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/Library/IMMZVaccineLibrary>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Code system Administrative Gender Codes" ] ;
     fhir:resource [
       fhir:v "http://hl7.org/fhir/administrative-gender"^^xsd:anyURI ;
       fhir:link <http://hl7.org/fhir/administrative-gender>
     ]
  ] [
     fhir:type [ fhir:v "depends-on" ] ;
     fhir:display [ fhir:v "Value set BCG Vaccine" ] ;
     fhir:resource [
       fhir:v "http://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE1"^^xsd:anyURI ;
       fhir:link <http://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE1>
     ]
  ] ) ; # 
  fhir:parameter ( [
     fhir:name [ fhir:v "Measurement Period" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "Period" ]
  ] [
     fhir:name [ fhir:v "Patient" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "Patient" ]
  ] [
     fhir:name [ fhir:v "measure-population" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "Geographic Region Stratifier" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "string" ]
  ] [
     fhir:name [ fhir:v "Administrative Gender Stratifier" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "Coding" ]
  ] ) ; # 
  fhir:dataRequirement ( [
     fhir:type [ fhir:v "Patient" ] ;
     fhir:profile ( [
       fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Patient>
     ] ) ;
     fhir:mustSupport ( [ fhir:v "use" ] )
  ] [
     fhir:type [ fhir:v "Immunization" ] ;
     fhir:profile ( [
       fhir:v "http://hl7.org/fhir/StructureDefinition/Immunization"^^xsd:anyURI ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Immunization>
     ] ) ;
     fhir:mustSupport ( [ fhir:v "status" ] [ fhir:v "vaccineCode" ] [ fhir:v "occurrence" ] )
  ] ) ; # 
  fhir:content ( [
     fhir:contentType [ fhir:v "text/cql" ] ;
     fhir:data [ fhir:v "LyoNCiAqIExpYnJhcnk6IElNTVouSU5ELjAxDQogKiBJbW11bml6YXRpb24gY292ZXJhZ2UgZm9yIEJDRyAoRXN0aW1hdGVkIERlbm9taW5hdG9yKSANCiAqIENvbXBhcmVzIHRoZSBkb3NlcyBvZiBCQ0cgdmFjY2luZSBhZG1pbmlzdGVyZWQgd2l0aCB0aGUgZXN0aW1hdGVkIG51bWJlciBvZiBsaXZlIGJpcnRocyBhcyBhIHBlcmNlbnRhZ2UuDQogKiANCiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIGFkbWluaXN0cmF0aW9ucyBvZiBCQ0cgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kIA0KICogTnVtZXJhdG9yIENvbXB1dGF0aW9uOiBDT1VOVCBpbW11bml6YXRpb24gZXZlbnRzIFdIRVJFIGFkbWluaXN0ZXJlZCBwcm9kdWN0IGlzIGEgQkNHIHZhY2NpbmUgKElNTVouQTEuREUxKSBkdXJpbmcgcmVwb3J0aW5nIHBlcmlvZA0KICogRGVub21pbmF0b3I6IEVzdGltYXRlZCBudW1iZXIgb2YgbGl2ZSBiaXJ0aHMuDQogKiBEZW5vbWluYXRvciBDb21wdXRhdGlvbjogUEFSQU1FVEVSIG51bWJlciBvZiBsaXZlIGJpcnRocw0KICogDQogKiBEaXNhZ2dyZWdhdGlvbjoNCiAqICAgLSBHZW9ncmFwaGljIFJlZ2lvbg0KICogICAtIEFkbWluaXN0cmF0aXZlIEdlbmRlciAob3IgQmlvbG9naWNhbCBTZXgpDQogKiANCiAqIFJlZmVyZW5jZXM6IFdITyBJbW11bml6YXRpb24gRmFjaWxpdHkgQW5hbHlzaXMgR3VpZGUgKDEpLCBXSE8gLyBVTklDRUYgSm9pbnQgUmVwb3J0aW5nIEZvcm0gKDMgLSBlbGVtZW50IDQwMTApDQogKi8NCg0KbGlicmFyeSBJTU1aSU5EMDENCg0KLy8gU3RhcnQgU2tlbGV0b24gQ1FMDQp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJw0KaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScNCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgSU1NWkNvbQ0KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIElNTVpjDQppbmNsdWRlIElNTVpDb25maWcgY2FsbGVkIElNTVpDb24NCmluY2x1ZGUgSU1NWkluZGljYXRvckNvbW1vbiBjYWxsZWQgSU1NWkluZENvbQ0KaW5jbHVkZSBJTU1aVmFjY2luZUxpYnJhcnkgY2FsbGVkIElNTVp2bA0KLy8gRW5kIFNrZWxldG9uIENRTA0KcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGU+IGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjItMDEtMDEsIEAyMDIyLTAxLTMxXQ0KLy8gVE9ETzogVGhpcyBkZW5vbWluYXRvciBtYXkgbm90IGJlIHBvc3NpYmxlIHRvIGNvbXB1dGUgdXNpbmcgQ1FMIHNpbmNlDQovLyAJCSAgdGhlIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgYXJlIGluZGljYXRvcnMgb2Ygd2hldGhlciBhIHBhdGllbnQgc2hvdWxkDQovLwkJICBvciBzaG91bGQgbm90IGFwcGVhciBpbiB0aGUgbnVtZXJhdG9yIG9yIGRlbm9taW5hdG9yIHJlc3BlY3RpdmVseS4gU2luY2UNCi8vCQkgIHRoaXMgaXMgbm90IHBvc3NpYmxlIG9uIGVzdGltYXRlcyBmcm9tIGNlbnN1cywgd2UgbWF5IG5lZWQgdG8gb25seQ0KLy8JIAkgIHByb2R1Y2UgdGhlIG51bWVyYXRvciBpbiB0aGUgaW5kaWNhdG9yIHdpdGggaW5zdHJ1Y3Rpb25zIHRoYXQgdGhlIGRlbm9taW5hdG9yDQovLwkJICB3aWxsIGhhdmUgdG8gYmUgYXBwbGllZCBtYW51YWxseSAoaS5lLiBjaGFuZ2UgbnVtZXJhdG9yIHRvIG1lYXN1cmUtcG9wdWxhdGlvbikNCi8vcGFyYW1ldGVyICJFc3RpbWF0ZWQgTnVtYmVyIG9mIExpdmUgQmlydGhzIiBJbnRlZ2VyIGRlZmF1bHQgMTANCg0KY29udGV4dCBQYXRpZW50DQoNCi8qDQogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBhZG1pbmlzdHJhdGlvbnMgb2YgQkNHIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZA0KICogTnVtZXJhdG9yIENvbXB1dGF0aW9uOiBDT1VOVCBpbW11bml6YXRpb24gZXZlbnRzIFdIRVJFIGFkbWluaXN0ZXJlZCBwcm9kdWN0IGlzIGEgQkNHIHZhY2NpbmUgKElNTVouQTEuREUxKSBkdXJpbmcgcmVwb3J0aW5nIHBlcmlvZA0KICovDQpkZWZpbmUgIm1lYXN1cmUtcG9wdWxhdGlvbiI6DQoJZXhpc3RzKElNTVpJbmRDb20uIkJDRyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIikNCg0KLyoNCiAqIERpc2FnZ3JlZ2F0b3I6IEdlb2dyYXBoaWMgUmVnaW9uDQogKi8NCmRlZmluZSAiR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciI6DQogICAgSU1NWkluZENvbS4iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciINCgkvLyBJZiBnZW9ncmFwaGljIHJlZ2lvbiBpcyBieSBwbGFjZSBvZiBhZG1pbmlzdHJhdGlvbg0KCS8vSU1NWkluZENvbS4iQkNHIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIEkNCgkvL3JldHVybiBJTU1aSW5kQ29tLkdldEdlb2dyYXBoaWNSZWdpb25Gb3JJbW11bml6YXRpb24oSSkNCgkNCi8qDQogKiBEaXNhZ2dyZWdhdG9yOiBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgKG9yIEJpb2xvZ2ljYWwgU2V4KQ0KICovDQpkZWZpbmUgIkFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIjoNCglJTU1aSW5kQ29tLiJCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciINCg0KDQovKiBFbmQgb2YgSU1NWi5JTkQuMDEgKi8NCg=="^^xsd:base64Binary ]
  ] [
     fhir:contentType [ fhir:v "application/elm+xml" ] ;
     fhir:data [ fhir:v "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gdHJhbnNsYXRvclZlcnNpb249IjEuNCIgdHJhbnNsYXRvck9wdGlvbnM9IkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iIHhzaTp0eXBlPSJhOkNxbFRvRWxtSW5mbyIvPg0KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICA8YTpzIHI9IjIzIj4NCiAgICAgICAgIDxhOnM+LyoKICogTGlicmFyeTogSU1NWi5JTkQuMDEKICogSW1tdW5pemF0aW9uIGNvdmVyYWdlIGZvciBCQ0cgKEVzdGltYXRlZCBEZW5vbWluYXRvcikgCiAqIENvbXBhcmVzIHRoZSBkb3NlcyBvZiBCQ0cgdmFjY2luZSBhZG1pbmlzdGVyZWQgd2l0aCB0aGUgZXN0aW1hdGVkIG51bWJlciBvZiBsaXZlIGJpcnRocyBhcyBhIHBlcmNlbnRhZ2UuCiAqIAogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBhZG1pbmlzdHJhdGlvbnMgb2YgQkNHIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZCAKICogTnVtZXJhdG9yIENvbXB1dGF0aW9uOiBDT1VOVCBpbW11bml6YXRpb24gZXZlbnRzIFdIRVJFIGFkbWluaXN0ZXJlZCBwcm9kdWN0IGlzIGEgQkNHIHZhY2NpbmUgKElNTVouQTEuREUxKSBkdXJpbmcgcmVwb3J0aW5nIHBlcmlvZAogKiBEZW5vbWluYXRvcjogRXN0aW1hdGVkIG51bWJlciBvZiBsaXZlIGJpcnRocy4KICogRGVub21pbmF0b3IgQ29tcHV0YXRpb246IFBBUkFNRVRFUiBudW1iZXIgb2YgbGl2ZSBiaXJ0aHMKICogCiAqIERpc2FnZ3JlZ2F0aW9uOgogKiAgIC0gR2VvZ3JhcGhpYyBSZWdpb24KICogICAtIEFkbWluaXN0cmF0aXZlIEdlbmRlciAob3IgQmlvbG9naWNhbCBTZXgpCiAqIAogKiBSZWZlcmVuY2VzOiBXSE8gSW1tdW5pemF0aW9uIEZhY2lsaXR5IEFuYWx5c2lzIEd1aWRlICgxKSwgV0hPIC8gVU5JQ0VGIEpvaW50IFJlcG9ydGluZyBGb3JtICgzIC0gZWxlbWVudCA0MDEwKQogKi8KbGlicmFyeSBJTU1aSU5EMDE8L2E6cz4NCiAgICAgIDwvYTpzPg0KICAgPC9hbm5vdGF0aW9uPg0KICAgPGlkZW50aWZpZXIgaWQ9IklNTVpJTkQwMSIgc3lzdGVtPSJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9zbWFydC1pbW11bml6YXRpb24iLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYXRvcj0iMjE6MS0yMToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIxIj4NCiAgICAgICAgICAgICAgIDxhOnM+Ly8gU3RhcnQgU2tlbGV0b24gQ1FMCnVzaW5nIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgPC9kZWY+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iMjI6MS0yMjozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vc21hcnQtaW1tdW5pemF0aW9uL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+DQogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4NCiAgICAgICAgICAgIDxhOnMgcj0iMiI+DQogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjIzOjEtMjM6MzMiIGxvY2FsSWRlbnRpZmllcj0iSU1NWkNvbSIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vc21hcnQtaW1tdW5pemF0aW9uL0lNTVpDb21tb24iPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjMiPg0KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkNvbW1vbjwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSU1NWkNvbTwvYTpzPg0KICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICA8L2Fubm90YXRpb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iMjQ6MS0yNDozMyIgbG9jYWxJZGVudGlmaWVyPSJJTU1aYyIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vc21hcnQtaW1tdW5pemF0aW9uL0lNTVpDb25jZXB0cyI+DQogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4NCiAgICAgICAgICAgIDxhOnMgcj0iNCI+DQogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIElNTVpjPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhbElkPSI1IiBsb2NhdG9yPSIyNToxLTI1OjMzIiBsb2NhbElkZW50aWZpZXI9IklNTVpDb24iIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL3NtYXJ0LWltbXVuaXphdGlvbi9JTU1aQ29uZmlnIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSI1Ij4NCiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb25maWc8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIElNTVpDb248L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjI2OjEtMjY6NDUiIGxvY2FsSWRlbnRpZmllcj0iSU1NWkluZENvbSIgcGF0aD0iaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vc21hcnQtaW1tdW5pemF0aW9uL0lNTVpJbmRpY2F0b3JDb21tb24iPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjYiPg0KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkluZGljYXRvckNvbW1vbjwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSU1NWkluZENvbTwvYTpzPg0KICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICA8L2Fubm90YXRpb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMjc6MS0yNzo0MCIgbG9jYWxJZGVudGlmaWVyPSJJTU1admwiIHBhdGg9Imh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL3NtYXJ0LWltbXVuaXphdGlvbi9JTU1aVmFjY2luZUxpYnJhcnkiPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjciPg0KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWlZhY2NpbmVMaWJyYXJ5PC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBJTU1admw8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgPC9kZWY+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSIyOToxLTI5Ojg4IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjEzIj4NCiAgICAgICAgICAgICAgIDxhOnM+Ly8gRW5kIFNrZWxldG9uIENRTApwYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cyByPSIxMiI+DQogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMSI+DQogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGU8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+IGRlZmF1bHQgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOCI+SW50ZXJ2YWxbQDIwMjItMDEtMDEsIEAyMDIyLTAxLTMxXTwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIyOTo1NS0yOTo4OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyBsb2NhbElkPSI4IiBsb2NhdG9yPSIyOTo2NC0yOTo3NCIgeHNpOnR5cGU9IkRhdGUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSI5IiBsb2NhdG9yPSIyOTo3Ny0yOTo4NyIgeHNpOnR5cGU9IkRhdGUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZGVmYXVsdD4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSIyOTozMi0yOTo0NSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIyOTo0MS0yOTo0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBsb2NhdG9yPSIzODoxLTM4OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM4OjEtMzg6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iNDQ6MS00NTo4MSIgbmFtZT0ibWVhc3VyZS1wb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIxNyI+DQogICAgICAgICAgICAgICA8YTpzPi8qCiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIGFkbWluaXN0cmF0aW9ucyBvZiBCQ0cgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqIE51bWVyYXRvciBDb21wdXRhdGlvbjogQ09VTlQgaW1tdW5pemF0aW9uIGV2ZW50cyBXSEVSRSBhZG1pbmlzdGVyZWQgcHJvZHVjdCBpcyBhIEJDRyB2YWNjaW5lIChJTU1aLkExLkRFMSkgZHVyaW5nIHJlcG9ydGluZyBwZXJpb2QKICovCmRlZmluZSAmcXVvdDttZWFzdXJlLXBvcHVsYXRpb24mcXVvdDs6Cgk8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPg0KICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHM8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aSW5kQ29tPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0JDRyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+DQogICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICA8L2Fubm90YXRpb24+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iNDU6Mi00NTo4MSIgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNSIgbG9jYXRvcj0iNDU6OC00NTo4MSIgbmFtZT0iQkNHIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIGxpYnJhcnlOYW1lPSJJTU1aSW5kQ29tIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSI1MDoxLTUxOjQ4IiBuYW1lPSJHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyMCI+DQogICAgICAgICAgICAgICA8YTpzPi8qCiAqIERpc2FnZ3JlZ2F0b3I6IEdlb2dyYXBoaWMgUmVnaW9uCiAqLwpkZWZpbmUgJnF1b3Q7R2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciZxdW90OzoKICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cyByPSIxOSI+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkluZENvbTwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyJnF1b3Q7PC9hOnM+DQogICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICA8L2Fubm90YXRpb24+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOSIgbG9jYXRvcj0iNTE6NS01MTo0OCIgbmFtZT0iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIgbGlicmFyeU5hbWU9IklNTVpJbmRDb20iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjU5OjEtNjA6NDkiIG5hbWU9IkFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyMyI+DQogICAgICAgICAgICAgICA8YTpzPi8vIElmIGdlb2dyYXBoaWMgcmVnaW9uIGlzIGJ5IHBsYWNlIG9mIGFkbWluaXN0cmF0aW9uCgkvL0lNTVpJbmRDb20uJnF1b3Q7QkNHIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgSQoJLy9yZXR1cm4gSU1NWkluZENvbS5HZXRHZW9ncmFwaGljUmVnaW9uRm9ySW1tdW5pemF0aW9uKEkpCgkKLyoKICogRGlzYWdncmVnYXRvcjogQWRtaW5pc3RyYXRpdmUgR2VuZGVyIChvciBCaW9sb2dpY2FsIFNleCkKICovCmRlZmluZSAmcXVvdDtBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciZxdW90OzoKCTwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SU1NWkluZENvbTwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciZxdW90OzwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjIiIGxvY2F0b3I9IjYwOjItNjA6NDkiIG5hbWU9IkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIiBsaWJyYXJ5TmFtZT0iSU1NWkluZENvbSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K"^^xsd:base64Binary ]
  ] [
     fhir:contentType [ fhir:v "application/elm+json" ] ;
     fhir:data [ fhir:v "ew0KICAibGlicmFyeSIgOiB7DQogICAgInR5cGUiIDogIkxpYnJhcnkiLA0KICAgICJpZGVudGlmaWVyIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJWZXJzaW9uZWRJZGVudGlmaWVyIiwNCiAgICAgICJpZCIgOiAiSU1NWklORDAxIiwNCiAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL3NtYXJ0LWltbXVuaXphdGlvbiINCiAgICB9LA0KICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJWZXJzaW9uZWRJZGVudGlmaWVyIiwNCiAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwNCiAgICAgICJ2ZXJzaW9uIiA6ICJyMSINCiAgICB9LA0KICAgICJ1c2luZ3MiIDogew0KICAgICAgInR5cGUiIDogIkxpYnJhcnkkVXNpbmdzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJVc2luZ0RlZiIsDQogICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsDQogICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSINCiAgICAgIH0sIHsNCiAgICAgICAgInR5cGUiIDogIlVzaW5nRGVmIiwNCiAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIvLyBTdGFydCBTa2VsZXRvbiBDUUxcbiIsICJ1c2luZyAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJGSElSIiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIHZlcnNpb24gIiwgIic0LjAuMSciIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJyIiA6ICIxIg0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiMSIsDQogICAgICAgICJsb2NhdG9yIiA6ICIyMToxLTIxOjI2IiwNCiAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUiIsDQogICAgICAgICJ1cmkiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIiLA0KICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiDQogICAgICB9IF0NCiAgICB9LA0KICAgICJpbmNsdWRlcyIgOiB7DQogICAgICAidHlwZSIgOiAiTGlicmFyeSRJbmNsdWRlcyIsDQogICAgICAiZGVmIiA6IFsgew0KICAgICAgICAidHlwZSIgOiAiSW5jbHVkZURlZiIsDQogICAgICAgICJhbm5vdGF0aW9uIiA6IFsgew0KICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIiwgImluY2x1ZGUgIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiRkhJUkhlbHBlcnMiIF0NCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIgdmVyc2lvbiAiLCAiJzQuMC4xJyIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjIiDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICIyIiwNCiAgICAgICAgImxvY2F0b3IiIDogIjIyOjEtMjI6MzUiLA0KICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9zbWFydC1pbW11bml6YXRpb24vRkhJUkhlbHBlcnMiLA0KICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiDQogICAgICB9LCB7DQogICAgICAgICJ0eXBlIiA6ICJJbmNsdWRlRGVmIiwNCiAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIiLCAiaW5jbHVkZSAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJJTU1aQ29tbW9uIiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIGNhbGxlZCAiLCAiSU1NWkNvbSIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjMiDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICIzIiwNCiAgICAgICAgImxvY2F0b3IiIDogIjIzOjEtMjM6MzMiLA0KICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJJTU1aQ29tIiwNCiAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL3NtYXJ0LWltbXVuaXphdGlvbi9JTU1aQ29tbW9uIg0KICAgICAgfSwgew0KICAgICAgICAidHlwZSIgOiAiSW5jbHVkZURlZiIsDQogICAgICAgICJhbm5vdGF0aW9uIiA6IFsgew0KICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIiwgImluY2x1ZGUgIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiSU1NWkNvbmNlcHRzIiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIGNhbGxlZCAiLCAiSU1NWmMiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJyIiA6ICI0Ig0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiNCIsDQogICAgICAgICJsb2NhdG9yIiA6ICIyNDoxLTI0OjMzIiwNCiAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSU1NWmMiLA0KICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vc21hcnQtaW1tdW5pemF0aW9uL0lNTVpDb25jZXB0cyINCiAgICAgIH0sIHsNCiAgICAgICAgInR5cGUiIDogIkluY2x1ZGVEZWYiLA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJpbmNsdWRlICIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIklNTVpDb25maWciIF0NCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIgY2FsbGVkICIsICJJTU1aQ29uIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiciIgOiAiNSINCiAgICAgICAgICB9DQogICAgICAgIH0gXSwNCiAgICAgICAgImxvY2FsSWQiIDogIjUiLA0KICAgICAgICAibG9jYXRvciIgOiAiMjU6MS0yNTozMyIsDQogICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVpDb24iLA0KICAgICAgICAicGF0aCIgOiAiaHR0cDovL2ZoaXIub3JnL2d1aWRlcy93aG8vc21hcnQtaW1tdW5pemF0aW9uL0lNTVpDb25maWciDQogICAgICB9LCB7DQogICAgICAgICJ0eXBlIiA6ICJJbmNsdWRlRGVmIiwNCiAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIiLCAiaW5jbHVkZSAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJJTU1aSW5kaWNhdG9yQ29tbW9uIiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIGNhbGxlZCAiLCAiSU1NWkluZENvbSIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjYiDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICI2IiwNCiAgICAgICAgImxvY2F0b3IiIDogIjI2OjEtMjY6NDUiLA0KICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJJTU1aSW5kQ29tIiwNCiAgICAgICAgInBhdGgiIDogImh0dHA6Ly9maGlyLm9yZy9ndWlkZXMvd2hvL3NtYXJ0LWltbXVuaXphdGlvbi9JTU1aSW5kaWNhdG9yQ29tbW9uIg0KICAgICAgfSwgew0KICAgICAgICAidHlwZSIgOiAiSW5jbHVkZURlZiIsDQogICAgICAgICJhbm5vdGF0aW9uIiA6IFsgew0KICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIiwgImluY2x1ZGUgIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiSU1NWlZhY2NpbmVMaWJyYXJ5IiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIGNhbGxlZCAiLCAiSU1NWnZsIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiciIgOiAiNyINCiAgICAgICAgICB9DQogICAgICAgIH0gXSwNCiAgICAgICAgImxvY2FsSWQiIDogIjciLA0KICAgICAgICAibG9jYXRvciIgOiAiMjc6MS0yNzo0MCIsDQogICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIklNTVp2bCIsDQogICAgICAgICJwYXRoIiA6ICJodHRwOi8vZmhpci5vcmcvZ3VpZGVzL3doby9zbWFydC1pbW11bml6YXRpb24vSU1NWlZhY2NpbmVMaWJyYXJ5Ig0KICAgICAgfSBdDQogICAgfSwNCiAgICAicGFyYW1ldGVycyIgOiB7DQogICAgICAidHlwZSIgOiAiTGlicmFyeSRQYXJhbWV0ZXJzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJEZWYiLA0KICAgICAgICAiZGVmYXVsdCIgOiB7DQogICAgICAgICAgInR5cGUiIDogIkludGVydmFsIiwNCiAgICAgICAgICAibG93IiA6IHsNCiAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlIiwNCiAgICAgICAgICAgICJ5ZWFyIiA6IHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiLA0KICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogIjIwMjIiDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgIm1vbnRoIiA6IHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiLA0KICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogIjEiDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgImRheSIgOiB7DQogICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIiwNCiAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICI4IiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTo2NC0yOTo3NCINCiAgICAgICAgICB9LA0KICAgICAgICAgICJoaWdoIiA6IHsNCiAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlIiwNCiAgICAgICAgICAgICJ5ZWFyIiA6IHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiLA0KICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogIjIwMjIiDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgIm1vbnRoIiA6IHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiLA0KICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogIjEiDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgImRheSIgOiB7DQogICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIiwNCiAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6ICIzMSINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAibG9jYWxJZCIgOiAiOSIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiMjk6NzctMjk6ODciDQogICAgICAgICAgfSwNCiAgICAgICAgICAibG9jYWxJZCIgOiAiMTAiLA0KICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTo1NS0yOTo4OCIsDQogICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLA0KICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUNCiAgICAgICAgfSwNCiAgICAgICAgInBhcmFtZXRlclR5cGVTcGVjaWZpZXIiIDogew0KICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLA0KICAgICAgICAgICJwb2ludFR5cGUiIDogew0KICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIsDQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTEiLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjI5OjQxLTI5OjQ0IiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiDQogICAgICAgICAgfSwNCiAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLA0KICAgICAgICAgICJsb2NhdG9yIiA6ICIyOTozMi0yOTo0NSINCiAgICAgICAgfSwNCiAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIvLyBFbmQgU2tlbGV0b24gQ1FMXG4iLCAicGFyYW1ldGVyICIsICJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiwgIiAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJJbnRlcnZhbDwiIF0NCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJEYXRlIiBdDQogICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEiDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiPiIgXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgInIiIDogIjEyIg0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIGRlZmF1bHQgIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiSW50ZXJ2YWxbIiwgIkAyMDIyLTAxLTAxIiwgIiwgIiwgIkAyMDIyLTAxLTMxIiwgIl0iIF0sDQogICAgICAgICAgICAgICAgICAgICJyIiA6ICI4Ig0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgInIiIDogIjEwIg0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjEzIg0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiMTMiLA0KICAgICAgICAibG9jYXRvciIgOiAiMjk6MS0yOTo4OCIsDQogICAgICAgICJuYW1lIiA6ICJNZWFzdXJlbWVudCBQZXJpb2QiLA0KICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyINCiAgICAgIH0gXQ0KICAgIH0sDQogICAgInN0YXRlbWVudHMiIDogew0KICAgICAgInR5cGUiIDogIkxpYnJhcnkkU3RhdGVtZW50cyIsDQogICAgICAiZGVmIiA6IFsgew0KICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvbkRlZiIsDQogICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsDQogICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzODoxLTM4OjE1IiwNCiAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsDQogICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiDQogICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICAibG9jYXRvciIgOiAiMzg6MS0zODoxNSIsDQogICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwNCiAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiDQogICAgICB9LCB7DQogICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uRGVmIiwNCiAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLA0KICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNSIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiNDU6OC00NTo4MSIsDQogICAgICAgICAgICAibmFtZSIgOiAiQkNHIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiLA0KICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aSW5kQ29tIg0KICAgICAgICAgIH0sDQogICAgICAgICAgImxvY2FsSWQiIDogIjE2IiwNCiAgICAgICAgICAibG9jYXRvciIgOiAiNDU6Mi00NTo4MSINCiAgICAgICAgfSwNCiAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIvKlxuICogTnVtZXJhdG9yOiBOdW1iZXIgb2YgYWRtaW5pc3RyYXRpb25zIG9mIEJDRyBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2RcbiAqIE51bWVyYXRvciBDb21wdXRhdGlvbjogQ09VTlQgaW1tdW5pemF0aW9uIGV2ZW50cyBXSEVSRSBhZG1pbmlzdGVyZWQgcHJvZHVjdCBpcyBhIEJDRyB2YWNjaW5lIChJTU1aLkExLkRFMSkgZHVyaW5nIHJlcG9ydGluZyBwZXJpb2RcbiAqL1xuIiwgImRlZmluZSAiLCAiXCJtZWFzdXJlLXBvcHVsYXRpb25cIiIsICI6XG5cdCIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICJzIiA6IFsgImV4aXN0cyIgXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIigiIF0NCiAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiSU1NWkluZENvbSIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiLiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIlwiQkNHIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2RcIiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjE1Ig0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICIpIiBdDQogICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTUiDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAiciIgOiAiMTYiDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiciIgOiAiMTciDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICIxNyIsDQogICAgICAgICJsb2NhdG9yIiA6ICI0NDoxLTQ1OjgxIiwNCiAgICAgICAgIm5hbWUiIDogIm1lYXN1cmUtcG9wdWxhdGlvbiIsDQogICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwNCiAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiDQogICAgICB9LCB7DQogICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uRGVmIiwNCiAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwNCiAgICAgICAgICAibG9jYWxJZCIgOiAiMTkiLA0KICAgICAgICAgICJsb2NhdG9yIiA6ICI1MTo1LTUxOjQ4IiwNCiAgICAgICAgICAibmFtZSIgOiAiQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIsDQogICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aSW5kQ29tIg0KICAgICAgICB9LA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIi8qXG4gKiBEaXNhZ2dyZWdhdG9yOiBHZW9ncmFwaGljIFJlZ2lvblxuICovXG4iLCAiZGVmaW5lICIsICJcIkdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXJcIiIsICI6XG4gICAgIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiSU1NWkluZENvbSIgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgInIiIDogIjE4Ig0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIi4iIF0NCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJcIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXJcIiIgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgInIiIDogIjE5Ig0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgInIiIDogIjE5Ig0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjIwIg0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiMjAiLA0KICAgICAgICAibG9jYXRvciIgOiAiNTA6MS01MTo0OCIsDQogICAgICAgICJuYW1lIiA6ICJHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIiwNCiAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyINCiAgICAgIH0sIHsNCiAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25EZWYiLA0KICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLA0KICAgICAgICAgICJsb2NhbElkIiA6ICIyMiIsDQogICAgICAgICAgImxvY2F0b3IiIDogIjYwOjItNjA6NDkiLA0KICAgICAgICAgICJuYW1lIiA6ICJCeSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciIsDQogICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJJTU1aSW5kQ29tIg0KICAgICAgICB9LA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIi8vIElmIGdlb2dyYXBoaWMgcmVnaW9uIGlzIGJ5IHBsYWNlIG9mIGFkbWluaXN0cmF0aW9uXG5cdC8vSU1NWkluZENvbS5cIkJDRyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kXCIgSVxuXHQvL3JldHVybiBJTU1aSW5kQ29tLkdldEdlb2dyYXBoaWNSZWdpb25Gb3JJbW11bml6YXRpb24oSSlcblx0XG4vKlxuICogRGlzYWdncmVnYXRvcjogQWRtaW5pc3RyYXRpdmUgR2VuZGVyIChvciBCaW9sb2dpY2FsIFNleClcbiAqL1xuIiwgImRlZmluZSAiLCAiXCJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllclwiIiwgIjpcblx0IiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiSU1NWkluZENvbSIgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxIg0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImphdmF4LnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIi4iIF0NCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJcIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyXCIiIF0NCiAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMiINCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICJyIiA6ICIyMiINCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJyIiA6ICIyMyINCiAgICAgICAgICB9DQogICAgICAgIH0gXSwNCiAgICAgICAgImxvY2FsSWQiIDogIjIzIiwNCiAgICAgICAgImxvY2F0b3IiIDogIjU5OjEtNjA6NDkiLA0KICAgICAgICAibmFtZSIgOiAiQWRtaW5pc3RyYXRpdmUgR2VuZGVyIFN0cmF0aWZpZXIiLA0KICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIg0KICAgICAgfSBdDQogICAgfSwNCiAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICJ0cmFuc2xhdG9yVmVyc2lvbiIgOiAiMS40IiwNCiAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlQW5ub3RhdGlvbnMsRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiINCiAgICB9LCB7DQogICAgICAicyIgOiB7DQogICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgInNjb3BlIiA6ICJqYXZheC54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICJzIiA6IFsgIi8qXG4gKiBMaWJyYXJ5OiBJTU1aLklORC4wMVxuICogSW1tdW5pemF0aW9uIGNvdmVyYWdlIGZvciBCQ0cgKEVzdGltYXRlZCBEZW5vbWluYXRvcikgXG4gKiBDb21wYXJlcyB0aGUgZG9zZXMgb2YgQkNHIHZhY2NpbmUgYWRtaW5pc3RlcmVkIHdpdGggdGhlIGVzdGltYXRlZCBudW1iZXIgb2YgbGl2ZSBiaXJ0aHMgYXMgYSBwZXJjZW50YWdlLlxuICogXG4gKiBOdW1lcmF0b3I6IE51bWJlciBvZiBhZG1pbmlzdHJhdGlvbnMgb2YgQkNHIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZCBcbiAqIE51bWVyYXRvciBDb21wdXRhdGlvbjogQ09VTlQgaW1tdW5pemF0aW9uIGV2ZW50cyBXSEVSRSBhZG1pbmlzdGVyZWQgcHJvZHVjdCBpcyBhIEJDRyB2YWNjaW5lIChJTU1aLkExLkRFMSkgZHVyaW5nIHJlcG9ydGluZyBwZXJpb2RcbiAqIERlbm9taW5hdG9yOiBFc3RpbWF0ZWQgbnVtYmVyIG9mIGxpdmUgYmlydGhzLlxuICogRGVub21pbmF0b3IgQ29tcHV0YXRpb246IFBBUkFNRVRFUiBudW1iZXIgb2YgbGl2ZSBiaXJ0aHNcbiAqIFxuICogRGlzYWdncmVnYXRpb246XG4gKiAgIC0gR2VvZ3JhcGhpYyBSZWdpb25cbiAqICAgLSBBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgKG9yIEJpb2xvZ2ljYWwgU2V4KVxuICogXG4gKiBSZWZlcmVuY2VzOiBXSE8gSW1tdW5pemF0aW9uIEZhY2lsaXR5IEFuYWx5c2lzIEd1aWRlICgxKSwgV0hPIC8gVU5JQ0VGIEpvaW50IFJlcG9ydGluZyBGb3JtICgzIC0gZWxlbWVudCA0MDEwKVxuICovXG4iLCAibGlicmFyeSBJTU1aSU5EMDEiIF0NCiAgICAgICAgICB9LA0KICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICB9IF0sDQogICAgICAgICJyIiA6ICIyMyINCiAgICAgIH0NCiAgICB9IF0NCiAgfQ0KfQ=="^^xsd:base64Binary ]
  ] ) . # 

# -------------------------------------------------------------------------------------

