Cervical Cancer Screening CDS for OpenMRS
0.1.0 - ci-build
Cervical Cancer Screening CDS for OpenMRS, published by Hopena Health. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/dhes/cervical-cancer-cds/tree/main and changes regularly. See the Directory of published versions
| Draft as of 2026-04-21 |
<Library xmlns="http://hl7.org/fhir">
<id value="CervicalCancerTriageDecision"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<table class="grid dict">
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">Cervical Cancer Triage Decision Logic</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">CervicalCancerTriageDecision</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.1.0</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Library-CervicalCancerTriageDecision.html">Cervical Cancer Triage Decision Logic</a></td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Experimental: </b></th>
<td style="padding-left: 4px;">true</td>
</tr>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<b>system: </b> <span><a href="http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a></span>
</p>
<p style="margin-bottom: 5px;">
<b>code: </b> <span>logic-library</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Date: </b></th>
<td style="padding-left: 4px;">2026-04-21 19:55:49+0000</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">Hopena Health</td>
</tr>
<tr>
<th scope="row"><b>Jurisdiction: </b></th>
<td style="padding-left: 4px;">001</td>
</tr>
<tr>
<th scope="row"><b>Related Artifacts: </b></th>
<td style="padding-left: 4px;">
<p><b>Dependencies</b></p>
<ul>
<li><a href="Library-CervicalCancerScreeningCommon.html">Cervical Cancer Screening Common Definitions</a> version: 0.1.0</li>
</ul>
</td>
</tr>
<tr>
<th scope="row"><b>Parameters: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>
<tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Triage Is Indicated</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Triage Has Been Performed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>VIA Triage Is Positive</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>VIA Triage Is Negative</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Suspicious For Cancer</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Proceed To Treatment</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Proceed To Follow Up Retest</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Needs Referral</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Triage Recommended Action</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Triage Status</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Active Triage Algorithm</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><a id="cql-content"><b>Content: </b></a> text/cql</th></tr>
<tr><td><pre><code class="language-cql">/*
* CervicalCancerTriageDecision
*
* Triage pathway logic for HPV-positive women, implementing
* WHO guideline Algorithm 5 (HPV DNA + VIA triage) with
* extension points for Algorithms 3, 4, 6, 7.
*
* This library determines:
* - Whether triage is indicated
* - The appropriate triage method for the active algorithm
* - Interpretation of triage results
* - Routing to treatment vs follow-up vs referral
*
* Algorithm 5 cascade after HPV+:
* HPV positive → VIA triage
* ├── VIA positive → Treat (→ TreatmentDecision)
* ├── VIA negative → Retest at 12/24 months (→ FollowUpDecision)
* └── Suspicious for cancer → Refer to oncology
*
* WHO Recommendations covered:
* General population: 3b (screen-triage-treat), 11 (post-triage-negative retest)
* WLHIV: 22 (triage recommended), 23 (screen-triage-treat), 31 (retest timing)
*
* @author Dan Heslinga / Hopena Health
* @version 0.1.0
* @date 2026-03-08
*/
library CervicalCancerTriageDecision version '0.1.0'
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
include CervicalCancerScreeningCommon version '0.1.0' called Common
context Patient
/*
* =============================================================================
* TRIAGE INDICATION
* =============================================================================
*
* @guidance Triage is indicated when the primary HPV DNA test is positive.
* In Algorithm 5, VIA is the triage method.
* In screen-and-treat approaches (Algorithm 2), VIA is still done
* but for treatment modality selection rather than triage.
*/
/*
* @output Boolean — true if triage is indicated (HPV+ without subsequent triage)
* @pseudocode HPV test positive AND no VIA result after the HPV test
*/
define "Triage Is Indicated":
Common."Most Recent HPV Test Is Positive"
and (
not exists(Common."VIA Screening Results")
or Common."Date Of Most Recent VIA" before Common."Date Of Most Recent HPV Test"
)
/*
* @output Boolean — true if triage has been performed (VIA done after HPV+ result)
*/
define "Triage Has Been Performed":
Common."Most Recent HPV Test Is Positive"
and exists(Common."VIA Screening Results")
and Common."Date Of Most Recent VIA" on or after Common."Date Of Most Recent HPV Test"
/*
* =============================================================================
* TRIAGE RESULT INTERPRETATION
* =============================================================================
*/
/*
* @output Boolean — true if VIA triage was positive
* @guidance VIA positive → proceed to treatment assessment
*/
define "VIA Triage Is Positive":
"Triage Has Been Performed"
and Common."Most Recent VIA Is Positive"
/*
* @output Boolean — true if VIA triage was negative
* @guidance VIA negative → schedule follow-up HPV retest
* General: 24 months (WHO Rec 11)
* WLHIV: 12 months (WHO Rec 31)
*/
define "VIA Triage Is Negative":
"Triage Has Been Performed"
and not Common."Most Recent VIA Is Positive"
/*
* =============================================================================
* SUSPICIOUS FOR CANCER — Referral pathway
* =============================================================================
*
* @guidance In all algorithms, if VIA or colposcopy reveals findings
* suspicious for invasive cancer, the patient must be referred
* for definitive diagnosis and staging. This bypasses triage/treatment.
*
* Note: "Suspicious for cancer" is a clinical judgment during VIA. In OpenMRS,
* this would be recorded as a separate observation or as a specific coded value
* on the VIA result. We model it as a distinct observation concept.
*
* CIEL concept needed (not yet loaded):
* - CIEL 159393: Cervical cancer screening outcome
* or a custom concept for "suspicious for cancer" finding
*
* For now, we check for an active cervical cancer condition as a proxy.
* When the concept is loaded, this definition will be updated to check
* the VIA observation value directly.
*/
/*
* @output Boolean — true if findings are suspicious for cancer
* @pseudocode Currently uses cervical cancer diagnosis as proxy;
* will be refined when suspicious-for-cancer observation concept is loaded
*/
define "Suspicious For Cancer":
Common."Has Cervical Cancer Diagnosis"
/*
* =============================================================================
* TRIAGE ROUTING — Where does the patient go next?
* =============================================================================
*/
/*
* @output Boolean — true if patient should proceed to treatment assessment
* @pseudocode VIA triage positive AND not suspicious for cancer
*/
define "Proceed To Treatment":
"VIA Triage Is Positive"
and not "Suspicious For Cancer"
/*
* @output Boolean — true if patient should be scheduled for follow-up retest
* @pseudocode VIA triage negative AND not suspicious for cancer
*/
define "Proceed To Follow Up Retest":
"VIA Triage Is Negative"
and not "Suspicious For Cancer"
/*
* @output Boolean — true if patient needs oncology referral
*/
define "Needs Referral":
"Suspicious For Cancer"
/*
* =============================================================================
* RECOMMENDED ACTION — Triage-specific guidance
* =============================================================================
*/
/*
* @output String — the recommended triage action
*/
define "Triage Recommended Action":
case
when "Suspicious For Cancer"
then 'Findings suspicious for invasive cancer — refer for diagnosis and staging'
when "Triage Is Indicated"
then 'Perform VIA triage assessment'
when "Proceed To Treatment"
then 'VIA positive — proceed to treatment eligibility assessment (see TreatmentDecision)'
when "Proceed To Follow Up Retest"
then 'VIA negative — schedule HPV DNA retest in '
+ ToString(Common."Post Triage Negative Retest Months")
+ ' months'
when not Common."Most Recent HPV Test Is Positive"
then 'No triage indicated — HPV test is not positive'
else 'Unable to determine triage recommendation'
end
/*
* @output String — triage status for downstream routing
*/
define "Triage Status":
case
when "Suspicious For Cancer" then 'refer-oncology'
when "Triage Is Indicated" then 'awaiting-triage'
when "Proceed To Treatment" then 'triage-positive'
when "Proceed To Follow Up Retest" then 'triage-negative'
when not Common."Most Recent HPV Test Is Positive" then 'not-indicated'
else 'unknown'
end
/*
* =============================================================================
* ALGORITHM EXTENSION POINTS
* =============================================================================
*
* The following definitions are stubs for future multi-algorithm support.
* Currently only Algorithm 5 (VIA triage) is implemented.
*
* Algorithm 4: HPV16/18 genotyping triage
* - Requires: HPV genotyping observation concepts
* - Logic: HPV16/18+ → treat directly; other HPV+ → VIA triage
*
* Algorithm 6: Colposcopy triage
* - Requires: Colposcopy finding observation concepts
* - Logic: CIN1+ → treat; normal colposcopy → retest at 12 months
*
* Algorithm 7: Cytology + colposcopy triage
* - Requires: Cytology result concepts (ASCUS, LSIL, HSIL+)
* - Logic: HSIL+ → colposcopy → CIN1+ → treat
*/
/*
* @output String — which triage algorithm is active
* @guidance Currently hardcoded to Algorithm 5; will be parameterized
* when multi-algorithm support is added
*/
define "Active Triage Algorithm":
'Algorithm 5 — HPV DNA + VIA Triage'
</code></pre></td></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><b>Content: </b> application/elm+json</th></tr>
<tr><td><pre><code>Encoded data (32196 characters)</code></pre></td></tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</text>
<url
value="https://hopenahealth.com/fhir/cervical-cancer-cds/Library/CervicalCancerTriageDecision"/>
<version value="0.1.0"/>
<name value="CervicalCancerTriageDecision"/>
<title value="Cervical Cancer Triage Decision Logic"/>
<status value="draft"/>
<experimental value="true"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2026-04-21T19:55:49+00:00"/>
<publisher value="Hopena Health"/>
<contact>
<name value="Hopena Health"/>
<telecom>
<system value="url"/>
<value value="https://hopenahealth.com"/>
</telecom>
</contact>
<contact>
<name value="Dan Heslinga"/>
<telecom>
<system value="url"/>
<value value="https://hopenahealth.com"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
</coding>
</jurisdiction>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Common"/>
<resource
value="https://hopenahealth.com/fhir/cervical-cancer-cds/Library/CervicalCancerScreeningCommon|0.1.0"/>
</relatedArtifact>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Triage Is Indicated"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Triage Has Been Performed"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="VIA Triage Is Positive"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="VIA Triage Is Negative"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Suspicious For Cancer"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Proceed To Treatment"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Proceed To Follow Up Retest"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Needs Referral"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Triage Recommended Action"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Triage Status"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Active Triage Algorithm"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<content>
<contentType value="text/cql"/>
<data
value="LyoKICogQ2VydmljYWxDYW5jZXJUcmlhZ2VEZWNpc2lvbgogKgogKiBUcmlhZ2UgcGF0aHdheSBsb2dpYyBmb3IgSFBWLXBvc2l0aXZlIHdvbWVuLCBpbXBsZW1lbnRpbmcKICogV0hPIGd1aWRlbGluZSBBbGdvcml0aG0gNSAoSFBWIEROQSArIFZJQSB0cmlhZ2UpIHdpdGgKICogZXh0ZW5zaW9uIHBvaW50cyBmb3IgQWxnb3JpdGhtcyAzLCA0LCA2LCA3LgogKgogKiBUaGlzIGxpYnJhcnkgZGV0ZXJtaW5lczoKICogICAtIFdoZXRoZXIgdHJpYWdlIGlzIGluZGljYXRlZAogKiAgIC0gVGhlIGFwcHJvcHJpYXRlIHRyaWFnZSBtZXRob2QgZm9yIHRoZSBhY3RpdmUgYWxnb3JpdGhtCiAqICAgLSBJbnRlcnByZXRhdGlvbiBvZiB0cmlhZ2UgcmVzdWx0cwogKiAgIC0gUm91dGluZyB0byB0cmVhdG1lbnQgdnMgZm9sbG93LXVwIHZzIHJlZmVycmFsCiAqCiAqIEFsZ29yaXRobSA1IGNhc2NhZGUgYWZ0ZXIgSFBWKzoKICogICBIUFYgcG9zaXRpdmUg4oaSIFZJQSB0cmlhZ2UKICogICAgIOKUnOKUgOKUgCBWSUEgcG9zaXRpdmUg4oaSIFRyZWF0ICjihpIgVHJlYXRtZW50RGVjaXNpb24pCiAqICAgICDilJzilIDilIAgVklBIG5lZ2F0aXZlIOKGkiBSZXRlc3QgYXQgMTIvMjQgbW9udGhzICjihpIgRm9sbG93VXBEZWNpc2lvbikKICogICAgIOKUlOKUgOKUgCBTdXNwaWNpb3VzIGZvciBjYW5jZXIg4oaSIFJlZmVyIHRvIG9uY29sb2d5CiAqCiAqIFdITyBSZWNvbW1lbmRhdGlvbnMgY292ZXJlZDoKICogICBHZW5lcmFsIHBvcHVsYXRpb246IDNiIChzY3JlZW4tdHJpYWdlLXRyZWF0KSwgMTEgKHBvc3QtdHJpYWdlLW5lZ2F0aXZlIHJldGVzdCkKICogICBXTEhJVjogMjIgKHRyaWFnZSByZWNvbW1lbmRlZCksIDIzIChzY3JlZW4tdHJpYWdlLXRyZWF0KSwgMzEgKHJldGVzdCB0aW1pbmcpCiAqCiAqIEBhdXRob3IgIERhbiBIZXNsaW5nYSAvIEhvcGVuYSBIZWFsdGgKICogQHZlcnNpb24gMC4xLjAKICogQGRhdGUgICAgMjAyNi0wMy0wOAogKi8KCmxpYnJhcnkgQ2VydmljYWxDYW5jZXJUcmlhZ2VEZWNpc2lvbiB2ZXJzaW9uICcwLjEuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIENlcnZpY2FsQ2FuY2VyU2NyZWVuaW5nQ29tbW9uIHZlcnNpb24gJzAuMS4wJyBjYWxsZWQgQ29tbW9uCgpjb250ZXh0IFBhdGllbnQKCi8qCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqIFRSSUFHRSBJTkRJQ0FUSU9OCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqCiAqIEBndWlkYW5jZSBUcmlhZ2UgaXMgaW5kaWNhdGVkIHdoZW4gdGhlIHByaW1hcnkgSFBWIEROQSB0ZXN0IGlzIHBvc2l0aXZlLgogKiAgICAgICAgICAgSW4gQWxnb3JpdGhtIDUsIFZJQSBpcyB0aGUgdHJpYWdlIG1ldGhvZC4KICogICAgICAgICAgIEluIHNjcmVlbi1hbmQtdHJlYXQgYXBwcm9hY2hlcyAoQWxnb3JpdGhtIDIpLCBWSUEgaXMgc3RpbGwgZG9uZQogKiAgICAgICAgICAgYnV0IGZvciB0cmVhdG1lbnQgbW9kYWxpdHkgc2VsZWN0aW9uIHJhdGhlciB0aGFuIHRyaWFnZS4KICovCgovKgogKiBAb3V0cHV0IEJvb2xlYW4g4oCUIHRydWUgaWYgdHJpYWdlIGlzIGluZGljYXRlZCAoSFBWKyB3aXRob3V0IHN1YnNlcXVlbnQgdHJpYWdlKQogKiBAcHNldWRvY29kZSBIUFYgdGVzdCBwb3NpdGl2ZSBBTkQgbm8gVklBIHJlc3VsdCBhZnRlciB0aGUgSFBWIHRlc3QKICovCmRlZmluZSAiVHJpYWdlIElzIEluZGljYXRlZCI6CiAgQ29tbW9uLiJNb3N0IFJlY2VudCBIUFYgVGVzdCBJcyBQb3NpdGl2ZSIKICAgIGFuZCAoCiAgICAgIG5vdCBleGlzdHMoQ29tbW9uLiJWSUEgU2NyZWVuaW5nIFJlc3VsdHMiKQogICAgICBvciBDb21tb24uIkRhdGUgT2YgTW9zdCBSZWNlbnQgVklBIiBiZWZvcmUgQ29tbW9uLiJEYXRlIE9mIE1vc3QgUmVjZW50IEhQViBUZXN0IgogICAgKQoKLyoKICogQG91dHB1dCBCb29sZWFuIOKAlCB0cnVlIGlmIHRyaWFnZSBoYXMgYmVlbiBwZXJmb3JtZWQgKFZJQSBkb25lIGFmdGVyIEhQVisgcmVzdWx0KQogKi8KZGVmaW5lICJUcmlhZ2UgSGFzIEJlZW4gUGVyZm9ybWVkIjoKICBDb21tb24uIk1vc3QgUmVjZW50IEhQViBUZXN0IElzIFBvc2l0aXZlIgogICAgYW5kIGV4aXN0cyhDb21tb24uIlZJQSBTY3JlZW5pbmcgUmVzdWx0cyIpCiAgICBhbmQgQ29tbW9uLiJEYXRlIE9mIE1vc3QgUmVjZW50IFZJQSIgb24gb3IgYWZ0ZXIgQ29tbW9uLiJEYXRlIE9mIE1vc3QgUmVjZW50IEhQViBUZXN0IgoKLyoKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogVFJJQUdFIFJFU1VMVCBJTlRFUlBSRVRBVElPTgogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKi8KCi8qCiAqIEBvdXRwdXQgQm9vbGVhbiDigJQgdHJ1ZSBpZiBWSUEgdHJpYWdlIHdhcyBwb3NpdGl2ZQogKiBAZ3VpZGFuY2UgVklBIHBvc2l0aXZlIOKGkiBwcm9jZWVkIHRvIHRyZWF0bWVudCBhc3Nlc3NtZW50CiAqLwpkZWZpbmUgIlZJQSBUcmlhZ2UgSXMgUG9zaXRpdmUiOgogICJUcmlhZ2UgSGFzIEJlZW4gUGVyZm9ybWVkIgogICAgYW5kIENvbW1vbi4iTW9zdCBSZWNlbnQgVklBIElzIFBvc2l0aXZlIgoKLyoKICogQG91dHB1dCBCb29sZWFuIOKAlCB0cnVlIGlmIFZJQSB0cmlhZ2Ugd2FzIG5lZ2F0aXZlCiAqIEBndWlkYW5jZSBWSUEgbmVnYXRpdmUg4oaSIHNjaGVkdWxlIGZvbGxvdy11cCBIUFYgcmV0ZXN0CiAqICAgICAgICAgICBHZW5lcmFsOiAyNCBtb250aHMgKFdITyBSZWMgMTEpCiAqICAgICAgICAgICBXTEhJVjogMTIgbW9udGhzIChXSE8gUmVjIDMxKQogKi8KZGVmaW5lICJWSUEgVHJpYWdlIElzIE5lZ2F0aXZlIjoKICAiVHJpYWdlIEhhcyBCZWVuIFBlcmZvcm1lZCIKICAgIGFuZCBub3QgQ29tbW9uLiJNb3N0IFJlY2VudCBWSUEgSXMgUG9zaXRpdmUiCgovKgogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKiBTVVNQSUNJT1VTIEZPUiBDQU5DRVIg4oCUIFJlZmVycmFsIHBhdGh3YXkKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogQGd1aWRhbmNlIEluIGFsbCBhbGdvcml0aG1zLCBpZiBWSUEgb3IgY29scG9zY29weSByZXZlYWxzIGZpbmRpbmdzCiAqICAgICAgICAgICBzdXNwaWNpb3VzIGZvciBpbnZhc2l2ZSBjYW5jZXIsIHRoZSBwYXRpZW50IG11c3QgYmUgcmVmZXJyZWQKICogICAgICAgICAgIGZvciBkZWZpbml0aXZlIGRpYWdub3NpcyBhbmQgc3RhZ2luZy4gVGhpcyBieXBhc3NlcyB0cmlhZ2UvdHJlYXRtZW50LgogKgogKiBOb3RlOiAiU3VzcGljaW91cyBmb3IgY2FuY2VyIiBpcyBhIGNsaW5pY2FsIGp1ZGdtZW50IGR1cmluZyBWSUEuIEluIE9wZW5NUlMsCiAqIHRoaXMgd291bGQgYmUgcmVjb3JkZWQgYXMgYSBzZXBhcmF0ZSBvYnNlcnZhdGlvbiBvciBhcyBhIHNwZWNpZmljIGNvZGVkIHZhbHVlCiAqIG9uIHRoZSBWSUEgcmVzdWx0LiBXZSBtb2RlbCBpdCBhcyBhIGRpc3RpbmN0IG9ic2VydmF0aW9uIGNvbmNlcHQuCiAqCiAqIENJRUwgY29uY2VwdCBuZWVkZWQgKG5vdCB5ZXQgbG9hZGVkKToKICogICAtIENJRUwgMTU5MzkzOiBDZXJ2aWNhbCBjYW5jZXIgc2NyZWVuaW5nIG91dGNvbWUKICogICAgIG9yIGEgY3VzdG9tIGNvbmNlcHQgZm9yICJzdXNwaWNpb3VzIGZvciBjYW5jZXIiIGZpbmRpbmcKICoKICogRm9yIG5vdywgd2UgY2hlY2sgZm9yIGFuIGFjdGl2ZSBjZXJ2aWNhbCBjYW5jZXIgY29uZGl0aW9uIGFzIGEgcHJveHkuCiAqIFdoZW4gdGhlIGNvbmNlcHQgaXMgbG9hZGVkLCB0aGlzIGRlZmluaXRpb24gd2lsbCBiZSB1cGRhdGVkIHRvIGNoZWNrCiAqIHRoZSBWSUEgb2JzZXJ2YXRpb24gdmFsdWUgZGlyZWN0bHkuCiAqLwoKLyoKICogQG91dHB1dCBCb29sZWFuIOKAlCB0cnVlIGlmIGZpbmRpbmdzIGFyZSBzdXNwaWNpb3VzIGZvciBjYW5jZXIKICogQHBzZXVkb2NvZGUgQ3VycmVudGx5IHVzZXMgY2VydmljYWwgY2FuY2VyIGRpYWdub3NpcyBhcyBwcm94eTsKICogICAgICAgICAgICAgd2lsbCBiZSByZWZpbmVkIHdoZW4gc3VzcGljaW91cy1mb3ItY2FuY2VyIG9ic2VydmF0aW9uIGNvbmNlcHQgaXMgbG9hZGVkCiAqLwpkZWZpbmUgIlN1c3BpY2lvdXMgRm9yIENhbmNlciI6CiAgQ29tbW9uLiJIYXMgQ2VydmljYWwgQ2FuY2VyIERpYWdub3NpcyIKCi8qCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqIFRSSUFHRSBST1VUSU5HIOKAlCBXaGVyZSBkb2VzIHRoZSBwYXRpZW50IGdvIG5leHQ/CiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqLwoKLyoKICogQG91dHB1dCBCb29sZWFuIOKAlCB0cnVlIGlmIHBhdGllbnQgc2hvdWxkIHByb2NlZWQgdG8gdHJlYXRtZW50IGFzc2Vzc21lbnQKICogQHBzZXVkb2NvZGUgVklBIHRyaWFnZSBwb3NpdGl2ZSBBTkQgbm90IHN1c3BpY2lvdXMgZm9yIGNhbmNlcgogKi8KZGVmaW5lICJQcm9jZWVkIFRvIFRyZWF0bWVudCI6CiAgIlZJQSBUcmlhZ2UgSXMgUG9zaXRpdmUiCiAgICBhbmQgbm90ICJTdXNwaWNpb3VzIEZvciBDYW5jZXIiCgovKgogKiBAb3V0cHV0IEJvb2xlYW4g4oCUIHRydWUgaWYgcGF0aWVudCBzaG91bGQgYmUgc2NoZWR1bGVkIGZvciBmb2xsb3ctdXAgcmV0ZXN0CiAqIEBwc2V1ZG9jb2RlIFZJQSB0cmlhZ2UgbmVnYXRpdmUgQU5EIG5vdCBzdXNwaWNpb3VzIGZvciBjYW5jZXIKICovCmRlZmluZSAiUHJvY2VlZCBUbyBGb2xsb3cgVXAgUmV0ZXN0IjoKICAiVklBIFRyaWFnZSBJcyBOZWdhdGl2ZSIKICAgIGFuZCBub3QgIlN1c3BpY2lvdXMgRm9yIENhbmNlciIKCi8qCiAqIEBvdXRwdXQgQm9vbGVhbiDigJQgdHJ1ZSBpZiBwYXRpZW50IG5lZWRzIG9uY29sb2d5IHJlZmVycmFsCiAqLwpkZWZpbmUgIk5lZWRzIFJlZmVycmFsIjoKICAiU3VzcGljaW91cyBGb3IgQ2FuY2VyIgoKLyoKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogUkVDT01NRU5ERUQgQUNUSU9OIOKAlCBUcmlhZ2Utc3BlY2lmaWMgZ3VpZGFuY2UKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICovCgovKgogKiBAb3V0cHV0IFN0cmluZyDigJQgdGhlIHJlY29tbWVuZGVkIHRyaWFnZSBhY3Rpb24KICovCmRlZmluZSAiVHJpYWdlIFJlY29tbWVuZGVkIEFjdGlvbiI6CiAgY2FzZQogICAgd2hlbiAiU3VzcGljaW91cyBGb3IgQ2FuY2VyIgogICAgICB0aGVuICdGaW5kaW5ncyBzdXNwaWNpb3VzIGZvciBpbnZhc2l2ZSBjYW5jZXIg4oCUIHJlZmVyIGZvciBkaWFnbm9zaXMgYW5kIHN0YWdpbmcnCgogICAgd2hlbiAiVHJpYWdlIElzIEluZGljYXRlZCIKICAgICAgdGhlbiAnUGVyZm9ybSBWSUEgdHJpYWdlIGFzc2Vzc21lbnQnCgogICAgd2hlbiAiUHJvY2VlZCBUbyBUcmVhdG1lbnQiCiAgICAgIHRoZW4gJ1ZJQSBwb3NpdGl2ZSDigJQgcHJvY2VlZCB0byB0cmVhdG1lbnQgZWxpZ2liaWxpdHkgYXNzZXNzbWVudCAoc2VlIFRyZWF0bWVudERlY2lzaW9uKScKCiAgICB3aGVuICJQcm9jZWVkIFRvIEZvbGxvdyBVcCBSZXRlc3QiCiAgICAgIHRoZW4gJ1ZJQSBuZWdhdGl2ZSDigJQgc2NoZWR1bGUgSFBWIEROQSByZXRlc3QgaW4gJwogICAgICAgICAgICsgVG9TdHJpbmcoQ29tbW9uLiJQb3N0IFRyaWFnZSBOZWdhdGl2ZSBSZXRlc3QgTW9udGhzIikKICAgICAgICAgICArICcgbW9udGhzJwoKICAgIHdoZW4gbm90IENvbW1vbi4iTW9zdCBSZWNlbnQgSFBWIFRlc3QgSXMgUG9zaXRpdmUiCiAgICAgIHRoZW4gJ05vIHRyaWFnZSBpbmRpY2F0ZWQg4oCUIEhQViB0ZXN0IGlzIG5vdCBwb3NpdGl2ZScKCiAgICBlbHNlICdVbmFibGUgdG8gZGV0ZXJtaW5lIHRyaWFnZSByZWNvbW1lbmRhdGlvbicKICBlbmQKCi8qCiAqIEBvdXRwdXQgU3RyaW5nIOKAlCB0cmlhZ2Ugc3RhdHVzIGZvciBkb3duc3RyZWFtIHJvdXRpbmcKICovCmRlZmluZSAiVHJpYWdlIFN0YXR1cyI6CiAgY2FzZQogICAgd2hlbiAiU3VzcGljaW91cyBGb3IgQ2FuY2VyIiB0aGVuICdyZWZlci1vbmNvbG9neScKICAgIHdoZW4gIlRyaWFnZSBJcyBJbmRpY2F0ZWQiIHRoZW4gJ2F3YWl0aW5nLXRyaWFnZScKICAgIHdoZW4gIlByb2NlZWQgVG8gVHJlYXRtZW50IiB0aGVuICd0cmlhZ2UtcG9zaXRpdmUnCiAgICB3aGVuICJQcm9jZWVkIFRvIEZvbGxvdyBVcCBSZXRlc3QiIHRoZW4gJ3RyaWFnZS1uZWdhdGl2ZScKICAgIHdoZW4gbm90IENvbW1vbi4iTW9zdCBSZWNlbnQgSFBWIFRlc3QgSXMgUG9zaXRpdmUiIHRoZW4gJ25vdC1pbmRpY2F0ZWQnCiAgICBlbHNlICd1bmtub3duJwogIGVuZAoKLyoKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogQUxHT1JJVEhNIEVYVEVOU0lPTiBQT0lOVFMKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogVGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBhcmUgc3R1YnMgZm9yIGZ1dHVyZSBtdWx0aS1hbGdvcml0aG0gc3VwcG9ydC4KICogQ3VycmVudGx5IG9ubHkgQWxnb3JpdGhtIDUgKFZJQSB0cmlhZ2UpIGlzIGltcGxlbWVudGVkLgogKgogKiBBbGdvcml0aG0gNDogSFBWMTYvMTggZ2Vub3R5cGluZyB0cmlhZ2UKICogICAtIFJlcXVpcmVzOiBIUFYgZ2Vub3R5cGluZyBvYnNlcnZhdGlvbiBjb25jZXB0cwogKiAgIC0gTG9naWM6IEhQVjE2LzE4KyDihpIgdHJlYXQgZGlyZWN0bHk7IG90aGVyIEhQVisg4oaSIFZJQSB0cmlhZ2UKICoKICogQWxnb3JpdGhtIDY6IENvbHBvc2NvcHkgdHJpYWdlCiAqICAgLSBSZXF1aXJlczogQ29scG9zY29weSBmaW5kaW5nIG9ic2VydmF0aW9uIGNvbmNlcHRzCiAqICAgLSBMb2dpYzogQ0lOMSsg4oaSIHRyZWF0OyBub3JtYWwgY29scG9zY29weSDihpIgcmV0ZXN0IGF0IDEyIG1vbnRocwogKgogKiBBbGdvcml0aG0gNzogQ3l0b2xvZ3kgKyBjb2xwb3Njb3B5IHRyaWFnZQogKiAgIC0gUmVxdWlyZXM6IEN5dG9sb2d5IHJlc3VsdCBjb25jZXB0cyAoQVNDVVMsIExTSUwsIEhTSUwrKQogKiAgIC0gTG9naWM6IEhTSUwrIOKGkiBjb2xwb3Njb3B5IOKGkiBDSU4xKyDihpIgdHJlYXQKICovCgovKgogKiBAb3V0cHV0IFN0cmluZyDigJQgd2hpY2ggdHJpYWdlIGFsZ29yaXRobSBpcyBhY3RpdmUKICogQGd1aWRhbmNlIEN1cnJlbnRseSBoYXJkY29kZWQgdG8gQWxnb3JpdGhtIDU7IHdpbGwgYmUgcGFyYW1ldGVyaXplZAogKiAgICAgICAgICAgd2hlbiBtdWx0aS1hbGdvcml0aG0gc3VwcG9ydCBpcyBhZGRlZAogKi8KZGVmaW5lICJBY3RpdmUgVHJpYWdlIEFsZ29yaXRobSI6CiAgJ0FsZ29yaXRobSA1IOKAlCBIUFYgRE5BICsgVklBIFRyaWFnZScK"/>
</content>
<content>
<contentType value="application/elm+json"/>
<data
value="ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAic2lnbmF0dXJlTGV2ZWwiIDogIk5vbmUiLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1JbmZvIgogICAgICB9LCB7CiAgICAgICAgICJtZXNzYWdlIiA6ICJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0sIHsKICAgICAgICAgIm1lc3NhZ2UiIDogIlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJtZXNzYWdlIiA6ICJUaGUgZnVuY3Rpb24gRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCBoYXMgbXVsdGlwbGUgb3ZlcmxvYWRzIGFuZCBkdWUgdG8gdGhlIFNpZ25hdHVyZUxldmVsIHNldHRpbmcgKE5vbmUpLCB0aGUgb3ZlcmxvYWQgc2lnbmF0dXJlIGlzIG5vdCBiZWluZyBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LiBUaGlzIG1heSByZXN1bHQgaW4gYW1iaWd1b3VzIGZ1bmN0aW9uIHJlc29sdXRpb24gYXQgcnVudGltZSwgY29uc2lkZXIgc2V0dGluZyB0aGUgU2lnbmF0dXJlTGV2ZWwgdG8gT3ZlcmxvYWRzIG9yIEFsbCB0byBlbnN1cmUgdGhhdCB0aGUgb3V0cHV0IGluY2x1ZGVzIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBjb3JyZWN0IG92ZXJsb2FkIHNlbGVjdGlvbiBhdCBydW50aW1lLiIsCiAgICAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwKICAgICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciLAogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIKICAgICAgfSwgewogICAgICAgICAibWVzc2FnZSIgOiAiQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiwKICAgICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLAogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIgogICAgICB9LCB7CiAgICAgICAgICJtZXNzYWdlIiA6ICJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iLAogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsCiAgICAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiCiAgICAgIH0gXSwKICAgICAgImlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogIkNlcnZpY2FsQ2FuY2VyVHJpYWdlRGVjaXNpb24iLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwczovL2hvcGVuYWhlYWx0aC5jb20vZmhpci9jZXJ2aWNhbC1jYW5jZXItY2RzIiwKICAgICAgICAgInZlcnNpb24iIDogIjAuMS4wIgogICAgICB9LAogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwKICAgICAgICAgInZlcnNpb24iIDogInIxIgogICAgICB9LAogICAgICAidXNpbmdzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwKICAgICAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjEuMC4wIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMxOjEtMzE6MjYiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSIiwKICAgICAgICAgICAgInVyaSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImluY2x1ZGVzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjMzOjEtMzM6MzUiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM0OjEtMzQ6NjciLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJDb21tb24iLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cHM6Ly9ob3BlbmFoZWFsdGguY29tL2ZoaXIvY2VydmljYWwtY2FuY2VyLWNkcy9DZXJ2aWNhbENhbmNlclNjcmVlbmluZ0NvbW1vbiIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjEuMCIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgImNvbnRleHRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM2OjEtMzY6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICB9IF0KICAgICAgfSwKICAgICAgInN0YXRlbWVudHMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMzY6MS0zNjoxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIzNjoxLTM2OjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAgICAiaW5jbHVkZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJjb2RlRmlsdGVyIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgImRhdGVGaWx0ZXIiIDogWyBdLAogICAgICAgICAgICAgICAgICAib3RoZXJGaWx0ZXIiIDogWyBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1MzoxLTU4OjUiLAogICAgICAgICAgICAibmFtZSIgOiAiVHJpYWdlIElzIEluZGljYXRlZCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjMtNTg6NSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU0OjMtNTQ6NDMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTW9zdCBSZWNlbnQgSFBWIFRlc3QgSXMgUG9zaXRpdmUiLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU1OjktNTg6NSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJPciIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNTY6Ny01Njo0OCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxMS01Njo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NjoxNy01Njo0OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJWSUEgU2NyZWVuaW5nIFJlc3VsdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1NzoxMC01Nzo4NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJCZWZvcmUiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjU3OjEwLTU3OjQxIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRhdGUgT2YgTW9zdCBSZWNlbnQgVklBIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI1Nzo1MC01Nzo4NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEYXRlIE9mIE1vc3QgUmVjZW50IEhQViBUZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjYzOjEtNjY6OTAiLAogICAgICAgICAgICAibmFtZSIgOiAiVHJpYWdlIEhhcyBCZWVuIFBlcmZvcm1lZCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY0OjMtNjY6OTAiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NDozLTY1OjQ2IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjQ6My02NDo0MyIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNb3N0IFJlY2VudCBIUFYgVGVzdCBJcyBQb3NpdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNjU6OS02NTo0NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeGlzdHMiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NToxNS02NTo0NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJWSUEgU2NyZWVuaW5nIFJlc3VsdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjktNjY6OTAiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU2FtZU9yQWZ0ZXIiLAogICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjktNjY6NDAiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGF0ZSBPZiBNb3N0IFJlY2VudCBWSUEiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjY2OjU0LTY2OjkwIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRhdGUgT2YgTW9zdCBSZWNlbnQgSFBWIFRlc3QiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3ODoxLTgwOjQ0IiwKICAgICAgICAgICAgIm5hbWUiIDogIlZJQSBUcmlhZ2UgSXMgUG9zaXRpdmUiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OTozLTgwOjQ0IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzk6My03OToyOSIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUcmlhZ2UgSGFzIEJlZW4gUGVyZm9ybWVkIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODA6OS04MDo0NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNb3N0IFJlY2VudCBWSUEgSXMgUG9zaXRpdmUiLAogICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjg4OjEtOTA6NDgiLAogICAgICAgICAgICAibmFtZSIgOiAiVklBIFRyaWFnZSBJcyBOZWdhdGl2ZSIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjg5OjMtOTA6NDgiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwKICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwKICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTozLTg5OjI5IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlRyaWFnZSBIYXMgQmVlbiBQZXJmb3JtZWQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDo5LTkwOjQ4IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkwOjEzLTkwOjQ4IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1vc3QgUmVjZW50IFZJQSBJcyBQb3NpdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6MS0xMjA6NDAiLAogICAgICAgICAgICAibmFtZSIgOiAiU3VzcGljaW91cyBGb3IgQ2FuY2VyIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIwOjMtMTIwOjQwIiwKICAgICAgICAgICAgICAgIm5hbWUiIDogIkhhcyBDZXJ2aWNhbCBDYW5jZXIgRGlhZ25vc2lzIiwKICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMjoxLTEzNDozNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcm9jZWVkIFRvIFRyZWF0bWVudCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzozLTEzNDozNSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbmQiLAogICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMzozLTEzMzoyNiIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJWSUEgVHJpYWdlIElzIFBvc2l0aXZlIiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTM0OjktMTM0OjM1IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzNDoxMy0xMzQ6MzUiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3VzcGljaW91cyBGb3IgQ2FuY2VyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDA6MS0xNDI6MzUiLAogICAgICAgICAgICAibmFtZSIgOiAiUHJvY2VlZCBUbyBGb2xsb3cgVXAgUmV0ZXN0IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQxOjMtMTQyOjM1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsCiAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQxOjMtMTQxOjI2IiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlZJQSBUcmlhZ2UgSXMgTmVnYXRpdmUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNDI6OS0xNDI6MzUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTm90IiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTQyOjEzLTE0MjozNSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTdXNwaWNpb3VzIEZvciBDYW5jZXIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0NzoxLTE0ODoyNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJOZWVkcyBSZWZlcnJhbCIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE0ODozLTE0ODoyNSIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJTdXNwaWNpb3VzIEZvciBDYW5jZXIiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2F0b3IiIDogIjE1OToxLTE3OTo1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlRyaWFnZSBSZWNvbW1lbmRlZCBBY3Rpb24iLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjA6My0xNzk6NSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDYXNlIiwKICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAiY2FzZUl0ZW0iIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjE6NS0xNjI6ODYiLAogICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2MToxMC0xNjE6MzIiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3VzcGljaW91cyBGb3IgQ2FuY2VyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTYyOjEyLTE2Mjo4NiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJGaW5kaW5ncyBzdXNwaWNpb3VzIGZvciBpbnZhc2l2ZSBjYW5jZXIg4oCUIHJlZmVyIGZvciBkaWFnbm9zaXMgYW5kIHN0YWdpbmciLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2NDo1LTE2NTo0MiIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY0OjEwLTE2NDozMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUcmlhZ2UgSXMgSW5kaWNhdGVkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY1OjEyLTE2NTo0MiIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJQZXJmb3JtIFZJQSB0cmlhZ2UgYXNzZXNzbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIiwKICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY3OjUtMTY4Ojk1IiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNjc6MTAtMTY3OjMxIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlByb2NlZWQgVG8gVHJlYXRtZW50IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTY4OjEyLTE2ODo5NSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJWSUEgcG9zaXRpdmUg4oCUIHByb2NlZWQgdG8gdHJlYXRtZW50IGVsaWdpYmlsaXR5IGFzc2Vzc21lbnQgKHNlZSBUcmVhdG1lbnREZWNpc2lvbikiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MDo1LTE3MzoyMiIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcwOjEwLTE3MDozOCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcm9jZWVkIFRvIEZvbGxvdyBVcCBSZXRlc3QiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAidGhlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MTItMTczOjIyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MTItMTcyOjY2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNvbmNhdGVuYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzE6MTItMTcxOjU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIlZJQSBuZWdhdGl2ZSDigJQgc2NoZWR1bGUgSFBWIEROQSByZXRlc3QgaW4gIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTcyOjE0LTE3Mjo2NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJUb1N0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3MjoyMy0xNzI6NjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUG9zdCBUcmlhZ2UgTmVnYXRpdmUgUmV0ZXN0IE1vbnRocyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ29tbW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTczOjE0LTE3MzoyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIgbW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc1OjUtMTc2OjU5IiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNzU6MTAtMTc1OjU0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5vdCIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE3NToxNC0xNzU6NTQiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTW9zdCBSZWNlbnQgSFBWIFRlc3QgSXMgUG9zaXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNvbW1vbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc2OjEyLTE3Njo1OSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJObyB0cmlhZ2UgaW5kaWNhdGVkIOKAlCBIUFYgdGVzdCBpcyBub3QgcG9zaXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImVsc2UiIDogewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTc4OjEwLTE3ODo1MiIsCiAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJVbmFibGUgdG8gZGV0ZXJtaW5lIHRyaWFnZSByZWNvbW1lbmRhdGlvbiIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODQ6MS0xOTI6NSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJUcmlhZ2UgU3RhdHVzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg1OjMtMTkyOjUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiQ2FzZSIsCiAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgImNhc2VJdGVtIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg2OjUtMTg2OjU0IiwKICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdLAogICAgICAgICAgICAgICAgICAid2hlbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODY6MTAtMTg2OjMyIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN1c3BpY2lvdXMgRm9yIENhbmNlciIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4NjozOS0xODY6NTQiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAicmVmZXItb25jb2xvZ3kiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4Nzo1LTE4Nzo1MyIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg3OjEwLTE4NzozMCIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUcmlhZ2UgSXMgSW5kaWNhdGVkIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg3OjM3LTE4Nzo1MyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJhd2FpdGluZy10cmlhZ2UiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4ODo1LTE4ODo1NCIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg4OjEwLTE4ODozMSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcm9jZWVkIFRvIFRyZWF0bWVudCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIiwKICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4ODozOC0xODg6NTQiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJpYWdlLXBvc2l0aXZlIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxODk6NS0xODk6NjEiLAogICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJ3aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE4OToxMC0xODk6MzgiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUHJvY2VlZCBUbyBGb2xsb3cgVXAgUmV0ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgInRoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTg5OjQ1LTE4OTo2MSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICJ0cmlhZ2UtbmVnYXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDo1LTE5MDo3NSIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgIndoZW4iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTkwOjEwLTE5MDo1NCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOb3QiLAogICAgICAgICAgICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTA6MTQtMTkwOjU0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1vc3QgUmVjZW50IEhQViBUZXN0IElzIFBvc2l0aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDb21tb24iLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJ0aGVuIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE5MDo2MS0xOTA6NzUiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAibm90LWluZGljYXRlZCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIiwKICAgICAgICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAiZWxzZSIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxOTE6MTAtMTkxOjE4IiwKICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAgICAidmFsdWUiIDogInVua25vd24iLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIsCiAgICAgICAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYXRvciIgOiAiMjIwOjEtMjIxOjM4IiwKICAgICAgICAgICAgIm5hbWUiIDogIkFjdGl2ZSBUcmlhZ2UgQWxnb3JpdGhtIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMjIxOjMtMjIxOjM4IiwKICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1TdHJpbmciLAogICAgICAgICAgICAgICAidmFsdWUiIDogIkFsZ29yaXRobSA1IOKAlCBIUFYgRE5BICsgVklBIFRyaWFnZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIiwKICAgICAgICAgICAgICAgImFubm90YXRpb24iIDogWyBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0KICAgfQp9"/>
</content>
</Library>